Open Source Projects

Conference Talks

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)
2011 Mikhail Glukhikh, Vladimir Itsykson, Vadim Tsesko. Using Dependencies to Improve Precision of Program Analysis // Program Semantics, Specifiation and Verification (PSSV-2011), The 6th International Computer Science Symposium in Russia (CSR 2011)
2011 Mikhail Belyaev, Vadim Tsesko. Development of LLVM-based Static Analysis Tool Using Type and Effect Systems // Program Semantics, Specifiation and Verification (PSSV-2011), The 6th International Computer Science Symposium in Russia (CSR 2011)
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

Work Experience

2016 - present Odnoklassniki
position Lead Software Engineer in Platform team
description Implementing new features and improvements for internal Cassandra fork.

Designed and implemented reactive ok.ru/music streamer.

Contributed to async-profiler and one-nio.

tools Java, C, Cassandra, async-profiler
2015 - 2016 Yandex.Classifieds
position Lead of Backend Infrastructure team
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.

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

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 internal components (libraries and microservices) used in offer aggregators (Auto.ru, Yandex.Realty, Yandex.Rabota, Yandex.Travel): indexing, search, billing, counters/throttlers, activity tracking, antifraud, content quality control, archival data processing, subscriptions, metering, monitoring, etc.

Responsible for scalability and fault tolerance during architecture/design reviews: Yandex.Rabota, Yandex.Travel, Reviews, UGC, etc.

Advocated use of Cassandra key-value storage and Akka for building reactive concurrent services. 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 Russian at JPoint 2014).

Hiring activities, hardware resource planning, improvement of deploy processes, SLA enforcement.

tools Scala, Java, Akka, Spray, Cassandra, YoctoDB, MySQL, Hadoop, HBase, ZooKeeper, Hive, Spark, Kafka, Consul, Protobuf
2013 Yandex LLC
project NDA
position Senior Software Developer
description Data mining and feature extraction 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 when crawling Web.

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

Justified necessity for development of eternal archive of offer content and user activity data.

Design and review of internal services and components: user settings, subscriptions and notifications, picture processing and caching, Web crawling, archival data collecting and processing, etc.

Migrated from the existing indexing infrastructure limited by single node processing to scalable distributed highly available (multi datacenter) streaming indexing (covered by patent).

Advocated use of NoSQL (Cassandra, HBase, Redis, MongoDB).

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

Hiring activities.

Launched local functional community SPbHUG.

tools Scala, Java, Jetty, Akka, Circumflex, Maven, Ivy, Cassandra, Hadoop, HBase, MySQL, ZooKeeper, Curator, Lucene, Redis, memcached, MongoDB, Scalatest, Camel, Protobuf, ZeroMQ, JGroups, Kestrel, Metrics, Graphite, Artifactory, 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 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 platform i.e. interval analysis, points-to analysis, resource analysis, object caching, defect checking and various optimizations.

Conducted thorough research on static analysis methods and algorithms.

The results are published.

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

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

tools Linux, Object Pascal, Java, C, XML

Journal Papers

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 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.
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

2017 - present Technopolis
course Lecturer and Curator in Databases
course Lecturer and Curator in High Load Systems
2014 - present 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

2018 ICAIT-2018: International Conference on Applications in Information Technology (ICAIT-2018)
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-2019 Vadim TSesko