Java Developer - Billing
About the Company
MANGO OFFICE is the leader in the Russian cloud communications market and is among the top 20 largest IT developers in Russia.
More than 1000 employees are developing a virtual PBX, contact center, speech analytics, robots, integrations, and other tools for sales and customer service. MANGO OFFICE products are used by Skyeng, Citimobil, VkusVill, AlfaStrakhovanie, SberMarket, and other companies.
We are modernizing our own billing platform and are looking for a lead Java developer to create new services, migrate business logic from a monolithic database, and improve the reliability of a critical system.
Role Objective
The MANGO OFFICE client base is growing, new products and integrations are appearing, and a significant portion of the billing logic has historically been concentrated in a monolithic database and stored procedures.
Currently, we are:
- creating a unified billing API;
- migrating business logic from the database to services;
- isolating independent subject areas;
- separating transactional and analytical loads;
- developing an event-driven architecture;
- increasing reliability and independence of releases.
The developer will work alongside a Technical Delivery Manager, a system analyst, architects, and database specialists.
We need an engineer who doesn't just execute ready-made tasks but independently understands the system, participates in solution design, and is responsible for the result until industrial launch.
Responsibilities
- Design and develop billing services in Java.
- Migrate business logic and stored procedures from the database to the application layer.
- Participate in defining service boundaries and contracts between them.
- Develop and evolve REST APIs.
- Transition consumers from direct database access to managed APIs and events.
- Work with financial and high-load transactional operations.
- Ensure data integrity, consistency, and correctness.
- Develop integrations via Kafka, RabbitMQ, or similar tools.
- Optimize application performance and database queries.
- Cover solutions with unit and integration tests.
- Participate in load testing and incident analysis.
- Develop monitoring, logging, metrics, and request tracing.
- Participate in the development of CI/CD and release automation.
- Work with Docker and Kubernetes.
- Support changes through to industrial operation.
Independent Development with AI
We are looking for a developer for whom AI tools have already become an integral part of engineering work. It is important to have real experience in independently developing projects or significant components using Kimi, Claude Code, ChatGPT, or similar tools.
By "such experience," we mean not just individual prompts and generating small code snippets, but the ability to use AI to complete a substantial part of the process: understand the task → design the solution → write code → create tests → debug → prepare documentation → bring the result to use.
AI will be used for:
- studying unfamiliar code and dependencies;
- designing services and contracts;
- writing and refactoring code;
- creating tests and test data;
- analyzing SQL and stored procedures;
- preparing migrations;
- finding error causes;
- documenting solutions;
- accelerating technical research.
At the same time, the developer must understand and verify the generated code, control the architecture, security, performance, and correctness of data operations.
Who We Are Looking For
- At least five years of industrial Java development experience.
- Proficient knowledge of Java and Spring Boot.
- Experience in developing microservices and REST APIs.
- Experience working with relational databases and SQL.
- Understanding of transactions and isolation levels.
- Experience with Kafka, RabbitMQ, or other message queues.
- Understanding of event-driven architecture principles.
- Experience in writing unit and integration tests.
- Experience with Docker and Kubernetes.
- Understanding of CI/CD.
- Experience in operating and diagnosing industrial systems.
- Ability to understand existing code and systems with incomplete documentation.
- Ability to independently design and implement solutions.
Mandatory AI Experience
- Regular use of AI tools in development.
- Experience in independently implementing a real project or a significant component primarily with the help of AI.
- Ability to manage project context and rules for AI tools.
- Ability to break down large tasks into verifiable steps.
- Ability to verify architecture and the correctness of generated code.
Bonus Points
- Experience with billing, telecom, fintech, or payment systems.
- Experience migrating stored procedures and business logic from a database to services.
- Experience in decomposing monolithic systems.
- Understanding of distributed transactions and data consistency.
- Experience with PostgreSQL.
- Experience with CDC and Debezium.
- Understanding the differences between OLTP and OLAP loads.
- Experience with OpenTelemetry, Prometheus, Grafana, and distributed tracing.
Expected Results in the First 6 Months
- The developer has delved into the architecture, data, and core billing processes.
- Participates in designing target services and integration contracts.
- One or more components have been migrated from monolithic logic to independent services.
- Testing, monitoring, and industrial operation have been set up for developed services.
- AI tools are systematically used to accelerate development without compromising quality.
Work Format
- Full-time employment.
- Work format is discussed individually.
Selection Stages
- Initial interview.
- Meeting with the Head of Department.
- Technical interview with architect and developers.
- Review of a completed project developed with active AI usage.
- Final meeting.
- Job offer.
What to Include in Your Cover Letter
Briefly describe:
- The most complex system or service you have developed.
- Experience with high loads, transactions, and databases.
- Whether you participated in monolith decomposition.
- Which project you independently implemented with active AI use.
- Which tools you used.
We look forward to your applications via tg @AlinaKharchenkoHR