Andrey Koleshko, Software Developer in Minsk, Minsk Region, Belarus
Andrey Koleshko

Software Developer in Minsk, Minsk Region, Belarus

Member since August 9, 2013
Andrey is a web development expert. He has done a lot of different things on that front in the past decade. Despite his experience in different business domains, billing/payment/accounting systems are his favorite ones. He has broaden skills in their implementing and maintenance.
Andrey is now available for hire

Portfolio

  • Molinelli Media Group Sl
    React, PostgreSQL, Stripe, Ruby on Rails (RoR), Ruby
  • Toptal Clients
    PostgreSQL, Elasticsearch, JavaScript, Ruby on Rails (RoR), Ruby
  • Toptal, LLC
    Billing, Accounting, Intacct, PayPal, Stripe, PostgreSQL, Ruby on Rails (RoR)...

Experience

Location

Minsk, Minsk Region, Belarus

Availability

Part-time

Preferred Environment

Git, Zsh, Sublime Text, OS X

The most amazing...

...thing I've written is a book about Rake called Rake Task Management Essentials.

Employment

  • Ruby consultant

    2019 - PRESENT
    Molinelli Media Group Sl
    • 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.
    Technologies: React, PostgreSQL, Stripe, Ruby on Rails (RoR), Ruby
  • Ruby Developer

    2016 - PRESENT
    Toptal 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.
    Technologies: PostgreSQL, Elasticsearch, JavaScript, Ruby on Rails (RoR), Ruby
  • Back-end Developer

    2016 - 2019
    Toptal, LLC
    • 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.
    Technologies: Billing, Accounting, Intacct, PayPal, Stripe, PostgreSQL, Ruby on Rails (RoR), Ruby
  • Team Leader

    2014 - 2016
    Mezuka, LLC
    • 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.
    Technologies: Nginx, Jasmine, RSpec, Watir, Cucumber, Server Sent Events (SSE), RabbitMQ, Ansible, Elasticsearch, PostgreSQL, CoffeeScript, AngularJS, Grape, Ruby
  • Author

    2013 - 2014
    Packt
    • Wrote a book about Rake.
    • Contributed to the evolution of Rake itself.
    Technologies: Rake, Ruby
  • Web Developer

    2013 - 2014
    Active 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.
    Technologies: JavaScript, Ruby, Ruby on Rails (RoR)
  • Web Developer

    2010 - 2013
    Altoros 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.
    Technologies: JavaScript, Ruby, Ruby on Rails (RoR)
  • Web Developer

    2009 - 2010
    Synesis
    • 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.
    Technologies: JavaScript, Java
  • Network Administrator

    2008 - 2010
    BNTU University Dorm #4
    • 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.
    Technologies: Shell, Ruby on Rails (RoR), Ruby
  • Web Developer

    2009 - 2009
    Self-employed
    • Learned Rails, Prototype.js, Script.aculo.us, and Capistrano.
    • Learned to deal with web hosting services while deploying my applications.
    Technologies: JavaScript, Ruby on Rails (RoR), Ruby
  • Software Engineer

    2008 - 2009
    BelHard
    • Dealt with billing systems and banking system formats.
    • Learned Python to be able to edit one of the project modules.
    Technologies: Python
  • Web Developer

    2008 - 2009
    360 Media Group
    • Learned JavaScript in order to create a filter.
    • 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.
    Technologies: Java

Experience

  • Mezuka

    SaaS application (B2C) for fast food stores and everyone.

    Stack: Ruby, Grape, RESTful API, AngularJS, Cucumber, Rspec, Jasmine, RabbitMQ, PostgreSQL, Design Patterns, Twilio, Rails, Wkhtmltopdf, ImageMagick, Omni Auth, Elasticsearch, E Fax, Merchant Services, Delayed Job, TaxCloud, Amazon S3, Ansible, SSE (Server Sent Events), Google Maps API

  • ActivePlatform
    http://activeplatform.com/

    An application which implements the APS standard, a competitor for Parallels.

    Stack: Rails, XML, XPath, PostgreSQL, RSpec, TDD, Scrum, APS.

  • Blogging
    http://railsguides.net

    My personal blog.

  • Rake Task Management Essentials
    https://www.packtpub.com/hardware-and-creative/rake-task-management-essentials

    The book I wrote, Rake Task Management Essentials, is a practical guide that covers the latest techniques in building, testing, and debugging Rake tasks to solve real-world automation challenges. The book starts with a basic knowledge of Rake, allowing you to solve repetitive tasks. Then it provides you with information about processes performed with files, which is crucial for understanding the application of the tool.

  • Keenprint

    SaaS eCommerce application and order management system for commercial printers.

    Stack: Ruby, Rails, Active Merchant, FedEx/UPS/USPS, jQuery, Ajax, RSpec, MySQL.

  • Fisikal
    http://fisikal.com

    Management system for sport trainers and their clients.

    Stack: Ruby, Rails, jQuery, Ajax, SMS gateway, RSpec, MySQL.

  • Ruby Enums Gem
    https://github.com/mezuka/enum

    This is a very basic implementation of enums in Ruby. The cornerstone of the library is safety.

  • Migration Data Gem
    https://github.com/ka8725/migration_data

    The most popular gem I've ever created.

  • Static Struct Gem
    https://github.com/mezuka/static_struct

    Convert Ruby hashes (or hash-like objects) into Ruby objects.

  • Open Source Activity
    https://github.com/ka8725

    Contributed to open sourced projects: GetOrBuild, Redmine S3, LocomitiveCMS, Twitter Bootstrap Rails, Devise, InheritedResources, Rails, MultiXML, DataGrid, couchbase-ruby-model, devise.

  • Toptal Core Back-end Developer
    https://www.toptal.com/

    - Integrated and maintained Stripe payment system
    - Integrated and maintained PayPal payment system
    - Integrated and maintained Intacct accounting system with the existing Billing system
    - Implemented and maintained Invoicing system
    - Implemented and maintained accounting system
    - Refactored monolithic application so that it's ready for micro-services architecture
    - Extracted Billing domain to a separate service

Skills

  • Languages

    Ruby, JavaScript, Java, Python, CoffeeScript
  • Frameworks

    Ruby on Rails (RoR), Grape, Jasmine, Ember.js, AngularJS
  • Paradigms

    Object-oriented Programming (OOP), Design Patterns, Test-driven Development (TDD), Behavior-driven Development (BDD)
  • Storage

    Elasticsearch, PostgreSQL
  • Other

    SOLID Principles, Payment Gateways, Billing, Billing Software, Billing Systems, Domain-driven Design (DDD), Accounting Systems, Accounting Software, Server Sent Events (SSE), PayPal
  • Libraries/APIs

    Stripe, React
  • Tools

    Shell, Rake, Ansible, RabbitMQ, Cucumber, Watir, RSpec, Nginx, Sublime Text, Zsh, Git, Intacct
  • Platforms

    OS X
  • Industry Expertise

    Accounting

Education

  • Master's degree in Automobile Engineer
    2005 - 2010
    Belarussian National Technical University - Minsk, Belarus

Certifications

  • Mathematical Thinking in Computer Science
    AUGUST 2019 - PRESENT
    Coursera
  • Data Structures and Algorithms Specialization
    MARCH 2019 - PRESENT
    Coursera
  • Learning How to Learn: Powerful Mental Tools to Help You Master Tough Subjects
    JUNE 2018 - PRESENT
    Coursera

To view more profiles

Join Toptal
Share it with others