Yuriy Netesov

Senior Software Engineer

Summary

Software engineer with interest for functional programming and distributed systems.
Over 10 years of commercial software development experience including such domains as cluster management/monitoring software, embedded navigation systems, gamedev, server-side/backend systems, video-delivery, cybersecurity.
Primarily worked as backend developer.
Value driven developer with passion to built stuff in a way that best matches business needs.

Legal status

ReaQta

  • http://reaqta.com
  • Backend Software Developer
  • April 2018 - present
  • Amsterdam, Netherlands
Working in a small actively-growing startup specialized on cyber-security. I work as a part of small backend team. Used technologies:
  • Scala, akka, akka http, akka streams, akka cluster, akka persistence, http4s, doobie, slick
  • circe, cats, specs2, scalatest
  • Cassandra, Elasticsearch
  • Kamon, prometheus
  • git, gitlab, jenkins, ansible
  • Linux, docker, python, bash/sh scripts, nginx
Achievements:
  • Implementation of various subsystems from scratch
  • Built sumulator/load testing system from scratch
  • Built 3rd-party analytics integration micro-service from scratch
  • Horizontal scaling of the platform (akka-cluster)
  • Implementation of custom split brain resolver(akka-cluster)

StackState/Xebia

  • http://stackstate.com
  • Backend Software Developer
  • October 2017 - March 2018 (6 months)
  • Utrecht, Netherlands
As a part of backend team I am developing innovative platform for algorithmic operations on IT infrastructure. Used technologies:
  • Scala, akka, akka http, akka stream, scalaz, scalatest, spray-json
  • Java 8
  • HDFS, HBase, kafka
  • Linux, python, bash/sh scripts
  • aws, ansible, terraform

ActiveVideo

  • http://activevideo.com
  • Senior Software Developer
  • January 2016 - September 2017 (1 year 9 months)
  • Hilversum, Netherlands
As a part of the small end-to-end scrum team I have developed features across several components of video delivery platform.

Used technologies:
  • Java 8, Scala, netty
  • C++11/14 (gcc toolchain, boost, standard library, gtest/gmock, ...)
  • Python (python2, tornado, py.test, ansible, pypcap, dpkt, ...)
  • Clustering, Double phase commit, failure detection, transactions
  • Linux, bash/sh scripts
  • Intel Media SDK (hardware transcoding)
  • Video delivery related - ffmpeg, mpeg2 TS, h264, mpeg2
  • ActiveMq, TCP/IP, IGMPv3
Achievements:
  • Clustering solutuion hardening - better handling of network partitioning and failure detection
  • Design and implementation of Smart Multiplexing
  • Introduced a special tool to capture user interactions on production and replay them on debug system
  • Refactored/bugfixed component test framework into something usable
  • Refactored statistics delivery pipeline (scala, activemq, netty)
  • Plenty of bug fixes and small features has been done

Bright Computing

I have been working as a member of a core team.
My responsibilities:
  • design and implementation of a new features
  • unit tests writing
  • support and refactoring of old code
  • interviewing new candidates
  • best practices integration
Used technologies:
  • C++14 (gcc toolchain, boost, standard library, gtest/gmock, ...)
  • Python (python2, tornado, jinja2, fabric, mock, ...)
  • mysql (sql)
  • linux (and a lot of standard stuff integration like named, dhclient, ntpd, ...)
  • perl, bash/sh scripts writing
Achievements:
  • Implemented a lot of core subsystems with nice unit tests coverage
  • Refactored some old subsystems
  • Fixed a lot of bugs in old code
  • Unit testing integrations
  • CI (jenkins) integrations
  • C++11/14 migration
  • Code review introduction
  • Helped with migration to Jira and Agile/Scrum like process

Cloudmade

  • http://cloudmade.com
  • Senior Software Developer
  • November 2012 - July 2014 (1 year 9 months)
  • Kiev, Ukraine
I have been one of core developers of Hybrid, Micromap and Mapsafe technologies - cross-platform libraries (android, linux, windows, wince, qnx, ...)
These technologies can be found in in-dash and on-dash navigation systems in cars.
Technologies used:
  • C++ (STL, boost, sqlite, spatialite),
  • Python (sqlalchemy, gevent, bottle, AMQP, rabbitmq)
  • postgresql
  • Client/Server, TCP/IP, GNU/Linux, Android, WinCE
  • Git, SVN
  • CMake, bash/sh scripting
Approaches:
  • Agile/Scrum
  • TDD
  • Code review, pair programming
My responsibilities:
  • Design/Implementation of new features
  • Customer communications, support cases and delivery process handling
  • Bug fixing
  • Refactoring of old code(10+ years)
  • Interviewing with new candidates
Achievements:
  • Integration of unified build system
  • Design/Implementation of several new features from scratch (keyword search, push notifications, etc)
  • Grow from regular developer to one of the key persons
  • Design and implementation from scratch of some web services with python
  • Work process support and improvements: code review, continuous integration, branch-per-feature
  • High unit tests coverage of new functionality

Freelance/Self employed/part time

My role here was developing of server-side for online social game. The plan was to host the game on such platforms as my.mail.ru, odnoklasniki.ru, vkontakte.ru. I was the part of a small team of freelancers. The project have not been launched due to a lack of budget
You can see source code for this project by next links:
Technologies:
  • Erlang (mnesia, mochiweb, rebar)
  • Python
  • XML + XSLT
  • mercurial
  • GNU/Linux
  • Client/server, TCP/IP
Approaches:
  • Agile
  • TDD
My responsibilities:
  • Implementation of backend server side using erlang
  • Communications with client side developer and manager
Achievements:
  • Developed distributed server-side solution from scratch
  • Used TDD to make a good unit tests coverage

Dark Joker games

  • http://djm.kiev.ua
  • Server-side Software developer
  • April 2011 - October 2012 (1 year 7 months)
  • Kiev, Ukraine
I was part of very small backend team (2 developers).
My main responsibility was developing of new features for a social game backend.
Game have been hosted on many social platforms: vk.com, odnoklasniki.ru, my.mail.ru.
Technologies:
  • C++ (STL, boost)
  • Python
  • MySql
  • CMake
  • Client/Server, TCP/IP
  • GNU/Linux
Approaches:
  • Code review
  • Pair programming
My responsibilities:
  • Architecture of server side subsystems (game subsystems and core functional subsystems)
  • Massive refactoring of old code
  • Bugfix and analysis of crashes
  • Increasing of server performance and stability
Achievements:
  • Designed almost all new features with proper OOP/OOD design
  • Integrated modern software techniques and approaches: agile, code review, branch-per-feature model
  • Integrated mercurial, boost and other modern instruments into team work flow

Ubisoft Ukraine

  • http://ubi.com
  • Software developer
  • January 2010 - November 2010 (11 months)
  • Kiev, Ukraine
I have been a part of small team of developers. Our main task was to port “Splinter Cell 5 conviction” from PC/Ps3/Xbox platforms to a Mac Os X platform.
You can find information about the game here: http://en.wikipedia.org/wiki/Tom_Clancy%27s_Splinter_Cell:_Conviction
My main responsibility was network libraries porting and porting of general game code to a Mac Os X. Technologies:
  • C++
  • Client/Server, TCP/IP
  • Perl
  • Bash scripting
  • Xcode
  • A lot of internal Ubi technologies
My responsibilities:
  • Porting of core subsystems of the game from PC platform to Mac Os X
  • Porting of network subsystems from PC to Mac Os X
  • Code review
Achievements:
  • Ported all network and some core libraries
  • Ported big amount of code using manual and automated approaches

Vogster Entertainment LLC

  • http://vogster.com
  • Server-side Software Developer
  • January 2008 - October 2009 (1 year 10 months)
  • Kiev, Ukraine
I have been part of medium size team of server-side developers. My main responsibility was network connection between client and server, and between nodes in backend cluster also. I have been mainly working on server fault tolerance and performance, but also have implemented several game logic subsystems parts in C#. Technologies:
  • C++03(STL), C++/Cli, C#
  • RakNet
  • Client/Server, TCP/IP
  • XML/XSLT
Approaches:
  • Agile
  • Code review
  • Pair programming
  • Unit testing
My responsibilities:
  • Design and implementation of backend game subsystems parts
  • Optimization and profiling of backend cluster, performance testing
  • Protocol generation tools support and development
  • Distributed subsystems algorithms design and implementation
  • Wrappers for C/C++ libs to C# code writing
  • Bugfix
Achievements:
  • Introduced many fault tolerant principles and implemented them
  • Several new game logic features implementation
  • Great server code optimization
  • Profiling tools developed
  • RakNet wrapper for C# code implementation