Job Description
Job Purpose
- The purpose of this role is to build and maintain efficient, reusable, and reliable Java code. The incumbent will deliver high-quality code that complies with design specifications, meets security and Java / JEE best practices and contribute to all phases of the software development lifecycle.
Responsibilities
- Design, build and maintain efficient, reusable, and reliable Java code
- Identify bottlenecks and bugs, and devise solutions to these problems
- Help maintain code quality, organization, and automatization
- Create the formal design documentation as required
- Contributing in all phases of the development lifecycle.
- Translate requirements and use cases into functional applications
- Develop code that complies with design specifications and meets security and Java/JEE best practices.
- Design, develop and maintain backend services with a focus on high availability, low latency and scalability.
- Conduct code reviews, as requested, to comply with coding standards
- Produce and maintain high-quality technical process documentation.
The Ideal Person
The ideal candidate must have:
- Minimum 5 years of professional Java development experience
- Solid understanding of object-oriented programming and design patterns
- Excellent knowledge of Relational Databases, SQL and ORM technologies
- Experience working with Hibernate, Oracle, and MySQL, PostgreSQL databases
- Experience with creating, managing and consuming RESTful APIs
- Experience working with Spring Framework
- Proficient understanding of code versioning tools, such as Git
- Experience with, or understanding of CI/CD, AWS infrastructure services, Docker.
- Familiarity with build tools such as Ant, Maven, and Gradle
- Experience with Automated quality assurance testing, jMeter, unit, and functional testing
- Experience developing, profiling, and troubleshooting Java application code and automated testing tools
- Knowledge and experience in EFK, Kafka, AWS Cloud environments, Docker containers
- Experience in containerization of Springboot microservices
- Financial Services or banking industry experience preferred