[Senior] Java Developer (Spring)

Executive recruitment firm Monroe Consulting Group Philippines is recruiting on behalf of a software development company. Our respected client is seeking a skilled and experienced Spring Java Developer (Mid-Senior). The job is located in Makati City, Metro Manila, Philippines but can offer a flexible or remote work setup.

Job Summary:

This role is focused on building, optimizing, and maintaining microservices-based applications using the Spring framework. The ideal candidate should have at least two years of experience working with microservices architecture and demonstrate proficiency in Spring IOC, Spring Boot, and database management with JPA and Hibernate. You will also be involved in ensuring high-quality code with test-driven development and play a key role in mentoring junior engineers. Those with seniority are expected to provide architectural insights and contribute to the overall design and optimization of the microservices solutions.

Key Job Responsibilities:

  • Design, develop, and maintain microservices-based applications using the Spring framework.
  • Implement Spring IOC (Inversion of Control) and manage the bean lifecycle including initialization, use, and destruction.
  • Configure Spring using Java-based and annotation-based configurations and manage dependency injection (constructor, property, field injection).
  • Handle Spring Bean scopes (singleton, prototype, request, etc.) and ensure proper usage.
  • Apply Spring Transactional and caching mechanisms (e.g., @Cacheable) to ensure efficient performance.
  • Optimize the mapping between object models and relational models using JPA & Hibernate.
  • Work on database performance optimization, including fixing bottlenecks and optimizing persistence contexts.
  • Manage Spring Security configurations, particularly the OAuth2 variant, and use Spring Integration for system integration.
  • Perform unit and integration testing using Spring utilities and ensure high-quality, maintainable code through test-driven development (TDD).
  • Handle data access exceptions in Spring and optimize Spring AMQP for messaging between microservices.
  • Collaborate with team members to conduct code reviews, provide feedback, and mentor junior engineers.
  • Contribute to the design and architecture of microservices solutions and ensure alignment with best practices.


Key Job Qualifications:

  • 2+ years of experience working on microservices projects with the Spring framework.
  • Strong proficiency in Spring IOC, including the bean lifecycle (initialization, use, destruction) and dependency injection.
  • Experience with Spring Boot (testing, application configuration, embedded servers) and Spring Data JPA.
  • Deep knowledge of OOP principles, Spring Security (OAuth2 variant), and Spring AMQP.
  • Strong working knowledge of JPA, Hibernate, and SQL, including database migration, concurrency management (pessimistic concurrency), and data modeling.
  • Proven experience optimizing persistence, identifying bottlenecks, and implementing performance optimizations in databases.
  • Solid understanding of transaction management, caching mechanisms, and handling Spring Data Access Exceptions.
  • Familiarity with Proxy design patterns in Spring (AOP, transactions, security) and Spring Expression Language (SpEL).
  • Strong problem-solving skills and the ability to collaborate in a team environment.

Nice to Have:

  • Experience with JAX-RS, JWT, Docker, Kubernetes, and AWS.
  • Knowledge of Spring Integration and Spring Unit & Integration Testing.
  • Familiarity with database migration tools.

Senior-level expectations:

  • Strong architectural design sense, especially for microservices solutions.
  • Excellent problem-solving skills and the ability to mentor junior developers.
  • Strong skills in code review and giving constructive feedback.