- ContractorFreelance2001 - PRESENT
- Designed and implemented a complete back-end system for a social network application. The solution allowed the company to start from a simple mobile front-end and then extend it to a web application.
- Used React.js and Redux to build a single-page web application.
- Performed a transition of a large and complex PostgreSQL database to MongoDB.
- Designed the architecture and some core back-end services for a complex web project. The objective was to thoughtfully split the previously monolithic application into smaller independent parts which would act as microservices with well-defined APIs. This approach along with using the Domain Driven Design methodology significantly boosted the development process.
- Senior Software EngineerFuboTV2016 - 2017
- Worked in a distributed team of talented engineers on some critical parts of the infrastructure that worked 24/7 and served tens of millions requests a day.
- Analyzed and optimized heavy PostgreSQL requests which helped to significantly reduce the latency of some internal services.
- Actively collaborated with colleagues to establish a consistent approach to testing in Golang across the team. Implemented hundreds of test cases to ensure the quality of the code and stability of services in production.
- Created an internal library in Golang to encode/decode HLS data.
- Created a complete internal service top to bottom using Golang and Postgres on the back-end, and React, Redux, and Bootstrap on the front-end. The solution highly simplified and reduced the time required for some routine internal operations.
- Senior Perl DeveloperCrazy Panda2011 - 2015
Technologies: Perl, Catalyst, PostgreSQL, Linux, Bash, Nginx
- Worked in a team of game developers on complex game projects deployed on social networks in Russia, Europe, USA, and Japan. Some of the games have become highly popular and gained tens of millions of users worldwide.
- Designed well-defined and documented protocols that allowed the team to focus on the business logic and to achieve more in less time.
- Worked closely with front-end developers to establish coordinated and flawless interaction of back-end servers and front-ends.
- Wrote thousands of unit tests to ensure (almost) bug-free work of application servers and to achieve higher uptimes.
- Profiled, refactored, and optimized the codebase for some game projects in the company. It helped to improve the robustness of the servers significantly.
- Architect, Senior Perl DeveloperOntico2006 - 2011
Technologies: Perl, Mod_perl, Linux, PostgreSQL, Apache, Nginx, Memcached
- Worked on numerous web projects for clients of the company.
- Contributed to the development of a Perl-based web framework that the company used as a fundamental part for numerous high-load projects.
- Implemented a back-end for a media library for a telecom operator. It helped to streamline the process of media uploading, processing, and streaming.
- Implemented a full-text search feature for a big (15 million messages) and rapidly growing web forum.
- Communicated with end-users to gather feedback, and to understand their needs. Turned the feedback into concrete solutions.
- Web DeveloperChess Server iGame.ru2001 - 2006
- Founded the project and wore many hats in it, from architect to designer and full stack web developer. The project gained a lot of buzz and became one of the most popular chess servers in Russia back in the day.
- Implemented many major features. For example, round robin tournaments, chess teams, team competitions, forum subsystems, and much more.,.
- Implemented the transition to new technologies, for example, CGI to mod_perl.
- Designed the database layout, maintained its work, and introduced necessary measures to keep up with the growing popularity of the project.
- Continuously refactored the code to keep the growing codebase in good shape.