Ruby consultant2019 - PRESENTMolinelli Media Group Sl
Technologies: React, PostgreSQL, Stripe, Ruby on Rails (RoR), Ruby
- Integrated and maintained Stripe payment system.
- Changed a single dropdown to multiple dropdown for the main entity in the application.
- Improved speed of page based on PosgreSQL Full Text Search for 99% so that page loads for 300 ms instead of 30 seconds.
- Implemented subscriptions functionality so that clients see what for they pay for and automated money collection is possible.
- Expanded the service location from Spain only to UK + Spain.
Ruby Developer2016 - PRESENTToptal Clients
- Integrated a custom Elasticsearch plugin into a project that lacked architecture—set up proper testing tools and guaranteed my work running on a long-term basis.
- Refactored a hotel booking project so that it reduced bugs and failures dramatically, allowing for the addition of necessary features and production.
- Won the top management over not to do effort-heavy and senseless work by analyzing the code's historical data.
- Integrated GraphQL into a domain our team was responsible for so it allows us to have a maintainable, expandable, and stable system.
- Made code 10x faster on one project by using SQL techniques instead of Ruby/Rails approaches.
- Integrated a rather popular accounting system called Intacct with our system from scratch. That was painful due to unpredictable and undocumented errors. Nevertheless, the development process went smoothly and the resulting code allowed us to react to glitches rapidly and easy.
- Refactored spaghetti code to event-driven architecture so that the code is maintainable and easy to read.
Back-end Developer2016 - 2019Toptal, LLC
Technologies: Billing, Accounting, Intacct, PayPal, Stripe, PostgreSQL, Ruby on Rails (RoR), Ruby
- Integrated and maintained Stripe and PayPal payment systems, Intacct with the billing system, the invoicing system, and the accounting system.
- Refactored monolithic application so that it's ready for microservice architecture.
- Extracted the billing domain to a separate service.
- Implemented GQL schemas for the new UI.
Team Leader2014 - 2016Mezuka, LLC
Technologies: Nginx, Jasmine, RSpec, Watir, Cucumber, Server Sent Events (SSE), RabbitMQ, Ansible, Elasticsearch, PostgreSQL, CoffeeScript, AngularJS, Grape, Ruby
- Created a very big application with complex business logic.
- Assembled a team of great software engineers.
- Applied SOLID principles and design patterns in order to implement requested features.
- Covered the code with various types of tests: Cucumber + Watir + Selenium, Cucumber + Rspec, Rspec, Jasmine.
- Chose suitable technologies to implement a successful product and to achieve comfortable work for the developers and the product owner.
- Integrated applications with numerous third-party services.
- Solved non-trivial tasks such as showing zip code areas on a map, searching by full-text search with filters by zip areas, distance between coordinates, and other custom matchings and smart geolocation.
- Implemented a single-page application with fully separated back-end and front-end parts following the divide-and-conquer paradigm.
- Contributed to business analysis and developer management.
Author2013 - 2014Packt
Technologies: Rake, Ruby
- Wrote a book about Rake.
- Contributed to the evolution of Rake itself.
Web Developer2013 - 2014Active Cloud
- Improved project architecture by splitting models and controllers into modules (a.k.a. Rails Engines).
- Refactored nearly the entire application, eliminating a large amount of legacy code.
- Contributed to the multi_xml gem for parsing APS packages.
- Built the architecture of a billing system the allowed it to scale the business by adapting to any client with minimum effort.
- Contributed to the inherited_resources gem to support name-spaced models and make our project work as we want but not like the library forces.
Web Developer2010 - 2013Altoros Development
- Supported numerous projects for this company, including Keenprint, AllProShipping, and CrossArts.
- Learned English by taking free English courses provided by the company.
- Took numerous business trips to the US, Norway, and England to meet with customers and project owners.
- Improved the architecture of numerous Altoros projects, allowing for the removal of large amounts of legacy code.
- Integrated a variety of payment systems into projects, including Authorize.Net, PayPal, and more.
- Learned to implement multi-tenancy applications while working on the development of Keenprint.
- Taught students. Read lectures and reviewed code using Gerrit.
Web Developer2009 - 2010Synesis
- Learned the Ext JS framework while creating a project module.
- Created tests for QA.
- Started a project using JBoss.
- Learned the SOAP web service protocol while creating a project module.
- Gained direct experience with code reviewing practices.
Network Administrator2008 - 2010BNTU University Dorm #4
Technologies: Shell, Ruby on Rails (RoR), Ruby
- Worked with a server running the Debian OS.
- Learned and configured iptables in so way it allowed admins to ban network users on demand.
- Created a local billing system using Rails, which allowed us to track user balance and ban them when it's zero.
- Acquired an extensive understanding of network systems, including DNS, firewalls, and Unix systems.
Web Developer2009 - 2009Self-employed
- Learned Rails, Prototype.js, Script.aculo.us, and Capistrano.
- Learned to deal with web hosting services while deploying my applications.
Software Engineer2008 - 2009BelHard
- Dealt with billing systems and banking system formats.
- Learned Python to be able to edit one of the project modules.
Web Developer2008 - 2009360 Media Group
- Worked on 360.by, a project that was already part-way into the production process.
- Learned SQL.
- Observed how poor architecture can negatively impact a project.
- Gained experience with using version control systems.