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
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 (Apache Kafka)
Strong SQL knowledge, with experience in relational databases (e.g., SingleStore, Vertica)
Experience writing and maintaining tests using JUnit, Mockito, Testcontainers, WireMock, Spring Test
Familiarity with CI/CD tools such as TeamCity or Jenkins
Strong troubleshooting and debugging skills, including working with monitoring and logging tools (Grafana, Kibana)
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
Nice to have:
Experience with NoSQL databases (e.g., Redis, Aerospike)
Hands-on experience with Apache Spark, Apache Airflow, or data processing pipelines
Knowledge of Docker and Kubernetes for containerized deployments
Familiarity with data lake technologies (Iceberg/Hive)
Basic Python scripting for automation and data handling
Knowledge of microservice design principles and distributed systems