About the Role
We are seeking a skilled and motivated Java Software Engineer to design, develop, and maintain high-performance, scalable applications. The ideal candidate will have strong experience in backend development using Java technologies and will collaborate closely with cross-functional teams to deliver reliable and efficient software solutions.
This role requires strong problem-solving skills, clean coding practices, and experience working in agile development environments.
Key Responsibilities
- Design, develop, test, and maintain scalable Java-based applications.
- Write clean, efficient, and well-documented code following best practices.
- Develop RESTful APIs and backend services.
- Collaborate with frontend developers, DevOps engineers, QA teams, and product managers.
- Optimize application performance and ensure high availability.
- Troubleshoot, debug, and resolve production issues.
- Participate in code reviews and contribute to technical discussions.
- Implement security and data protection measures.
- Work in Agile/Scrum environments and contribute to sprint planning and estimations.
- Continuously improve system architecture and development processes.
Required Qualifications
- 3+ years of professional experience in Java development.
- Strong proficiency in Java (8/11/17+).
- Experience with Spring Framework (Spring Boot, Spring MVC, Spring Security).
- Experience building RESTful APIs and microservices.
- Knowledge of relational databases (MySQL, PostgreSQL, Oracle) and/or NoSQL databases.
- Familiarity with Hibernate/JPA.
- Understanding of object-oriented programming (OOP) and design patterns.
- Experience with Git and version control systems.
- Strong debugging and problem-solving skills.
Preferred Qualifications
- Experience with microservices architecture.
- Knowledge of Docker and Kubernetes.
- Familiarity with cloud platforms (AWS, Azure, or GCP).
- Experience with CI/CD pipelines.
- Exposure to messaging systems (Kafka, RabbitMQ).
- Understanding of test-driven development (TDD).
- Experience working in fast-paced or startup environments.
Nice to Have
- Experience with frontend technologies (React, Angular, or Vue).
- Knowledge of performance tuning and JVM optimization.
- Familiarity with distributed systems and event-driven architecture.