DevOps Engineer2018 - PRESENTGetJerry.com
Technologies: Kubernetes, Docker, Bash, Jenkins, ELK
- Redesigned a log pipe to be a more resilient and direct way to get an app's run-time information.
- Launched my own error aggregation and alert service.
- Urgently tweaked and hot-fixed an existing CICD solution when it broke and the development was stuck.
- Set up monitoring to get critical performance stats.
- Migrated the whole system to an open source community-based CICD platform for more reliable and robust development and deployment processes.
DevOps/Node.js Developer2016 - 2018Veoo Limited
Technologies: Kubernetes, Docker, Node.js, MySQL, PHP, Amazon Web Services (AWS), Git
- Containerized all of the microservices and launched the whole thing in Kubernetes cluster which resolved numerous issues and improved the deployment flow, resource monitoring, logging, and alerts.
- Found and resolved a large number of bugs and applied best coding practices and patterns.
- Refactored the whole project to a new logging system, that allowed us to send logs to the Elasticsearch engine.
- Migrated a portion of the project's data from MongoDB to a more suitable and cheap MySQL solution.
- Added various microservice parts for mail parsing, speaking to providers over DNS, and system level testing.
Freelance Web App Developer (Node.js, Backbone.js, Marionette.js)2016 - 2016Peak Shift, Inc. (via Toptal)
Technologies: Node.js, Marionette.js, Backbone.js, HTML, CSS, Git
- Successfully refactored an existing Backbone.js part to use a Marionette.js structure.
- Built new features for the app, using the whole stack; I added new pages and UI elements (HTML, CSS, and jQuery), proper submit and front-end processing (Marionette.js) and added back-end endpoints for necessary logic handling (Node.js, MySQL).
- Successfully achieved creating deep-nested views structure, proper rendering, and refreshing with Marionette's regions.
- Suggested and implemented UX flow details and necessities leading to clearer design and app overall.
- Managed with a client to create clear milestones, estimated and moved towards successfully achieving those.
Online Game Developer2014 - 2016IlkFinKom
- Developed a live-notification system using WebSockets and an asynchronous Tornado framework, which optimized the amount of database requests more than 10x.
- Created an achievement calculator for players that belonged to a particular virtual city which included aggregating 40 metrics, distributing prizes, and rendering on the front-end.
- Rebuilt a quest system due to lack of performance. Moved it to a separate Node,js module, utilized RabbitMQ for module interactions, and used a finite state machine pattern for the module architecture which led to more than 5x response optimization.
- Tweaked a Cordova plugin for Google Play Game Sevices. This added functionality for offline authorization, handling calls, and posting achievements on the Leaderboards API from the back-end.
- Developed more than 50 complicated pages (pop-ups, animations, and transitions) for the SPA version of the game for mobile platforms using a front-end Marionette framework with jQuery, as well as implementing the API for it on the back-end.
Web Developer2012 - 2013Idol-IT
Technologies: Python (Django), MySQL, jQuery, HTML, CSS
- Added a feature of managing groups profile with personal profiles; adding moderators and administrators roles.
- Implemented a client management system in Django based on an online service API for processing data retrieved from special tire sensors. This included automatic email sending with Mandrill software, PDF rendering and structuring of reports, and presenting it all in a clean-and-organized interface.