Backend Engineer
Responsibilities:
— Design, develop, and maintain robust, scalable, and maintainable services that meet business requirements and align with company standards
— Take end-to-end ownership of multiple domains, supporting them throughout their lifecycle (design, development, deployment, monitoring, maintenance)
— Investigate, resolve, and prevent production incidents to ensure minimal impact on users
— Collaborate with product managers, architects, and other developers to translate requirements into technical designs and deliver new features
— Drive improvements in development processes, code quality, testing practices, and system reliability
— Write clean, well-documented code and ensure proper test coverage (unit, integration, and functional)
— Actively contribute to the evolution of our microservice architecture while supporting existing systems
— Be an AI-first developer who actively builds and leverages agents to scale personal and team productivity
Requirements:
— 5+ years of professional experience in software development with Java
— Strong knowledge of Java Core (collections, multithreading, streams API) and Java 8+ features (lambdas, optionals, functional interfaces, records, etc.)
— Solid experience with the Spring stack: Spring Boot, Spring Cloud, Spring Data (JPA, JDBC)
— Proficiency in object-oriented design, design patterns, and software engineering best practices
— Hands-on experience with messaging systems like Apache Kafka
— Strong SQL knowledge, with experience in relational databases (e.g., MySQL/Postgresql)
— Experience writing and maintaining tests using JUnit, Mockito, Testcontainers, WireMock
— Familiarity with CI/CD tools such as TeamCity or Jenkins
— Strong troubleshooting and debugging skills, including working with monitoring and logging tools (Grafana/Prometheus, ELK)
— Willingness to participate in an on-call duty rotation to support production systems, ensuring timely response and resolution of critical incidents
— Excellent communication and collaboration skills, with the ability to work across teams
— Knowledge of microservice design principles and distributed systems
Nice to have:
— Experience with NoSQL databases (e.g., Redis, Aerospike)
— Knowledge of Docker and Kubernetes for containerized deployments