What you will do
- Design, build, and maintain scalable backend services using Java, Kotlin, Spring Boot, and Spring Batch, with a strong focus on reliability, performance, and maintainability;
- Develop and evolve REST and GraphQL APIs that support both internal services and customer-facing products;
- Build, optimize, and maintain batch processing pipelines for data-intensive workflows, including ingestion, enrichment, and scheduled processing jobs;
- Leverage LLM-powered coding assistants to accelerate development while applying engineering judgment to review, validate, and refine AI-generated code;
- Evaluate technical tradeoffs across performance, scalability, maintainability, and delivery speed within established engineering standards and practices;
- Participate in code reviews, on-call rotations, incident response, and continuous improvement initiatives;
- Collaborate with Product Managers, Architects, and fellow Engineers to define requirements, estimate work, and deliver high-quality solutions;
- Contribute to system reliability, observability, and operational excellence across backend services.
Must haves
- 3+ years of professional backend engineering experience using Java and Kotlin;
- Hands-on production experience with Spring Boot and Spring Batch or equivalent JVM-based batch processing frameworks;
- Strong understanding of REST API design, development, and best practices;
- Experience building and/or consuming GraphQL APIs;
- Strong experience using LLM-based coding assistants as part of day-to-day software development workflows;
- Demonstrated ability to discuss practical, real-world usage of AI coding tools, including accelerating development workflows, improving productivity and code quality, validating AI-generated outputs, and applying engineering judgment to determine when to trust, modify, or reject generated code;
- Solid understanding of relational and/or NoSQL databases;
- Experience working with asynchronous messaging systems such as Kafka or similar technologies;
- Strong knowledge of distributed systems fundamentals;
- Ability to work independently, take ownership of assigned initiatives, and deliver high-quality solutions with minimal supervision;
- Upper-intermediate English level.
Nice to haves
- Experience operating and supporting large-scale services handling millions of requests per day;
- Exposure to GraphQL Federation frameworks such as Apollo Federation;
- Experience with observability and monitoring platforms such as Datadog, OpenTelemetry, or Prometheus;
- Familiarity with CI/CD pipelines and modern software delivery practices;
- Experience with containerization technologies such as Docker and Kubernetes;
- Exposure to cloud-based infrastructure and platforms.
We are looking for a Backend Engineer to design and maintain scalable backend services powering experiences for hundreds of millions of job seekers and employers globally. You will build REST and GraphQL APIs, develop batch processing pipelines, and work across Java, Kotlin, Spring Boot, and Kafka in a distributed, high-throughput environment. The role expects active use of AI coding assistants — including Cursor, Claude Code, or GitHub Copilot — as a core part of the daily engineering workflow.
About the role
The benefits of joining us
Professional growth
Accelerate your professional journey with mentorship, TechTalks, and personalized growth roadmaps
Competitive compensation
We match your ever-growing skills, talent, and contributions with competitive USD-based compensation and budgets for education, fitness, and team activities
A selection of exciting projects
Join projects with modern solutions development and top-tier clients that include Fortune 500 enterprises and leading product brands
Flextime
Tailor your schedule for an optimal work-life balance, by having the options of working from home and going to the office – whatever makes you the happiest and most productive.
Your AgileEngine journey starts here
2 min
Tell us about yourself
2 sec
Confirm requirements
30 - 60 min
Pass a short test
5 min
Record a short video
→ Introduce yourself on a video, instead of waiting for an interview
Live interview
Ace the technical interview with our team
→ Schedule a call yourself right away after your video is reviewed
Live interview
Final interview with your team
→ Get to know the team you will be working with
Get an offer
As quick as possible
