This role requires a collaborative mindset, a sharp eye for detail, and an interest in developing high-quality, scalable, and maintainable software systems.
________________________________________
Key Responsibilities
- Design, develop, test, and maintain high-performance, reusable Java applications.
- Build and consume RESTful APIs to enable backend-to-frontend integration
- Apply object-oriented programming principles, design patterns, and clean code techniques.
- Build automated unit and integration tests using JUnit and Mockito.
- Develop and maintain frontend components using React JS, JavaScript, and related technologies.
- Analyze requirements and propose effective technical solutions considering functional and non-functional requirements.
- Participate in the full software development lifecycle (SDLC), including design, implementation, testing, deployment, and support.
- Collaborate with DevOps and QA teams to ensure seamless integration, deployment, and operation.
- Develop and optimize SQL queries for relational databases like DB2 or Oracle.
- Work with messaging systems such as RabbitMQ; IBM MQ experience is a plus.
- Use tools such as Git, Maven, Jenkins, and Docker in daily development and deployment workflows.
- Write and maintain documentation of software components and code.
- Conduct and participate in peer code reviews and design discussions.
- Ensure performance, security, and availability of applications.
- Apply software design standards, guidelines, and design patterns.
- Identify and address technical risks and issues; propose and implement practical solutions.
- Maintain a proactive attitude toward learning and adopting new tools and frameworks.
________________________________________
Required Skills and Qualifications
- Degree in Computer Science, Engineering, or a related field, or equivalent professional IT qualification.
- Proven experience in Java development, preferably with Java 8 or higher.
- Strong knowledge of Spring Framework, Spring Boot, Junit, and Mockito.
- Demonstrated experience in frontend development using React JS and JavaScript.
- Hands-on experience with relational databases (DB2 or Oracle).
- Solid understanding of RESTful API design and implementation.
- Familiarity with RabbitMQ, XML/XSD, Git, Maven, Docker, and Jenkins.
- Knowledge of software design principles, OOP, and design patterns.
- Broad experience in IT projects and an understanding of enterprise systems architecture.
- Good understanding of software development processes, CI/CD
- Awareness of DevOps tools/practices is beneficial.
- Ability to write clean, testable, maintainable, and efficient code.
- Strong problem-solving, analytical, and debugging skills.
- Attention to detail with a commitment to producing high-quality results.
- Effective communication and collaboration skills, including code reviews and knowledge sharing.
________________________________________
Nice to have
- Exposure to Apache Camel or other integration frameworks.
- Experience working in Banking or Payments industry