Job description
A leading organization is hiring a java microservices engineer to support a long-term modernization program rebuilding an underwriting and pricing platform. The engineering work centers on transitioning existing python-based services to java using spring boot, decomposing monolithic logic into modular services, and integrating services across multiple data ecosystems. The environment is remote, with working hours aligned to central time.
The java microservices engineer will design and build backend services that support pricing, revenue, and rebate capabilities, with a focus on scalability, performance, and maintainability. This position favors strong engineering skill and independent ownership over a specific number of years of experience.
Responsibilities
- Design, build, and maintain java-based microservices using spring boot
- Convert and migrate existing python services into java as part of a broader platform transition
- Decompose monolithic business logic into modular, callable backend services
- Develop backend services supporting pricing, revenue, and rebate capabilities
- Build and maintain data-access patterns with strong sql usage for service and platform needs
- Collaborate with engineering and architecture partners on service boundaries, integration patterns, and platform design
- Integrate services with multiple data ecosystems, including platforms referenced in the current environment
- Ensure services meet expectations for scalability, performance, reliability, and long-term maintainability
- Operate effectively in evolving architecture and shifting requirements, driving work forward with high ownership
Required experience and skills
- Strong expertise in java
- Hands-on experience building microservices with spring boot
- Strong sql skills
- Deep understanding of microservices architecture and backend service design
- Experience designing and building scalable backend systems
- Ability to work independently, own complex systems, and deliver in ambiguous environments
- Availability to work central time hours in a remote environment
Preferred qualifications
- Experience with python (to support migration activities)
- Exposure to StarRocks
- Exposure to Apache Iceberg
- Exposure to the Azure ecosystem
- Familiarity with security and authentication patterns such as OAuth2 and service-to-service authentication
- Experience with Airflow
FAQ
1. What are the primary responsibilities of a Java Microservices Engineer?
A Java Microservices Engineer designs, develops, and maintains backend services using a microservices architecture. The role involves building independent, scalable services that communicate via APIs or messaging systems. Ensuring performance, resilience, and maintainability across distributed systems is a key focus.
2. Which frameworks and technologies are commonly used in this role?
Engineers typically use Spring Boot and Spring Cloud to develop microservices. Supporting technologies include REST APIs, Kafka or RabbitMQ for messaging, and tools like Docker and Kubernetes for containerization and orchestration. Familiarity with cloud platforms is also important.
3. How are microservices designed and structured?
Microservices are designed as loosely coupled, independently deployable units with clearly defined responsibilities. Each service typically manages its own data and communicates through APIs or events. This approach improves scalability, flexibility, and fault isolation.
4. What role do APIs play in this position?
APIs are central to enabling communication between microservices and external systems. The engineer ensures APIs are secure, versioned, and well-documented. API gateways are often used to manage traffic, authentication, and routing.
5. How is data managed across microservices?
Each microservice often has its own database to maintain independence and scalability. Data consistency is managed through patterns like eventual consistency and event-driven architecture. Proper data design is critical for system performance.
6. How is system reliability ensured in a distributed architecture?
Reliability is maintained through monitoring, logging, and implementing resilience patterns such as retries, circuit breakers, and load balancing. Automated testing and performance tuning are also essential. Observability tools help detect and resolve issues quickly.
7. What challenges are common in this role?
Challenges include managing service communication, debugging distributed systems, and ensuring data consistency. Handling scaling and deployment across environments can also be complex. Strong problem-solving skills are required.
Apply for this position
**If you have already submitted your resume for another Job Opening please do not re-apply to a different role. You can email through Contact Us about your interest in other roles.