Engineering
Java Developer Job Description
About the role
We are seeking a Java Developer to design and build the backend services that power our products. You will write clean, well-tested Java, work with frameworks like Spring Boot, and help scale systems that handle real production traffic and data. This role fits an engineer who values solid fundamentals, cares about maintainable code, and enjoys solving problems across APIs, databases, and distributed systems.
Key responsibilities
- Design and build backend services with Java and Spring Boot
- Write well-tested, maintainable, performant code
- Design and integrate APIs, databases, and messaging
Responsibilities
- Build RESTful and event-driven services using Spring Boot and the Spring ecosystem
- Design relational and non-relational schemas and write efficient queries with JPA and Hibernate
- Implement asynchronous processing with message brokers like Kafka or RabbitMQ
- Write unit and integration tests with JUnit, Mockito, and Testcontainers
- Profile and tune JVM performance, garbage collection, and memory usage
- Refactor legacy code and pay down technical debt without breaking behavior
- Containerize services with Docker and deploy through CI/CD pipelines
- Add observability with structured logging, metrics, and distributed tracing
- Enforce API contracts, versioning, and backward compatibility
- Review pull requests and mentor teammates on Java best practices
Requirements
- Bachelor's degree in computer science or equivalent practical experience
- 3 or more years building backend applications in Java
- Strong command of the Spring or Spring Boot framework
- Solid understanding of relational databases, ORMs, and SQL
- Experience designing and consuming REST APIs in production systems
Make this JD your own
Generate a tailored Java Developer description with your company details, tone and must-have skills in seconds.
Keep your hiring moving
Hiring a Java Developer?
Send one link. Candidates record answers on their own time and AI ranks your shortlist, no scheduling, no back-and-forth.