Collaborate with stakeholders to analyze requirements, translating them into business objectives and system features.
Carry out project planning (work breakdown structure and estimate project task timelines).
Write well-structured, testable code, and oversee all stages of Java application development.
Design and implement solutions for all challenges identified on existing systems.
Identify and resolve technical issues, implement proposed enhancements to the existing system and upgrade or rewrite existing systems with current technology stacks.
Write release notes.
Write API documentation.
Document reusable code functionality guide.
Requirements:
Bachelor's or master's degree in software engineering, computer science, or a related field.
3 - 5 years of hands-on experience in Java development, with strong proficiency in core Java.
Skills:
Spring MVC, Spring Boot, Spring Cloud, JBoss - rest easy.
Experience with relational databases and ORM technologies including JPA2 and Hibernate.
Knowledge of or experience with DevOps practices and tools (e.g., Docker, CI/CD pipelines).
Knowledge of cloud platforms (e.g., AWS, Azure).
Strong analytical and problem-solving skills, with the ability to troubleshoot complex issues effectively.
Familiarity with Agile or Scrum methodologies and strong teamwork capabilities.
Work closely with cross-functional teams, including BAs, DBAs, QA, DevOps, UX/UI, etc. to deliver integrated solutions.
Provide mentorship to juniors on the whole spectrum of software development methodologies, tools, technologies, and best practices.
Research the best frameworks, tools, and technologies in line with current trends.
Preference will be given but not limited to candidates in reference to the Employment Equity Act (EEA) of South Africa.