Rust Developer
We are looking for an experienced Rust developer for Tochka Bank. We are a fintech company creating an online bank and an ecosystem of services for businesses. Our team has over 6,000 employees, and our services are used by over 800,000 clients.
About the Team
You will be working in the security team. Our immediate plans include developing the anti-fraud system. This involves developing new analytical rules and improving interaction mechanisms, for example, with the Faster Payments System (SBP) and the digital ruble.
What You'll Do
- Develop and improve backend services in Rust as the product grows.
- Design the internal architecture of services to ensure they remain stable and predictable under load.
- Maintain stable service operation in the production environment: monitoring, diagnosing issues, and careful releases.
- Participate in the team's technical decisions: from design to post-launch support.
How We Work
Cross-functional Teams
We have product managers, developers, testers, designers, editors, and researchers. We synchronize regularly and stay in touch.
Agreement, Not Imposition
The opportunity to work your own way - no one will impose their methods or control your every action.
Knowledge Sharing Encouraged
We speak at conferences and sometimes join program committees. We also write articles, teach, and create specialized courses.
Data-Driven Approach
We strive to maintain a data-driven approach not only in product development but also in making engineering decisions.
Tech Stack
- We have many projects using tokio/axum/tower/hyper/lapin, etc. We write asynchronous code with good utilization of multi-processor systems.
- Infrastructure on Kubernetes, Consul, Vault.
- A lot of asynchronous interaction using RabbitMQ, Kafka, and working with a microservice architecture.
- Monitoring with Prometheus, ELK, Grafana.
You Are a Good Fit If
- You have confident commercial experience in backend development with Rust for at least 2 years, and a total backend experience of over 3 years.
- It will be a plus if you have GitHub projects or open-source contribution experience.
- You know how to work with tokio or other asynchronous stacks: tasks, timeouts, cancellation of operations, graceful service shutdown.
- You know how to design multithreaded asynchronous applications: structuring component interaction via message passing and understanding where the actor model is appropriate and why it's better than shared state.
- You know how to build services using axum and tower, as well as implement HTTP integrations.
- You have experience with message queues, such as RabbitMQ/AMQP: you understand general principles, know why retries are needed, what idempotent processing is, and how to organize correct handling of redeliveries.
- You are confident working with Postgres from an application developer's perspective: you know how to design schemas and migrations, write and optimize queries, and understand how indexes and transactions work.
- You understand how to decompose a system into modules, crates, and microservices, and how to build clear responsibility boundaries.
- You know how to use unit and integration tests, clippy, fmt, and work carefully with PRs to achieve high-quality and reliable results.
- You know how to manage tasks end-to-end: from design to release and subsequent service support.
Will be an advantage:
- Real-world experience with high-load or event-driven systems in production.
- Experience with Python in backend tasks or infrastructure scripts.
- Experience in fintech, information security, compliance, or other domains with high requirements for system reliability, fault tolerance, and predictability.
- Practice in developing internal libraries, service templates, and team engineering standards.
- Mentorship experience, participation in technical discussions, and development of code review processes.
What Awaits You at Tochka Bank
- Official salary up to 440,000 ₽. The exact amount depends on your skills and expectations – we will discuss them during the interview. This is the gross amount before taxes.
- Five-day work week with flexible start and end times.
- Remote work or any office in our operating cities. Our offices are well-designed open spaces with comfortable workstations and rest areas. You can choose where to work – coming to the office is not mandatory.
- A clear system for development and growth.
- The opportunity to work your own way – no one will impose their methods.
- The ability to influence the tech stack, team processes, and collaboration with others.
- Free training: you can attend IT conferences, meetups, and hackathons, and take courses at the company's expense.
- Comfort not only at work but also in life. After the probation period: Voluntary Medical Insurance (DMS) with dental care, a psychologist, health check-ups, and 4 additional days off per year.
- Partner bonuses: Skillbox, Skyeng, Yandex Practicum, Yasno, and others.
- An online employee portal where you can order certificates, request vacation or days off, order equipment, or view payments.
- Active corporate life: we organize movie screenings, sports marathons, and corporate events that are remembered for a long time.