Lead Full-stack Developer
2017 - PRESENTToptal Client- Led a team of developers to convert a single-tenant fintech app into a multi-tenant one.
- Implemented reliable imports of customer and financial data.
- Helped pick the next best feature based on the ROI.
- Effectively managed tech debt, helping to make refactoring decisions based on tradeoff between long-term stability and immediate development time investment.
- Worked on a solid integration of microservices.
- Introduced peer-reviewed pull requests and continuous deployment with CircleCI.
Technologies: Rollbar, JavaScript, SCSS, HTML, jQuery, Heroku, PostgreSQL, Sidekiq, Ember.js, RSpec, Ruby on Rails (RoR), RubyFull-stack Developer, CTO, Co-founder
2014 - PRESENTPlaygong- Implemented a fully-fledged API for Android, iOS, and Ember apps from scratch.
- Built a responsive Ember CLI app that consumes the API and reports JS errors to Errbit.
- Extended Rails architecture with class groups like services (for business logic), policies (for authorization), and queries (for fetching records) to avoid bloated controllers and models.
- Implemented an effective API versioning scheme with only the two latest API versions to maintain.
- Implemented leaderboard versioning, allowing user to change any game result and recalculate the leaderboard state.
- Achieved 100% test coverage of the code base with unit, controller, and integration tests.
- Set up continuous deployment process via Jenkins, automated tests, and hot unicorn deploys via Capistrano.
- Set up a separate Ember deployment process with asset uploads to AWS S3 and API behind an Nginx reverse proxy.
- Set up process monitoring with Monit.
Technologies: Amazon Web Services (AWS), Bootstrap, SCSS, HTML, Monit, Capistrano, Sidekiq, RSpec, MySQL, Ember CLI, Ember.js, Ruby on Rails (RoR), RubyFull-stack Developer
2016 - 2017Hybrid (via Toptal)- Wrote a flexible client crediting solution for the platform allowing clients to hire workers for one-off online jobs. Clients could use both prepaid mode and weekly/monthly charges based on the amount of services used. Credit limit and other limits were put in place.
- Found and fixed multiple race conditions and other bugs in previously written PayPal integration code for incoming client payments and outgoing worker payments. Improved Stripe integration. As a result, the company stopped losing money because of incorrectly processed payments.
- Introduced DRY principle, lean models, and a controller approach by extracting business logic into specialized service classes. All new code, including service classes, received full coverage with specs.
- Found and fixed bugs in the subsystem accounting the amount of work done by workers.
- Made the whole test suite pass by fixing all previously broken tests, introduced Better Specs guidelines and continuous deployment using CircleCI.
- Optimized slow and complex SQL queries by replacing nested queries with outer joins.
- Improved quality of the code submitted by colleagues by carefully reviewing pull requests.
Technologies: Airbrake, Heroku, Puma, Bootstrap, HTML, SCSS, jQuery, Haml, Stripe, PayPal, Capybara, Sidekiq, RSpec, PostgreSQL, Ruby on Rails (RoR), RubyLead Front-end Developer
2016 - 2016Anatas (via Toptal)- Led a team of developers reviving and migrating an Ember 1 enterprise cloud management app without Ember Data to Ember 2 with Ember Data. The goal of winning corporate tender was successfully achieved.
- Improved UI/UX and in-app workflows.
- Integrated the app with a new infrastructure of Node.js Express microservices used to control CloudFoundry.
- Introduced Ember components with a “data down actions up” approach.
- Introduced SCSS with multiple partials, mixins, and variables instead of one CSS file.
- Added back-end mocking with Mirage.
- Cleaned up the codebase and enforced strict coding standards on pull requests using ESLint.
Technologies: Bootstrap, SCSS, Cloud Foundry, MongoDB, Mirage, Ember CLI, Node.js, Ember.jsRuby Developer
2013 - 2014Vinted- Worked on implementing an escrow subsystem of the marketplace by integrating a whitelabeled payment system via REST API.
- Worked on integrating package delivery monitoring for the escrow subsystem.
- Led a team as scrum master to implement vouchers for the marketplace.
- Developed company account balance calculation that separated voucher money from escrow money and showed turnover.
- Implemented funnel tracking in the internal analytics tool.
- Implemented app-wide feature switches and integrated them with existing A/B test functionality.
- Refactored old parts of the system via a two-step process of new tests first and refactoring itself second.
- Eliminated race conditions in internal marketing campaign tool.
Technologies: Backbone.js, Delayed Job, RSpec, MySQL, Ruby on Rails (RoR), RubyFull-stack Developer
2012 - 2013Same System- Implemented a retail shop network budget analysis tool from back-end to front-end.
- Maintained and updated the salary calculations subsystem for various jurisdictions.
- Rewrote the vacation planner and other old and neglected parts of the system.
- Eliminated numerous haunting false positives from headless browser Cucumber integration tests by employing a deterministic approach.
- Developed a library for time segment calculus.
- Developed a library for table generation in CSV, HTML, and JSON formats.
- Quickly solved critical bugs.
Technologies: JavaScript, Delayed Job, Cucumber, MySQL, Ruby on Rails (RoR), RubyFull-stack Developer, Co-founder
2011 - 2012Tenderella- Created a web scraper for public tenders using Ruby.
- Designed a PostgreSQL database for various tender types and accompanying official notices.
- Used Ruby on Rails single table inheritance and polymorphic associations to solve the problem of many types of tenders and notices.
- Integrated Solr for fast and relevant tender search.
- Integrated Resque with Rufus Scheduler for periodical runs of the web scraper.
Technologies: Nokogiri, Resque, Solr, PostgreSQL, Ruby on Rails (RoR), Ruby