Lead Ruby Engineer2012 - 2015The Hamon
Technologies: Ruby on Rails, Node.js, Elasticsearch, CoffeeScript, PostgreSQL, MySQL, Redis
- Supported a big old Rails application, constantly improving the code (performance-wise and maintainability-wise) and adding new features. Successfully migrated the app from Rails 2 to Rails 3, and then to Rails 4.
- Maintained a smaller Rails app for sending email and SMS notifications. This app was used by the main, big app I mentioned earlier.
- Created a Node.js REST back-end for one of our data sources. We used Elasticsearch to store the data.
- Built a microservice for PDF generation using Sinatra and Sidekiq.
- Created a websocket service in order to handle open connections between browsers and our backend. Some of our pages change frequently, so we use websockets messages to push notifications to clients. At the back-end, Redis was used.
- Created a tool to load-test most critical pieces of our software.
- Built deployment scripts for our apps in Capistrano 3.
.NET Key Developer, Java Key Developer2010 - 2012Epam Systems
Technologies: Apache Hadoop, MonogDB, Java, C# Amazon EC2, MSMQ, SQL Server
- Took part in development of .NET-based event processing system (kind of like Google Alerts). The system consisted of a number of microservices communicating between each other via message queues.
- Implemented a number of quite complex stored procedures on SQL Server side in order to avoid unnecessary round-trips from the app to database and to create a layer of abstraction between DB schema and the application.
- Build a data loader for the see-results-as-you-type feature. The data loader processed a big pile of gzipped XML using Amazon-based Apache Hadoop cluster, enriched it with data from another data source and built an inverted index in MongoDB.
- Created a test framework in Ruby and Cucumber to ensure that our REST services work correctly. Our QA team used this framework to build automated tests.
.NET Key Developer2010 - 2010Epam Systems
Technologies: C# 4.0, Task Parallel Library, ETL
- Created an ETL framework using C# as a replacement for another proprietary framework as lead developer of a small team.
- Implemented an ETL tool based on the framework I developed and compared it with the previously-written tool. There was a significant performance boost and noticeable improvements in maintainability.
- Created a tool to automatically compare output datasets of the app and the newly created app.
MS SQL Developer, Java Developer, FAST CCR Developer2007 - 2010Epam Systems
Technologies: Java, FAST ESP, FAST CCR, WiX, SQL Server, a bit of Ruby
- Took part in the creation of a big ETL system written with use of FAST CCR framework in a team of about 20 people. FAST CCR is a proprietary framework written in Java.
- Optimized performance and created multiple queries and stored procedures for SQL Server.
- Created a testing framework to test the accuracy of output of our tool, prevent regressions, and measure performance.
- Replaced parts of FAST CCR that were performance bottlenecks with custom components which I implemented in Java.
- Developed a number of Ruby scripts to automate routine developer tasks specific to the project.
.NET Developer2007 - 2007Epam Systems
Technologies: ASP.NET, Web Services, C# 2.0, a bit of JS, SQL Server
- Contributed to the creation of back-ends for a set of financial applications as part of a team of ~20 members. My responsibilities included bug fixing and implementation of new features using C# and ASP.NET.