Open Source

Talks

2022 Vadim Tsesko. Asynchronous Cassandra transport (RU) // HighLoad++ 2022
2022 Vadim Tsesko. Asynchronous Cassandra transport (RU) // Joker 2022
2022 Vadim Tsesko. OK S3: DIY (RU) // Saint HighLoad++ 2022
2022 Vadim Tsesko. OK S3 (RU) // Hydra & C++ Russia 2022
2018 Vadim Tsesko. Reactive ok.ru/music streamer (RU) // Joker 2018
2017 Andrei Pangin, Vadim Tsesko. The Art of JVM Profiling (RU) // JPoint 2017
2016 Vadim Tsesko. YoctoDB @ Yandex.Classifieds (EN) // CEE-SEC(R) 2016
2014 Vadim Tsesko. Akka at Yandex (RU) // JPoint 2014
2012 Vadim Tsesko. Streaming Data Processing with Actor Model (RU) // Application Developer Days (ADD-2012)
2012 Dmitry Kachmar, Vadim Tsesko. Life of a Project: from Idea to Implementation (RU) // Yandex.Subbotnik (2012)

Work

2024 - present NDA
position Platform Developer
2023 - 2024 VK
position Principal Engineer @ VK Tech Platform
description

Leading Storage team developing and improving in-house distributed Exabyte-scale object, key-value and blob storage systems widely used at VK.

tools Java, Cassandra, async-profiler
2023 - 2024 ITMO university
position Head of Web scale master's degree program in collaboration with ITMO university and VK Education
description

Managing master's degree program. Teaching courses on NoSQL and Highload systems.

2016 - 2023 Odnoklassniki
position Lead Software Engineer @ OK Platform
description

Designed and implemented distributed partitioned replicated reactive ok.ru/music caching streamer. Improved hardware utilization, increased reliability and scalability and substantially improved 99.9% latencies.

Heavily contributed to the first release of becoming extremely popular open-source async-profiler.

Contributed to and maintained popular one-nio open-source project.

Designed, implemented and deployed core features and optimizations for internal Cassandra-based NewSQL storage. Substantially improved resource consumption and networking latencies.

Implemented media transport components (i.e. screen sharing data transport) of massive Sferum educational platform used by many schools in Russia.

Unified company wide onboarding process across all the backend, frontend and mobile teams.

Designed and implemented in-house Exabyte-scale AWS S3 compatible object storage becoming extremely popular at VK with buckets up to 10s of PB and 1M RPS production load.

tools Java, C, Cassandra, async-profiler
2015 - 2016 Yandex.Classifieds
position Lead of Backend Infrastructure team (15 engineers)
description Designed and implemented infrastructure components for fault-tolerant distributed high-loaded aggregators and classifieds (Auto.ru, Yandex.Realty, Yandex.Rabota, Yandex.Travel): counters/limiters, billing, telephony, analytics, moderation, quality control, etc.

Designed and implemented content quality control subsystem.

Unified technology stack and improved multi-location reliability of Auto.ru.

Participated in hiring activities, hardware resource planning, SLO enforcement.

tools Scala, Akka, Spray, Cassandra, Hadoop, HBase, Hive, YoctoDB
2014 - 2015 Yandex LLC
position Lead of Infrastructure and Performance team
description

Designed, reviewed and implemented critical internal components (libraries and microservices) used in offer aggregators (Auto.ru, Yandex.Realty, Yandex.Rabota, Yandex.Travel): offer indexing pipeline, search subsystems, billing, counters/throttlers, activity tracking, antifraud, content quality control, archival data processing, subscriptions, metering, monitoring, etc.

Was responsible for scalability and fault tolerance aspects at architecture/design reviews: Yandex.Rabota, Yandex.Travel, Reviews, UGC, etc.

Advocated and integrated Cassandra storage and Akka framework for building reactive concurrent services (presented in Russian at JPoint 2014). Introduced Hadoop ecosystem (HBase and Hive) for archival data processing.

Broadened code review and continuous integration practices in company development process.

Designed and implemented open-source embedded DBMS YoctoDB to replace Apache Lucene in Auto.ru/Yandex.Auto as a search index implementation -- service latency improved substantially (presented in English at CEE-SEC(R) 2016).

Participated in hiring activities, hardware resource planning, improvement of deploy processes, SLO enforcement.

tools Scala, Java, Akka, Spray, Cassandra, YoctoDB, MySQL, Hadoop, HBase, ZooKeeper, Hive, Spark, Kafka, Consul
2013 Yandex LLC
project Reactive User Content Personalization
position Senior Software Developer
description Designed and implemented components of data mining and feature extraction system for reactive personalization.
tools Scala, Java, Akka, Hadoop, Cassandra, Kafka, YoctoDB, JMH
2011 - 2013 Yandex LLC
position Senior Software Developer
description Started with designing and implementing framework for streaming parsing and processing of microformats by Yandex Web crawlers.

Led migration from Subversion to Mercurial. Introduced Scala, Akka, Metrics, dependency management, continuous integration, code review practices.

Justified necessity for development of eternal archive of offer content and user activity data to make analytics possible.

Designed, implemented and reviewed internal services and components: user settings, subscriptions and notifications, picture processing and caching, Web crawling, archival data collecting and processing.

Transformed existing single-node indexing infrastructure into scalable distributed highly-available streaming indexing (the approach is described in the patent).

Advocated and introduced NoSQL storages: Cassandra, HBase, Redis, MongoDB -- substantially improved scalability and availability.

The results were presented in Russian at Yandex.Subbotnik and ADD-2012.

Led local functional community Saint-Petersburg Haskell User Group (SPbHUG).

tools Scala, Java, Jetty, Akka, Cassandra, Hadoop, HBase, MySQL, ZooKeeper, Curator, Lucene, Redis, memcached, MongoDB, Camel, ZeroMQ, JGroups, Kestrel, Metrics, Findbugs, PMD
2010 - 2011 Digitek Labs
project R&D Project on Dynamic and Static Analysis of JavaScript (Microsoft Research)
position Researcher and Software Developer
description Instrumented Firefox JavaScript engine with tracing infrastructure for collecting, analysis and visualization of dynamic code execution traces.

Conducted thorough research on static analysis methods and algorithms.

tools C/C++, Python, SQLite
2008 - 2009 Digitek Labs
project R&D Project on Automatic C/C++ Defect Detection System
position Researcher and Software Developer
description Designed and implemented various core subsystems of Aegis static code analysis platform i.e. interval analysis, points-to analysis, resource analysis, internal model, defect detection algorithms and various optimizations.

Conducted thorough research on static analysis methods and algorithms.

The results are published.

tools Java, C, PostgreSQL, JSP, Hibernate
2007 - 2008 Digitek Labs
project R&D Project on C Software Behavior Visualization (Panasonic Research)
position Researcher and Software Developer
description Developed GNU C parser and instrumentation tools for code transformation and instrumentation.
tools Java, JavaCC, C, C Preprocessor
2004 - 2007 Digitek Labs
project Submarine Hydroacoustic Software
position Software Developer
description Designed and implemented various subsystems i.e. classification, identification, ray tracing, audio, networking, UI, logging, multithreading, digital signal processing, etc.

Improved development processes: introduced Trac, Mercurial, unit testing.

tools Linux, Object Pascal, Java, C

Papers

See Google Scholar profile.

2018 Вадим Цесько. Реактивный раздатчик ok.ru/music. habr.
2016 Vadim Tsesko and Svyatoslav Demidov. YoctoDB: A Partitioned Immutable Embedded Database. CEE-SECR '16 Proceedings of the 12th Central and Eastern European Software Engineering Conference in Russia. (Backup PDF).
2016 Dmitry Schitinin and Vadim Tsesko. Streaming matching of events. CEE-SECR '16 Proceedings of the 12th Central and Eastern European Software Engineering Conference in Russia. (Backup PDF).
2014 Dmitry Igorevich KACHMAR, Vadim Aleksandrovich TCESKO. A system and method for managing partner feed index // Patent US20160203175 A1.
2011 Mikhail Belyaev, Vadim Tsesko. LLVM-based static analysis tool using type and effect systems // Automatic Control and Computer Sciences. — St-P.: SPbSU, 2012. — No. 46 (7). — pp. 324-330.
2011 Mikhail Glukhikh, Vladimir Itsykson, Vadim Tsesko. Using dependencies to improve precision of code analysis // Automatic Control and Computer Sciences. — St-P.: SPbSU, 2012. — No. 46 (7). — pp. 338-344.
2011 Mikhail Glukhikh, Vladimir Itsykson, Vadim Tsesko. The use of dependencies for improving the precision of program static analysis // Modeling and Analysis of Information Systems. — Yaroslavl: PG DYSU, 2011. — No. 18 (4). — pp. 68-79.
2010 Vladimir Itsykson, Mikhail Moiseev, Marat Akhin, Alexey Zakharov, Vadim Tsesko. Automatic Software Defect Detection in C/C++ based on Static Analysis // In Proceedings of the Microsoft Technologies in Theoretical and Applied Programming conference. — St-P.: SPbSPU, 2010. — pp. 70-71.
2009 Vladimir Itsykson, Mikhail Moiseev, Vadim Tsesko, Alexey Zakharov. Automatic Defects Detection in Industrial C/C++ Software // Software Engineering Conference in Russia (CEE-SECR), 2009 5th Central and Eastern European. DOI:10.1109/CEE-SECR.2009.5501189
2009 Vladimir Itsykson, Mikhail Moiseev, Marat Akhin, Alexey Zakharov, Vadim Tsesko. Points-to Analysis Algorithm for Source Code Defect Detection // System Programming. — St-P.: SPbSU, 2009. — No. 4. — pp. 5-30.
2009 Vladimir Itsykson, Mikhail Moiseev, Vadim Tsesko, Alexey Zakharov, Marat Akhin. Interval Analysis Algorithm for Source Code Defect Detection // Information and Control Systems. — St-P.: Polytechnica, 2009. — No. 2 (39). — pp. 34-41.

Teaching

2023 - 2024 Head of Web scale master's degree program in collaboration with ITMO university and VK Education
course NoSQL
course HighLoad
2017 - 2022 Technopolis
course NoSQL: 2018, 2019, 2020, 2021, 2022
course HighLoad: 2017, 2018, 2019, 2020, 2021, 2022
2014 - 2018 Saint-Petersburg State Polytechnical University
course Lecturer in Parallel Computing
2013 Computer Science Center
course Lecturer in Databases
2011 - 2013 Saint-Petersburg State Polytechnical University
course Lecturer in Formal Methods of Software Quality Assurance
course Lecturer in Parallel Computing
2009 - 2011 Saint-Petersburg State Polytechnical University
course Lecturer in Formal Methods of Software Quality Assurance
course Teaching Assistant in Software Engineering
course Teaching Assistant in Information Systems and Databases
2008 - 2009 Saint-Petersburg State Polytechnical University
course Teaching Assistant in Information Systems and Databases

Program Committee Membership

2025 JPoint 2025: Сonference for experienced Java developers
2024 Joker 2024: Сonference for experienced Java developers
2024 JPoint 2024: Сonference for experienced Java developers
2023 Joker 2023: Сonference for experienced Java developers
2019 IMHCS'19: 2nd Workshop on Information Management in Human-Centric Systems (IUCC-2019)
2018 ICAIT-2018: International Conference on Applications in Information Technology
2017 IMHCS’17: Information Management in Human-Centric Systems (CYBCONF-2017)
2016 SEIM-2016: Software Engineering and Information Management
2014 TMPA-2014: Tools and Methods of Program Analysis
2013 TMPA-2013: Tools and Methods of Program Analysis

Education

2007 - 2010 Postgraduate education
institution Department of Computer Systems and Software Engineering, Saint-Petersburg State Polytechnical University, Russia
2005 - 2007 Master’s Degree summa cum laude in Software Engineering
institution Department of Automation and Computer Science, Saint-Petersburg State Polytechnical University, Russia
GPA 5.0 out of 5.0
Master Thesis Synthesis of Distributed Application Templates Based on Formal Specification of Applied Protocols
2001 - 2005 Bachelor’s Degree cum laude in Computer Science
institution Department of Automation and Computer Science, Saint-Petersburg State Polytechnical University, Russia
GPA 5.0 out of 5.0
Bachelor Thesis Development of Scalable High-Availability Server Cluster Platform Using OpenMosix Technology
Copyright © 2013-2024 Vadim Tsesko (Вадим Цесько)