Yuriy Syrovetskiy

Montenegro (UTC+1), remote
job38@cblp.su
linkedin.com/in/cblpsu
github.com/cblp

Competencies

Ability to work in a complex environment combining different technologies.

Distributed systems (CRDT), Functional programming, Web backend, Compilers, Data analysis, Scalable services, Security, User interface

Software design, Coding, Deployment, Staff training

Key Technologies

C++, Haskell, Java, Python

Work Experience

started Oct 2023
(3 months)

Senior Software Engineer at Alar Studios / SQream, Montenegro

Working as an engineer in support of the SQream GPU-powered database engine. Fixing various bugs in C++ engine, Haskell query compiler and CUDA kernels.

Tools & Technologies: C++, Haskell, CUDA (GPU)

Jun 2022 — Oct 2023
(1⅓ year)

freelance and short-time contracts, remote

Lead developer of internal system of issue tracking and decision making for a large DAO. Web backend + frontend. Stellar blockchain integration for automatic payment processing and access management. Telegram integration for control via chat. Tooling to mint and trade NFT representing real estate ownership.

Various Python and Haskell projects.

Short-term contract with Generation Lambda. Built an automated NFT distribution service on Cardano network.

Tools & Technologies: C++, ClickHouse, Docker, Ed25519 cryptography, Haskell (Servant, Yesod), HTTP, Java, JSON, Python, Scala, Sqlite, Stellar blockchain, Telegram API, YTsaurus

Feb 2021 — May 2022
(1⅓ year)

Software Engineer at Input-Output Global, remote

Cardano blockchain node development. Implemented some features for the Alonzo era.

Tools & Technologies: Cardano blockchain (API, CLI, node), CBOR, Haskell, JSON

Sep 2020 — Mar 2021
(7 months)

Haskell teacher at Higher School of Economics, Moscow, Russia

Teaching programming in Haskell to 1—4th year students.

Mar 2020 — Dec 2020
(9 months)

Software Engineer at Yandex, Moscow, Russia

Writing Java in Yandex.Disk cloud core.

Implemented cross-service file metadata synchronization machinery.

Working on a CRDT-based application state synchronization framework.

Tools & Technologies: ClickHouse, HTTP, Java, JSON, PostgreSQL, Python

Feb 2016 — Mar 2020
(4 years)

Software Engineer, then Senior Software Engineer at Kaspersky Lab, Moscow, Russia

As a Kaspersky OS and Kaspersky Security System development team member, I design DSLs, implement security configuration compiler and various security policies (including object-capability model), using Haskell for high-level logic and generating code in C.

Tools & Technologies: C (kernel level, hard realtime, lock-free data), Haskell (Ivory, Megaparsec)

Dec 2011 — Feb 2016
(4 years)

Software Engineer at Yandex, Moscow, Russia

I was a backend developer of the keyword statistics service Wordstat.yandex.com and several internal Yandex services.

Wordstat is a search-oriented database capable of scanning over 1 billion records at a user request.

I worked with computer linguistics.

I developed microservices using HTTP JSON-API.

My software successfully stands year-to-year growing data and user traffic.

One microservice rewritten by me from Python to C++, got about 10 times boost in maximum request load.

Another one got 1.5 times decrease in memory consumption without a visible performance penalty after introducing internal compression.

I gave talks at the company's local meetups (internal and public) events.yandex.ru

Tools & Technologies: Apache Thrift, BerkeleyDB, BitTorrent, C++, Cap'n'proto, Cython, Map/Reduce, PostgreSQL, Python, Yandex.Tank

Nov 2006 — Oct 2011
(5 years)

Engineer, then Team Lead & Architect at Institute of Information Technologies, Moscow, Russia

I was the lead developer in 3-people team working on multi-component data transfer and processing system.

I've been working on design and code, program and user documentation, deploy and customer support.

During the development process, I designed and implemented software components using C, C++ and Python languages, and Qt GUI framework. I used static and dynamic program analysis tools to detect and fix bugs such as memory leaks.

In my department (~20 people), I introduced usage of source control tools, issue management, common knowledge system (wiki).

Tools & Technologies: C, C++, Linux kernel, Python, Qt, Windows API, XML

Education

2020

The Moscow Aviation Institute,
faculty of control systems and computer science in engineering

Master's thesis: A distributed embedded database. I've built a CRDT-based database-like application framework for data synchronization and a distributed project management software on top of the framework. Both in Haskell. The source code is available at github.com/ff-notes.

Master

Public Activity

Apr 2017

Co-organized RuHaskell community meetup in Kaspersky, Moscow, Russia. 4 talks, 120+ attendees. events.kaspersky.com/event/ruhaskell2

Aug 2016

Co-organized RuHaskell community meetup in Kaspersky, Moscow, Russia. 4 talks, 120+ attendees. events.kaspersky.com/event/ruhaskell

Dec 2015

Organized RuHaskell community meetup in Moscow, Russia. 6 talks, 50+ attendees. ruhaskell.org/posts/events/2015/11/05/meetup-winter-register.html

Jun 2015

Organized RuHaskell community meetup in Moscow, Russia. 6 talks, 50+ attendees. github.com/ruHaskell/ruhaskell/wiki/Meetup.2015.Summer

Conference talks

Jul 2020

“Property and fuzzy testing” at C++ Russia. cppconf-moscow.ru

May 2019

“A purely functional approach to CRDT/RON-based distributed systems” at FPURE. fpure.events, video: youtu.be/2MKLWCh33wE

Sep 2018

“Purely functional programming and KasperskyOS” in Information Security section at RIFTECH. tech.rif.ru

Dec 2017

(in collaboration with my student Nikolay Loginov) “CRDT — correctly replicated data in Haskell” at the functional programming conference FPCONF. Description: fpconf.ru/2017.html, video: youtu.be/VFx0H2p3g6c