Vlad Arkhipov

Staff Software Engineer. Distributed systems, identity, infrastructure.

arkhipov.net LinkedIn GitHub Telegram vlad@arkhipov.net

Twenty-two years building distributed systems. Since 2018 — identity and access management for Yandex Cloud: millions of authorization requests per second, with no room for error. Lately SIEM and CNAPP: turning a firehose of security events into something an analyst can act on.

I build reliable systems that hold up under heavy load. I like clean, efficient code that someone can still read in ten years — the PostgreSQL extension I wrote in 2013 is still in use by people I have never met.temporal_tables — system-period data versioning for PostgreSQL, as in SQL:2011. 1.0k ★, 52 forks.

Work

Staff Software Engineer

June 2023 — present · Yandex Cloud · Belgrade, Serbia

Back to hands-on engineering after the management track: designing and building high-load systems in the SIEM, Security Deck and Smart Web Security teams.

Senior Engineering Manager

December 2022 — June 2023 · Nebius · Amsterdam, Netherlands

A cloud provider being built from scratch for GPU workloads. I led the security services track there.

Senior Engineering Manager

May 2019 — December 2022 · Yandex Cloud · Moscow, Russia

Two platform systems: identity and access management, and resource management.

Engineering Manager

June 2018 — May 2019 · Yandex Cloud · Moscow, Russia

The first year of identity and access management.

Lead Software Engineer

December 2016 — June 2018 · Yandex · Moscow, Russia

Java, real-time stream processing, ZooKeeper, MongoDB.

Engineering Manager

July 2014 — December 2016 · Irkutsk Diagnostic Center · Irkutsk, Russia

Java EE (WildFly, clustering and HA, Hibernate Envers), JavaFX, XSL-FO (Apache FOP), PostgreSQL.

I led three teams, ten engineers in total, and kept my hands in the code: reviewing and writing the critical parts, working through requirements, training staff and interviewing candidates. The system was a complex distributed ERP for a large healthcare enterprise, written mainly in Java EE and running on CentOS, WildFly, Mondrian BI and PostgreSQL, with web-based and JavaFX front ends powered by REST, JSON and WebSockets.Replacing the legacy document renderer with XSL-FO templates let end users customize medical documents themselves. The hard part was performance on large documents — and it was a good excuse to brush up on computer typography.

My work in this position began with replacing the legacy document rendering system with XSL-FO templates, generating medical documents as PDF through Apache FOP and Saxon. Other projects were mostly upgrading legacy UI with JavaFX and ReactFX, refactoring the domain model, and integrating third-party services — including online payments through Sberbank over SOAP.

Until then my work had been almost entirely technical; this role tested my judgment about people as much as about systems.

Senior Software Engineer

April 2010 — July 2014 · Irkutsk Diagnostic Center · Irkutsk, Russia

Java EE (JBoss, Hibernate, WebSockets), OSGi, PostgreSQL (PL/pgSQL), JTAPI, SMPP.

I started by leading a team of two on the migration from MaxDB to PostgreSQL. The total scope was approximately two million lines of application code. There were significant technical challenges: the database had to be bitemporal, managing time-varying data and keeping a history of all data changes. We completed the project on time in December 2010.The history requirement is what later became temporal_tables.

The next project migrated the application server while keeping legacy applications operational. Most of the work involved managing a team of two or three developers, supervising and training staff, writing and tuning the most critical parts, and reviewing the code of others.

Aside from routine integration with SMSC providers over SMPP and JasperReports Server, we integrated the system with our Avaya phone system (AES and WFO) using JTAPI. The most interesting part was building a solution to aggregate and distribute real-time events from the phone station across clients over WebSockets.As a side project: an automated scheduler for patient appointments. The problem is NP-hard in general — optimal solutions came from IDDFS at small dimensions and simulated annealing at large ones.

I was also involved in discussions about restructuring process and architecture across teams. I pushed the teams toward Agile, wrote the release policy and coding standards, and made code review and automated testing part of the process rather than an afterthought.

Software Engineer

February 2007 — April 2010 · Irkutsk Diagnostic Center · Irkutsk, Russia

Java SE (multithreading, JNI, Swing), C++ (DirectX, Video4Linux, ffmpeg), DICOM (dcm4che), MaxDB, Mondrian ROLAP (MDX).

I worked on a range of projects: implementing an ERP, building a data warehouse, and writing video capture software for medical equipment. I had never written Java and never built anything cross-platform, so the first months were a steep climb through both the language and the system.

Subsequently I created cross-platform video streaming and recording software that streams and stores video from DICOM and non-DICOM modalities to a PACS server. It had to run on a variety of systems, so we wrote two implementations — DirectX and Video4Linux/ffmpeg — and integrated them with the clients through JNI. Threading and streaming were the hard part: not every codec is frame-based.Also a minor part in the client portal built with GWT and the BI server on Mondrian ROLAP and PostgreSQL.

Junior Software Engineer

January 2004 — February 2007 · Irkutsk State Technical University · Irkutsk, Russia

Microsoft SQL Server (Transact-SQL), Borland C++ Builder.

While pursuing my studies, I worked part time as a junior C++ engineer for a company that had won the government contract for the road network information system. I built the UI in Borland C++ Builder, then moved to the server side in Microsoft SQL Server and Transact-SQL. By mid-2006 we had implemented algorithms minimizing the long-term life-cycle costs of maintaining the road network — which eventually ended up in my master's thesis and a series of journal articles.

Open source

temporal_tables

PostgreSQL extension · 1.0k ★ · 52 forks

Maintains an audit trail of changes to PostgreSQL tables. We never used it as originally intended — we switched to Hibernate Envers — but other people have found it useful.

acl

PostgreSQL extension

Provides a mechanism to control access to data using ACLs. Works either with the PostgreSQL roles system or with application-specific roles and users.

I also contribute occasionally to WildFly/JBoss Application Server, PostgreSQL, Apache FOP and Hibernate.

Patents

Isolated regions instead of one global IAM: every region runs its own installation, an organization acts as a pseudo-global object across them, and cross-region trust goes through workload identity federation — which keeps data resident where the law requires it.Written up by a colleague: Multiregional clouds, Yandex Cloud blog, April 2026.

Talks

Publications

Education

MSc in Applied Mathematics and Computer Science

September 2001 — June 2006 · Irkutsk State University

With honors. Selected courses: software engineering, analysis of algorithms, database theory, cryptography, game theory, discrete mathematics.

Information Security

September 2001 — June 2006 · Irkutsk State University

With honors. A second degree, earned in parallel with the first.

Certifications