Ilya Volkov
Backend / DevOps Engineer · Python, Kubernetes
Belgrade, Serbia · remote or hybrid in Belgrade
Summary
In software development since 2017. For the past 6 years, I have worked on the backend and infrastructure of an online proctoring platform that runs in 8 regions and in dedicated client installations. Main stack: Python/Django, Celery, PostgreSQL, Kubernetes, Helm, GitLab CI. From 2021 to 2026, I was the release master and supported the platform in production. I work with Claude Code AI agents and integrate them into the team's workflows
Experience
Constructor Tech (formerly Examus, Alemira) — Backend / DevOps Engineer
After Alemira acquired Examus, I moved to Alemira, which was later renamed Constructor Tech
- Release master for the proctoring product: shipped releases every week, later every two weeks
- Supported Kubernetes and the backend in production: investigated and fixed the causes of incidents, improved monitoring in Prometheus and Grafana
- Helped 3+ engineers get up to speed on the project and develop their skills; advised the team on infrastructure and releases
Constructor Tech, Belgrade Aug 2023 – Oct 2026
- 2026Prepared the proctoring services for installation with the platform's on-prem installer: packaged 6 services into the installation bundle, moved secrets out of the code in 6 repositories, took the installation process through to an E2E check in a test environment
- 2026Built AI tools that the team used: Claude Code agent management, development and release skills for working with merge requests, Zulip and YouTrack, and a set of developer scripts
- 2026As maintainer of the open-source Moodle plugin, shipped all 2026 releases and made it compatible with Moodle 5 — github.com/constructor-tech/alemira-proctor-moodle-plugin
- 2026Tested AI agents and spec-driven development with Constructor Studio (formerly Cypilot) on an experimental port of the backend from Django to .NET. Prototype: 119 of 119 routes, about 1,400 tests, about 77% coverage
- 2025–2026Set up production and staging environments for the dedicated installations of two large clients — a university and a certification platform — and was the release manager for these installations: handled deployments, maintained separate release branches, troubleshot rollout issues
- 2025–2026Wrote new APIs in .NET (Minimal API, EF Core) and moved parts of the Django backend to .NET
- 2023–2024Moved 8 services to shared Helm charts and a single configuration for Redis, RabbitMQ and PostgreSQL. Tuned PostgreSQL for growing load and moved the databases to Postgres Operator
Alemira, contract Mar 2022 – Jul 2023
- 2023Moved the platform from infrastructure in Russia to infrastructure abroad, using custom Helm charts and CI for separate GitLab and Kubernetes environments, and a Slack bot that synchronized branches between the GitLab instances
- 2022–2023Automated builds and releases of the Electron desktop client for Windows and macOS, including notarization: a macOS runner on EC2 that starts on demand, white-label builds for several brands, and alpha → canary → current channels. Builds are distributed through a CDN (AWS CloudFront)
- 2022–2023Wrote a shared Helm chart library and CI templates. Developed a Celery/RabbitMQ queue exporter whose metrics HPA used to scale the workers. Introduced werf and review environments, and deployed the platform to Azure AKS
- 2022–2023Added a separate retention period for each client and reworked the background cleanup
Examus Nov 2020 – Feb 2022
- 2021–2022Supported the regional installations together with an external DevOps team, as the person responsible for them on the company side
- 2021–2022Prepared the face identification service to run in several regions: photos in S3 with per-region buckets, admin sign-in through GitLab, Sentry for each environment
- 2021Implemented automatic deletion of exam video recordings after their retention period expires, as required by personal data protection law. Recordings are stored in S3; deletion runs in the background
- 2021Launched the production environment in the European region: CI/CD deployment and Helm charts with autoscaling (HPA, VPA)
- 2020–2021Set up autoscaling for ML services based on uWSGI and RabbitMQ metrics, as well as VPA
College Expert, Kazan — Backend / DevOps Engineer
- Solely responsible for the backend and DevOps for two products: a mobile marketplace for services (iOS/Android) and the company's internal platform
- Developed the backend using Django/DRF with Channels (WebSocket) and Celery. Implemented two-stage payments with YooKassa, scheduling, push and SMS notifications, and map search with server-side clustering
- Independently set up the server and a self-hosted GitLab instance with runners for builds and deployments using docker-compose
Earlier, Kazan
- Soft-Artel Feb 2019 – Sep 2019 · Node.js Developer: backend of the company's product — Node.js microservices with RabbitMQ and PostgreSQL; Docker builds and deployment to Kubernetes through GitLab CI
- Softcraft Jun 2018 – Sep 2018 · Software Engineer: API for a customer's web service using C#/ASP.NET with Entity Framework and MSSQL
- PROFIT Apr 2017 – May 2018 · Software Engineer: APIs and website scrapers in C# and Node.js, WinForms desktop applications
Personal projects
- Warren — my own distributed system of nodes in different countries. I develop the whole product alone: architecture, backend, mobile, desktop and web clients, infrastructure and tests
- management backend in Python (Litestar, PostgreSQL), node services in Go, client in Flutter: Android now, then iOS, macOS, Windows and Linux
- nodes update themselves, and each new version goes through a canary check based on metrics; the infrastructure is defined in Ansible
- E2E tests cover node failure, rollout and rollback
- Kubernetes platform — my own k3s cluster on two servers that runs my applications and self-hosted services: task tracker, wiki, photo gallery. I built it and run it alone
- GitOps with Argo CD, self-hosted GitLab with runners, secrets in SealedSecrets, Longhorn storage, databases on CloudNativePG
- monitoring with Prometheus, Loki and Grafana; alerts are sent to Telegram through a bot
- database backups to B2 with restore checks; all applications deploy through shared CI components and a Helm library
- uDeck and uZora — open-source macOS apps in Swift — github.com/iillyyaa1997
- uDeck — a plugin panel at the top edge of the screen, with a plugin catalog and E2E tests in disposable virtual machines
- uZora — a menu bar agent that tracks the Mac's health (disk, temperature, battery) and passes the data to AI agents over MCP