Description
We are seeking a skilled Software Engineer - JAVA to join our team. As a Software Engineer, you will design, develop, and improve software, utilizing various engineering methodologies, that provides business, platform, and technology capabilities for our customers and colleagues.
Key Responsibilities
- Design, develop, test, and deploy backend services and APIs using Java and Spring Boot.
- Build scalable, secure, and high-performance microservices.
- Collaborate with product managers, architects, and other developers to translate business requirements into technical solutions.
- Implement coding best practices, including clean code, modular design, and unit testing.
- Integrate with relational and NoSQL databases.
- Participate in code reviews, provide mentorship, and contribute to continuous improvement.
- Troubleshoot production issues and perform root-cause analysis.
- Work in an Agile environment with CI/CD pipelines and DevOps practices.
Requirements
- Bachelor’s degree in Computer Science, Engineering, or related field.
- Hands-on experience in Java backend development.
- Strong proficiency in Java (8 or above), Spring Boot, Spring MVC, Spring Data, Spring Security.
- Experience with relational databases (MySQL, PostgreSQL, Oracle) and ORM tools (JPA/Hibernate).
- Knowledge of build tools such as Maven or Gradle.
- Familiarity with version control (Git) and CI/CD tools (Jenkins, GitHub Actions, or similar).
- Exposure to migrating legacy platforms to modern stack.
Nice to Have
- Knowledge of Cloud platforms such as AWS, Azure, or GCP.
- Experience with Containerization technologies like Docker and Kubernetes.
- Understanding of microservices architecture patterns.
- Exposure to messaging systems (Kafka, RabbitMQ).
- Experience with monitoring tools (Prometheus, Grafana, ELK, Splunk).
- Knowledge of test automation frameworks (JUnit, Mockito).