- Work model
- Hybrid
- Experience
- 5+ years
- Employment
- Full Time
- Compensation
- Not disclosed
- Technology signal
- 7 tags
Technology context
7Parsed from the vacancy text; ordered by relevance to this role.
Full listing
Role description
ABOUT THE ROLE
In this role, you will contribute to the ongoing development of a distributed software product and deliver reliable back-end functionality across services and APIs. You will collaborate closely with senior engineers and technical leads, solve complex engineering challenges, and expand your expertise in Java, event-driven systems, and modern distributed architectures.
RESPONSIBILITIES
- Design and implement reliable features across back-end components, services, and APIs using Java and modern distributed architectures
- Develop event-driven and multi-threaded solutions within a microservices environment, considering concurrency, scalability, performance, and system reliability
- Apply effective upsert patterns and distributed data management practices, including strategies for maintaining consistency across multiple copies of data
- Produce disciplined, testable, and maintainable code through small meaningful commits, clear commit messages, and regular high-quality pull requests
- Evaluate the broader system impact of technical changes and balance immediate delivery needs with long-term architectural goals
- Participate in code and design reviews, provide constructive technical feedback, and collaborate with engineers on implementation decisions
- Investigate and resolve complex software issues, including debugging and troubleshooting in customer environments
- Contribute to backlog refinement, estimation, technical scoping, and the identification of dependencies and delivery risks
REQUIREMENTS
- 6+ years of professional software development experience using Java
- Experience with back-end development, services, APIs, and distributed software systems
- Knowledge of concurrency, multi-threaded programming, object-oriented programming, design patterns, and SOLID principles
- Experience with microservices, event-driven architectures, distributed data management, and data consistency approaches
- Strong background in writing clean, maintainable, and testable code supported by appropriate automated tests
- Understanding of software development practices, including version control, code reviews, pull requests, and incremental delivery
- Strong analytical and problem-solving skills for investigating complex issues across multiple system components
- Ability to balance long-term architectural considerations with short-term product and delivery priorities
- Intermediate English communication skills and willingness to learn Go, new technologies, programming languages, and products