Senior Java Developer | IT Recruitment
Develop, maintain and support mission-critical, enterprise-grade software applications that improve business efficiency and are aligned to the enterprise architecture and business strategy.
- Senior Java Developer
- Java Developer
- Software Development
- Back end
- Back End Development
Experience and Qualifications
- 5-7 years’ intermediate/senior java development experience
- Relevant IT qualification
- Relevant post graduate IT qualification
- 5years Software Development experience in a distributed computing environment using Java.
- Solid (Java) back-end development experience.
- Containerisation understanding and experience advantageous (Openshift).
- Advanced understanding and everyday use of OO principles such as inheritance, interfaces, abstract lasses, etc.
- Good systems and code design skills including good documentations skills where necessary.
- Working knowledge of spring framework, architectural and development best practices (e.g. SOA, dependency injection, ORM, EJB3, JPA etc.) as well as J2EE application server environment will be an added advantage.
- Understanding and experience with micro-services.
- Strong knowledge of REST API designs.
- JBPM experience advantageous.
- Strong knowledge with CI/CD principles.
- Experience with Apache Camel.
- GIT Lab experience.
- Strong Linux experience advantageous
Responsibilities and work outputs
- Develop software based on technical design (Internal Process)
- Keep abreast of new technologies/methodologies, business changes and internal system changes in order to align system development with best practices and system architecture
- Collaborate with stakeholders to gather requirements, conduct analysis and prioritise requests
- Contribute to the design of scalable solutions that supports the system architecture
- Translate business requirements into workable solutions and document solution into technical specifications
- Design and code new software functionality using codes that is scalable, readable, maintainable and re-usable
- Develop and maintain productive working relationships with peers and organisational role players to achieve effective collaboration
- Provide stakeholder with regular feedback on the technical design and timelines for solution in order to manage expectations
- Collaborate with business analysts and testing team in developing, testing and deploying new software system components or software system enhancements
- Collaborate with testing team to co-create test cases
- Conduct System Integration Testing (SIT) and User Acceptance Testing (UAT) and resolve all issues/queries.
- Contribute to user acceptance testing (UAT) and training material.
- Once the solution has been successfully tested, prepare and produce releases of software components into production/live environment.
- Support continuous improvement by investigating alternatives and technologies and presenting these for architectural review.
- Maintain existing programmes, ensuring all errors are resolved and documented.
- Advise and guide colleagues regarding effective business system analysis approaches and techniques
- Review and quality assure deliverables of junior team members in accordance with IT Strategy, architecture and best practice.
- Mentor team members and provide insight to effective and efficient Java development practices.
- Design solutions that eliminate reoccurrence of errors.
- Provide technical guidance to the operations and support team.
- Monitor performance of solutions and make recommendations to improve the performance and functionality of the solution.
- Engage with clients in a client centric manner(Client Services)
- Provide authoritative, expertise and advice to clients and stakeholders
- Build and maintain relationships with clients and internal and external stakeholders
- Deliver on service level agreements made with clients and internal and external stakeholders in order to ensure that client expectations are managed
- Make recommendations to improve client service and fair treatment of clients within area of responsibility
- Participate and contribute to a culture which builds rewarding relationships, facilitates feedback and provides exceptional client service Self-management and teamwork (People)
- Develop and maintain productive and collaborative working relationships with peers and stakeholders
- Positively influence and participate in change initiatives
- Continuously develop own expertise in terms of professional, industry and legislation knowledge
- Contribute to continuous innovation through the development, sharing and implementation of new ideas
- Take ownership for driving career development Contribute to financial controls and planning (Finance)
- Identify solutions to enhance cost effectiveness and increase operational efficiency
- Manage financial and other company resources under your control with due respect
- Provide input into the risk identification processes and communicate recommendations in the appropriate forum.
- Examining Information
- Articulating Information
- Managing Tasks
- Interpreting Data
- Challenging Ideas
- Producing Output
- Developing Expertise
- Team Working