Lead Software Engineer
About this position
Responsibilities
• Collaborate with business stakeholders to gather and understand system requirements.
• Conduct thorough analysis of business processes and user needs to formulate effective Java-based solutions.
• Design and architect Java-based systems, ensuring scalability, reliability, and performance.
• Develop system specifications, including flowcharts, diagrams, and documentation.
• Maintain comprehensive documentation of system designs, configurations, and changes.
• Exposure in DevOps toolchain and able to integrate with DevOps toolchain.
• Exposure in Docker, Kubernetes and Cloud platforms.
• Strong experience in reviewing code and investigating issues.
• Strong experience in performing root-cause analysis and preliminary problem diagnosis.
• Be a Thought Leader who has the capability to provide technical guidance for a team.
• Able to define the flow of data between the applications that must be integrated and map business process activities to the applications that support them.
Requirements
• Bachelor’s degree/Master’s degree in Computer Science, Computer Engineering or related fields.
• Banking business knowledge is an advantage.
• Strong proficiency in Java programming language and related frameworks (Spring, Hibernate, etc.).
• Experience of multiple frontend technologies like Angular, React, NodeJS, JavaScript etc.
• Very good understanding of Object-Oriented Design (OOD).
• Experience with test-driven development.
• Experience with databases (e.g. Microsoft SQL, Oracle).
• Experience working in Banking/ Financial Payment Service projects.
• Experience in working with and applying Design patterns to solve problems.
• Knowledge of API/microservices development.
• Knowledge of IT governance, IT Development and operations methods (e.g. SDLC, Agile, Scrum, DevOps).
• Knowledge OpenShift platform.
• Strong experience in performing root-cause analysis and preliminary problem diagnosis.
• Experience in Cloud Native development, docker, and kubernetes.