|Tel.||+7 905 547 11 98|
Distributed systems (CRDT), Functional programming, Web backend, Compilers, Data analysis, Scalable services, Security, User interface
Design, Coding, Project management, Deployment, Staff training
started Feb 2016
Senior Software Engineer
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.
started Sep 2012
Student scientific projects mentor
Some students presented their work at school science project fairs.
In 2014, Polina Kirichenko won 1st prize with her work on natural language-based programming at the Yandex conference on programming for school students. academy.yandex.ru
In 2017, Nikolay Loginov presented his work on CRDT at the industrial conference on functional programming FPCONF (co-presented with me). fpconf.ru
Dec 2011 — Feb 2016
I was a backend developer of the keyword statistics service Wordstat.yandex.com and several internal Yandex services.
I worked with computer linguistics. I developed problem-specific databases in microservice architecture.
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
Nov 2006 — Oct 2011
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.
In my department (~20 people), I introduced usage of source control tools, issue management, common knowledge system (wiki).
The Moscow Aviation Institute,
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.
Institute of Cryptography, Communications and Informatics,
incomplete higher in computer security
Co-organized RuHaskell community meetup in Kaspersky, Moscow, Russia. 4 talks, 120+ attendees. events.kaspersky.com/event/ruhaskell2
Co-organized RuHaskell community meetup in Kaspersky, Moscow, Russia. 4 talks, 120+ attendees. events.kaspersky.com/event/ruhaskell
Organized RuHaskell community meetup in Moscow, Russia. 6 talks, 50+ attendees. ruhaskell.org/posts/events/2015/11/05/meetup-winter-register.html
Organized RuHaskell community meetup in Moscow, Russia. 6 talks, 50+ attendees. github.com/ruHaskell/ruhaskell/wiki/Meetup.2015.Summer
“Purely functional programming and KasperskyOS” in Information Security section at RIFTECH. tech.rif.ru
(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
I'm open to relocation.