2012 – 2013
Intern Software Developer
I joined Yandex as an intern at Statistics department, working on ad hoc analytics MapReduce scripts written in Perl and Python, which tought me:
2013 – 2015
Junior Software Developer
Since 2014 I joined LogBroker project – data queue system based on Apache Kafka written in Scala. LB replaced an older implementation of data queue with the same api and provided features that Kafka lacked at the moment including exactly-once delivery guarantees, ACLs, exact data mirroring (preserving the same amount of partitions and order message within partition unlike Kafka's own mirror maker solution) between clusters in different geographical locations. LogBroker rapidly became an improtant pieces of company infrastructure, reaching hundreds of terabytes of throughput on a daily basis. It aggregated data from servers across the company, preprocesses it to unify format and delivered to the processing endpoints such as MapReduce clusters for batch processing or real-time log analytics systems.
During my involvement in the project I:
2015 – 2017
Middle Software Developer
LogBroker had become the de-facto standard for internal data transfer and spanned multiple data centers in different geographical regions with hundreds of nodes.
As a middle developer I had continued developement of important LogBroker features:
2017 – Now
Confident Software Developer
Sure, "confident" is not a usual term, but let's call it that to introduce some distinction with "middle" :)
At the time of writing LB spans almost 1200 nodes across 5 data centers and accepts about 2.5 pebibytes and 112 billion messages a day (peaking at 40 gibibytes and 1.7 million messages per second) including mirroring between clusters, all of which passes through a write pipeline designed and implemented by me on top of Akka TCP.
2010 – 2014
Bachelor of Information Technology