Full-stack Developer2020 - PRESENTSubcomediante LLC
Technologies: Moment.js, DNS, Google Cloud, Node.js, CSS, DevOps, Bash, Domains & Hosting, Iframes, Google Sheets API, Continuous Deployment, Google Sheets, Google Cloud Functions, Serverless, Vuex, Lodash, CSS5, HTML5, Vue.js, Vue.js 2
- Designed and planned out complicated filtering of org-mode files for a Vue.js front end with conditional displaying and nested parsing.
- Added an SSO (single sign-on) solution using embedded iframes and token interchange.
- Created automated CI/CD using Google Cloud (Google Cloud run to Google Storage and Google Cloud functions).
Site Reliability Engineer | Go Engineer2019 - 2020Vuu.tv
Technologies: Jenkins Pipeline, DNS, Docker Compose, Google Cloud, Redis, DevOps, Go, Bash, REST API, Domains & Hosting, Cloud, Jenkins, Continuous Delivery (CD), Continuous Integration (CI), Docker, Kubernetes
- Developed a CLI tool for deploying services that maintained cluster status on a GitOps repository for stable deployment and easy cluster handle/transform.
- Fixed a bug with the Elastic APM plugin (found a bug in the official repository and worked it out together with the ELK team), making my own contribution to open-source majesty.
- Resolved tedious issues with services using Go related to image caching, latency spikes, as well as developing requested tweaks and suggestions with TDD and some refactoring.
- Maintained and optimized Kubernetes cluster on GCP platform, set up monitoring/alerting, error rates and logging to ELK, making sure that SLO, SLI, and SLA are inline.
- Optimized search times and shard allocations/index rotation for ELK.
- Resolved bugs related to latency spikes, caching/database, load, and balancing/scaling.
- Improved deployment stability by implementing a graceful shutdown of the services.
DevOps Engineer2018 - 2019GetJerry.com
Technologies: Amazon Web Services (AWS), Jenkins Pipeline, DNS, Redis, DevOps, Bash, REST API, AWS, Domains & Hosting, ELK (Elastic Stack), Jenkins, Docker, Kubernetes
- Redesigned the log pipe to ELK stack by optimizing the app runtime information collection.
- Launched a Sentry service for error aggregation and alerting.
- Urgently tweaked and hot-fixed an existing CICD solution when it broke and the development was stuck.
- Set up cluster monitoring to get critical performance stats.
- Refactored the infrastructure to run on JenkinsX as CI/CD.
DevOps/Node.js Developer2016 - 2018Veoo Limited
Technologies: RabbitMQ, DNS, Redis, Node.js, DevOps, Go, Bash, REST API, AWS, Domains & Hosting, Git, Amazon Web Services (AWS), PHP, MySQL, Docker, Kubernetes
- Wrapped project microservices into Docker containers, crafted CI/CD and launched production grade Kubernetes cluster on AWS with profiling metrics and logging to ELK.
- 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.
- Implemented features for the sales team and client integrations using both Go and Node.js.
- Split and downsized production MySQL for cost optimization.
Freelance Web App Developer (Node.js, Backbone.js, Marionette.js)2016 - 2016Peak Shift, Inc. (via Toptal)
Technologies: Node.js, CSS, Bash, REST API, Git, HTML, Backbone.js, Marionette.js
- 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.
- Designed architecture for back-end by refactoring a PHP mono repository into Node.js microservices with RabbitMQ as a communication layer and Redis as the cache.
- 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.
- Completely restructured a game module using a machine pattern, which led to a 10x faster response.
- Designed the front-end and mobile architecture (Сordova, HTML/CSS, and Marionette.js).
- Designed and laid out a refactored architecture using Marionette.js/Backbone.js with RequireJS leading to the project launch.
Web Developer2012 - 2013Idol-IT
Technologies: Push Notifications, Node.js, CSS, Django, Python, HTML, jQuery, MySQL
- 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.