Java Developer - Hybrid
Job description
About the role
We are looking for a Java Developer to design, build, and scale backend services that power our products and internal platforms. You will work closely with product, design, and data to ship reliable features, improve performance, and raise our engineering bar. You will own the full lifecycle of service delivery from discovery through production support. Your work will focus on writing clean, maintainable, and well-tested code that improves reliability, security, and observability by design. You will contribute to technical design discussions and help define pragmatic architecture for our backend platforms.
Key facts
What you'll do
Design, implement, and maintain microservices and REST APIs with Spring Boot.
Write clean, maintainable, and well-tested code (JUnit 5, Mockito), and review peers' code for quality and clarity.
Model data and optimize queries in SQL (PostgreSQL/MySQL); leverage caching (e.g., Redis) for performance.
Build event-driven features using messaging (e.g., Kafka or RabbitMQ) where it fits the problem.
Instrument services with logs, metrics, and traces (OpenTelemetry/Prometheus/Grafana) and resolve production issues with data.
Apply secure-by-default practices (OAuth2/OIDC, secrets management, OWASP Top 10 mitigations).
Automate builds and releases via CI/CD (GitHub Actions/Jenkins/CircleCI); containerize with Docker and deploy to Kubernetes.
Partner with product and design to refine requirements and break down work into iterative deliveries.
Author and review concise technical design docs; participate in architecture discussions.
Take ownership of services in production, including participating in on-call rotations where applicable.
Requirements
Typically 3+ years of professional experience (or equivalent proficiency) building backend services with Java and Spring Boot.
Demonstrated experience owning services in production.
Proficiency in Java and the Spring ecosystem (Spring Boot, Spring Data, Spring Security).
Hands-on experience building and operating microservices and REST APIs in production.
Strong grasp of relational data modeling and SQL; familiarity with performance tuning.
Working knowledge of cloud platforms (AWS/GCP/Azure) and basic infrastructure concepts.
Confidence with Git workflows, code reviews, and trunk- or GitFlow-based development.
Solid testing practices: unit, integration, and contract testing; comfort with test automation.
Clear communication, collaborative approach, and a practical mindset focused on outcomes.
Nice to have
Event-driven architecture with Kafka; stream processing patterns.
Domain-driven design (DDD) and pragmatic service boundaries.
Deeper observability (SLOs, RED/Golden signals, alert design) and production readiness checklists.
Security fundamentals: OAuth2, JWT, mTLS, and dependency vulnerability management.
Kubernetes operations, Helm, and infrastructure-as-code (e.g., Terraform).
Experience with feature flags, gradual rollouts, and experimentation.
Exposure to GraphQL or gRPC; basic scripting in Python/Go for tooling.
Practical notes
Working hours aligned to [Time Zone/Region]. Some team ceremonies may fall within core hours.
Open to [Remote/Hybrid/Onsite].
What success looks like (30/60/90)
30 days: Local dev environment set up. Shipped a small change. Contributed to code reviews and on-call shadowing.
60 days: Delivered an end-to-end feature. Improved tests and observability for a service you touch.
90 days: Led a scoped design/RFC. Reduced toil or improved performance/reliability on a critical path.
Interview process
Recruiter screen (role fit, logistics).
Hiring manager conversation (experience, collaboration, delivery).
Technical deep dive (Java/Spring, APIs, data modeling).
Systems design interview (architecture, trade-offs, scalability).
Team panel and values interview.
Offer and references.
Equal opportunity
We're an equal opportunity employer. We welcome applicants from all backgrounds and do not discriminate on the basis of any protected characteristic. If you need a reasonable accommodation during the application or interview process, please let us know.
Compensation and benefits
Base salary range: Senior Level / $120-$150k.
Equity/bonus: [If applicable].
Benefits: [Healthcare, retirement, paid time off, parental leave, learning budget, home office stipend, etc.].
What you'll bring
Proficiency in Java and the Spring ecosystem (Spring Boot, Spring Data, Spring Security).
Hands-on experience building and operating microservices and REST APIs in production.
Strong grasp of relational data modeling and SQL; familiarity with performance tuning.
Working knowledge of cloud platforms (AWS/GCP/Azure) and basic infrastructure concepts.
Confidence with Git workflows, code reviews, and trunk- or GitFlow-based development.
Solid testing practices: unit, integration, and contract testing; comfort with test automation.
Clear communication, collaborative approach, and a practical mindset focused on outcomes.
How we work
Lightweight Agile with two-week sprints, async-friendly communication, and written decision records (RFCs).
Ship iteratively behind feature flags; measure impact and learn quickly.
Remote-friendly collaboration with clear ownership and frequent demos.
Qualifications
Typically 3+ years of professional experience (or equivalent proficiency) building backend services with Java and Spring Boot.
Demonstrated experience owning services in production.
Location and work arrangement
Open to [Remote/Hybrid/Onsite]. Working hours aligned to [Time Zone/Region]. Some team ceremonies may fall within core hours.
Equal opportunity
We're an equal opportunity employer. We welcome applicants from all backgrounds and do not discriminate on the basis of any protected characteristic. If you need a reasonable accommodation during the application or interview process, please let us know.
Compensation and benefits
Base salary range: Senior Level / $120-$150k.
Equity/bonus: [If applicable].
Benefits: [Healthcare, retirement, paid time off, parental leave, learning budget, home office stipend, etc.].
Interview process
Recruiter screen (role fit, logistics).
Hiring manager conversation (experience, collaboration, delivery).
Technical deep dive (Java/Spring, APIs, data modeling).
Systems design interview (architecture, trade-offs, scalability).
Team panel and values interview.
Offer and references.
What success looks like (30/60/90)
30 days: Local dev environment set up. Shipped a small change. Contributed to code reviews and on-call shadowing.
60 days: Delivered an end-to-end feature. Improved tests and observability for a service you touch.
90 days: Led a scoped design/RFC. Reduced toil or improved performance/reliability on a critical path.
How we work
Lightweight Agile with two-week sprints, async-friendly communication, and written decision records (RFCs).
Ship iteratively behind feature flags; measure impact and learn quickly.
Remote-friendly collaboration with clear ownership and frequent demos.
Nice to have
Event-driven architecture with Kafka; stream processing patterns.
Domain-driven design (DDD) and pragmatic service boundaries.
Deeper observability (SLOs, RED/Golden signals, alert design) and production readiness checklists.
Security fundamentals: OAuth2, JWT, mTLS, and dependency vulnerability management.
Kubernetes operations, Helm, and infrastructure-as-code (e.g., Terraform).
Experience with feature flags, gradual rollouts, and experimentation.
Exposure to GraphQL or gRPC; basic scripting in Python/Go for tooling.
Practical notes
Working hours aligned to [Time Zone/Region]. Some team ceremonies may fall within core hours.
Open to [Remote/Hybrid/Onsite].
What success looks like (30/60/90)
30 days: Local dev environment set up. Shipped a small change. Contributed to code reviews and on-call shadowing.
60 days: Delivered an end-to-end feature. Improved tests and observability for a service you touch.
90 days: Led a scoped design/RFC. Reduced toil or improved performance/reliability on a critical path.
Equal opportunity
We're an equal opportunity employer. We welcome applicants from all backgrounds and do not discriminate on the basis of any protected characteristic. If you need a reasonable accommodation during the application or interview process, please let us know.