Job Title: Senior Software Engineer
We are seeking an experienced Java developer to lead complex projects in a fast-paced FinTech environment.
This role demands a developer proficient in both microservices and monolithic architectures, capable of driving high-performance applications.
The ideal candidate will have deep expertise in Spring Boot, containerization (Docker, Kubernetes), Jenkins for CI/CD, Git for version control, and agile methodologies such as Scrum.
Responsibilities:
* Lead the design, development, and maintenance of Java applications.
* Participate in the full software development lifecycle (design, coding, testing, deployment).
* Architect and implement complex solutions using Spring Boot, Spring Batch, and potentially Spring Security.
* Deploy and manage applications on cloud infrastructure.
* Implement and manage containerization using Docker and Kubernetes.
* Develop and maintain CI/CD pipelines using Jenkins.
* Utilise Git for version control and collaboration, and conduct code reviews.
* Work with databases (SQL and NoSQL), optimize queries for performance, and demonstrate a strong understanding of database concepts.
* Participate in Agile ceremonies (daily stand-ups, sprint planning, retrospectives).
* Mentor junior and mid-level developers and provide technical guidance.
* Contribute to system architecture and design decisions, and drive technical innovation.
* Troubleshoot and resolve complex technical issues, and provide root cause analysis.
Requirements:
* Extensive experience with Java programming principles and object-oriented design.
* Expertise in Spring Boot, Spring Security, and other Spring ecosystem components.
* Proven experience with both microservices and monolithic application development.
* Strong communication, collaboration, and leadership abilities.
* Strong understanding of cloud technologies.
* Hands-on experience with Docker and Kubernetes.
* Proficiency in designing and implementing RESTful APIs.
* Strong database skills (SQL and NoSQL) and experience with data modeling.
* Extensive experience with Git and CI/CD pipelines using Jenkins.
* In-depth knowledge of software development principles and best practices.
* Excellent problem-solving, debugging, and troubleshooting skills.
* Ability to quickly learn new technologies and adapt to changing priorities in a FinTech environment.
* Experience working in a Scrum Agile environment.
* Demonstrated adherence to coding standards and best practices.