freehire launches on Product Hunt on 26 August.

Follow →

Back-end Software Engineer

Summary

Designs and builds backend services, REST APIs, and AI integrations for product features using Java, Spring Boot, and PostgreSQL, while occasionally contributing to React frontend work.

About the Role
We're looking for a Backend Developer to design and build the backend of our products — REST APIs, services, and AI integrations from data model to production. You'll own features end-to-end, contribute to architectural decisions, and occasionally jump into the React frontend when it makes sense.

What You'll Do
Design, build, and maintain backend services and REST APIs for our products – from data model through to production.
Integrate AI / LLMs into product features.
Design and implement clean, well-documented REST APIs (contract-first where it fits).
Write maintainable, testable code with strong unit and integration test coverage.
Take part in code reviews, both giving and receiving constructive feedback.
Collaborate closely with product managers, designers, frontend engineers, and QA in an Agile team.
Investigate and resolve bugs, and help improve performance and reliability.
Contribute to technical and architectural decisions.
(A plus) Occasionally contribute to the React frontend when a feature spans the stack.

What We're Looking For
Must-have (backend):
3+ years of commercial backend development experience in Java.
Strong Java Core; hands-on experience with Spring Boot (Spring MVC, Spring Data JPA, Hibernate), Spring Security, and Spring AOP.
Familiarity with MapStruct for entity-to-DTO mapping and Lombok.
Practical experience designing and consuming RESTful services.
Good SQL skills with a relational database (PostgreSQL); schema migrations with Flyway.
Understanding of OAuth2 / JWT-based authentication and role-based access control.
Comfortable with Docker and Docker Compose.
Confident with Git and a standard branching workflow; familiarity with Gradle.
Experience writing unit and integration tests (JUnit, Testcontainers).
Genuine interest in integrating AI / LLMs into product features.
Solid understanding of OOP, web fundamentals, and clean-code principles.
English at Upper-Intermediate (B2) level — able to communicate in writing and on calls.

A big advantage:
Frontend experience with React — JavaScript/TypeScript, HTML, CSS/SCSS, and the modern React ecosystem: client state (Zustand), server state / data fetching (TanStack Query), routing (React Router), and a modern build tool (Vite).
Hands-on experience integrating AI / LLMs into real product features.
Contract-first / OpenAPI workflow — OpenAPI 3 with code generation (openapi-generator).
Experience integrating an identity provider such as Keycloak.
AWS exposure (EC2, RDS, CloudWatch) and structured (JSON) logging.
End-to-end testing with Playwright.