Technical Delivery Manager - Billing
About the company
MANGO OFFICE has been a leader in the Russian cloud communications market since 2001 and is among the top 20 largest IT developers in Russia.
The company employs over 1000 people and has branches in 18 cities. MANGO OFFICE products are used by Skyeng, Citymobil, VkusVill, AlfaStrakhovanie, SberMarket, and other companies.
We are developing a business communications platform for sales, support, and contact centers. It is based on a virtual PBX, an omnichannel contact center, speech analytics, bots, integrations, messengers, and our own billing platform.
We are currently looking for a Technical Delivery Manager to take charge of the technical modernization program for billing and help make one of the company's key systems more reliable, scalable, and convenient for development.
Why this role emerged
MANGO OFFICE's client base is growing by approximately 15% per year. Simultaneously, the number of products, integrations, and business operations using billing is increasing.
Historically, a significant portion of the logic is concentrated in a monolithic database. Transactional operations, reporting, CDR processing, mass invoicing, and external system requests compete for the same resources.
This creates systemic limitations:
- peak loads on databases;
- prolonged locks and increased response times;
- complex and risky releases;
- high coupling of applications and teams;
- inability to independently scale individual functions;
- limitations when working with large clients;
- dependence of business logic on stored procedures;
- lack of a full-fledged pre-production environment for load testing;
- risk of cascading failures with uncontrolled consumer requests.
To address these issues, a program to improve billing reliability has been launched. It includes the introduction of a unified API, a gradual transition to a microservice architecture, separation of transactional and analytical loads, development of an event-driven model, and improvement of release quality.
We need a leader who can transform the architectural direction into a consistent and predictable implementation program.
The main task of the role
To ensure manageable technical modernization of billing without compromising the stability of current business processes.
It is necessary to combine architecture, development, databases, infrastructure, testing, and business needs into a single plan:
define priority problems → form a technical plan → distribute responsibility among teams → manage dependencies and risks → ensure delivery of changes → confirm the effect through technical and business metrics.
This is not a task administrator role, nor is it classic support for a ready-made plan. The Technical Delivery Manager will participate in program formation, influence the order of architectural changes, and be responsible for achieving results across multiple teams.
Main program directions
Unified Billing API
- Creation of a single, manageable access point to billing functions.
- Transitioning internal consumers from direct database access to the API.
- Implementation of request rate limiting and load management.
- Application of protection mechanisms against cascading failures.
- Centralization of authorization, auditing, and request monitoring.
- Increased load transparency for each consumer.
Service Extraction and Domain Boundaries
- Gradual extraction of business logic from the monolithic database.
- Extraction of services for client data, products, pricing, invoicing, and analytics.
- Reduced coupling of applications and teams.
- Enabling independent development, testing, and release of changes.
- Formation of clear service contracts.
Separation of Transactional and Analytical Loads
- Offloading heavy reporting and analytical queries from the main transactional database.
- Creation of a separate environment for reports, statistics, and CDR processing.
- Utilization of CDC and event-driven data transfer.
- Transition to publishing changes via Kafka or similar mechanisms.
- Reducing the risk of analytical operations affecting live billing.
Improving Release Reliability
- Creation of a pre-production environment comparable to production.
- Development of load and integration testing.
- Organization of independent releases for extracted services.
- Development of CI/CD.
- Gradual implementation of feature flags and phased rollouts.
- Reducing the risk of errors affecting all clients simultaneously.
Performance and Scalability
- Reducing peak loads on database processors and disk subsystems.
- Optimization of operations with CDRs, mass invoicing, and large clients.
- Elimination of long-running transactions and locks.
- Preparing the architecture for further client base growth.
- Enabling horizontal scaling of individual components.
What you will be doing
Managing the Technical Program
- Formulate a unified billing modernization plan.
- Break down the program into clear stages, deliverables, and checkpoints.
- Determine the sequence of architectural changes.
- Identify dependencies between teams, systems, and infrastructure.
- Develop realistic plans considering technical risks and limitations of the current system.
- Manage the scope of work and prevent uncontrolled program expansion.
- Maintain an up-to-date roadmap and timeline forecast.
Ensuring Delivery of Results
- Organize the work of multiple technical teams.
- Coordinate plans of architects, developers, analysts, database specialists, testers, and infrastructure engineers.
- Monitor task readiness for development.
- Oversee work progress from architectural solution to production launch.
- Manage blocking dependencies.
- Promptly escalate issues requiring management decisions.
- Achieve completion of stages, not just progress on individual tasks.
Working with Architecture and Technical Risks
- Clarify the target state and intermediate architectural steps with architects.
- Ensure architectural decisions are translated into an actionable plan.
- Participate in defining service boundaries and contracts between them.
- Assess risks of migrating logic from the database to services.
- Consider data integrity, backward compatibility, and the order of consumer switching.
- Assist in choosing between phased modernization and complete replacement of individual components.
- Ensure key decisions are documented in ADRs and technical documentation.
Improving Development Predictability
- Set up a transparent planning and execution control process.
- Create a consolidated list of program tasks and individual team plans.
- Track deadlines, progress, risks, and dependencies.
- Establish a regular cycle of technical and management reviews.
- Control task decomposition quality and readiness.
- Analyze reasons for deviations and address systemic issues in the development process.
- Work with Jira, YouTrack, or similar systems.
Managing Releases and Changes
- Coordinate change releases in a critical system.
- Ensure readiness of test and pre-production environments.
- Oversee rollback and switchover plans.
- Coordinate the migration of consumers to new APIs and services.
- Organize phased deployment of changes.
- Consider the impact of releases on large clients and critical business operations.
- Ensure post-release technical issue analysis and incorporate findings into future plans.
Confirming the Impact
For each major change, baseline and target metrics must be defined: billing availability, number and severity of incidents, database CPU and disk utilization, critical operation execution time, etc.
The Technical Delivery Manager is responsible for ensuring that the technical program delivers measurable results, not just the creation of new components.
Who we are looking for
- At least six years of experience as a Technical Project Manager, Technical Program Manager, or Delivery Manager.
- Experience managing complex technical programs involving multiple teams.
- Understanding of microservice architecture and principles of monolithic system decomposition.
- Knowledge of CI/CD processes.
- Understanding of containerization and orchestration: Docker, Kubernetes.
- Experience with Jira, YouTrack, or similar systems.
- Ability to build roadmaps, implementation plans, and manage cross-team dependencies.
- Experience in risk management for critical or high-load systems.
- Ability to delve into technical problems beyond the task status level.
- Skill in communicating effectively with architects, developers, database specialists, and infrastructure engineers.
- Ability to translate architectural decisions into a consistent and realistic implementation plan.
- Ability to work in an environment where modernization proceeds in parallel with the development and operation of the existing system.
- Independence, persistence, and a results-oriented approach.
Bonus points
- Experience migrating business logic and stored procedures from a database to separate services.
- Experience decomposing monolithic systems.
- Understanding of OLTP and OLAP load characteristics.
- Experience with CDC, Debezium, or similar technologies.
- Understanding of message queues: Kafka, RabbitMQ.
- Understanding of event-driven architecture.
- Knowledge of principles of transactions in distributed systems.
- Understanding of data consistency, idempotency, and event reprocessing.
- Experience organizing load testing.
- Experience creating pre-production environments.
- Experience with phased or canary releases and feature flags.
- Experience with API Gateways, request rate limiting, and protection against cascading failures.
- Experience in billing, telecom, fintech, or other critical systems with high transactional load.
- Past experience in development, system engineering, or technical architecture.
Work format
- Full-time employment.
- Work format is discussed individually.
Selection stages
- Application and a brief cover letter.
- Initial interview.
- Meeting with the Head of Department.
- Technical meeting with architects and development representatives.
- Case study on managing a complex technical program.
- Final interview.
- Job offer.
We await your applications via tg @AlinaKharchenkoHR