Andrey Koleshko, Developer in Warsaw, Poland
Andrey is available for hire
Hire Andrey

Andrey Koleshko

Verified Expert  in Engineering

Software Developer

Location
Warsaw, Poland
Toptal Member Since
September 3, 2013

Andrei is a web development expert, and he has done many different things on that front in the past decade. Despite his experience in various business domains, billing, payment, and accounting systems are his favorite. Andrei has broad skills in implementation and maintenance.

Portfolio

Toptal Clients
PostgreSQL, Elasticsearch, JavaScript, Ruby on Rails (RoR), Ruby, Heroku...
Worship Online Inc.
Ruby on Rails (RoR), Wistia API, Music Streaming, Music, Stripe API, Docker...
Hubstaff
Ruby, Ruby on Rails (RoR), PostgreSQL, Zapier, REST APIs, Heroku, SQL

Experience

Availability

Part-time

Preferred Environment

Git, Zsh, OS X, Visual Studio Code (VS Code)

The most amazing...

...thing I've written is a book, "Rake Task Management Essentials."

Work Experience

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, Heroku, Amazon DynamoDB, SQL

Music Website Developer

2020 - 2022
Worship Online Inc.
  • Rewrote the entire web version of the application.
  • Implemented a custom audio mixer player for the new site.
  • Developed a solution that allows moving the clients from the old site to the new one with no risks for the business. New clients grew by 90%, and the business increased its year-over-year revenue by 5% despite the financial crisis.
Technologies: Ruby on Rails (RoR), Wistia API, Music Streaming, Music, Stripe API, Docker, Ansible, Knockout (Knockout.js), SCSS, Sass, Slim, Elasticsearch, Redis, PostgreSQL, Sidekiq, Ruby on Rails 5, Ruby, Heroku, Next.js, Amazon Web Services (AWS), SQL, HTML5, CSS3, Web Development, Full-stack, HTML, CSS, Bootstrap

Senior Software Engineer and Team Leader

2020 - 2022
Hubstaff
  • Led a team responsible for customer support. The team reduced customer support requests two times, and its health metrics (according to office vibe) were above 9.0.
  • Brought good habits to the development department that improved application stability and code review quality and drove an initiative to improve documentation.
  • Introduced fundamental design patterns into the code (business action, query object, serializers, etc.).
  • Implemented back end for events happening in real time used by a live map on the front end.
  • Integrated a push notifications system to send real-time messages if users are at an interesting location on time.
  • Integrated Zapier so that customers could build their own workflows.
Technologies: Ruby, Ruby on Rails (RoR), PostgreSQL, Zapier, REST APIs, Heroku, SQL

Ruby Consultant

2019 - 2020
Molinelli Media Group Sl
  • Integrated and maintained Stripe payment system to generate invoices and automatically charge clients.
  • 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, Heroku, SQL

Back-end Developer

2016 - 2019
Toptal
  • Integrated and maintained Stripe and PayPal payment systems, Intacct with the billing system, the invoicing system, and the accounting system.
  • Refactored a monolithic application so that it's ready for microservice architecture.
  • Extracted the billing domain to a separate service.
  • Implemented the new API using GQL for the new UI. It was also used for back-to-back communication.
Technologies: Billing, Accounting, Intacct, PayPal, Stripe, PostgreSQL, Ruby on Rails (RoR), Ruby, TypeScript, REST APIs, Heroku, SQL, Banking & Finance, Finance

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, GrapesJS, Ruby, Heroku, SQL

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

WorshipOnline

https://app.worshiponline.com/
This is a website that teaches playing musical instruments. Alone, I've managed to apply a new design to the site with a completely different stack of technologies on the front end. During the transition, the old UI and new UI worked in parallel. The transition has been made gradually to prove the new site works as expected with no business risks.

Compare the new site - https://app.worshiponline.com/ and the old site - https://classic.worshiponline.com/.

Toptal Clients

• Integrated and maintained Stripe and PayPal payment systems, the Intacct accounting system with the existing billing system, an invoicing system, and an accounting system
• Refactored a monolithic application so that it's ready for microservices architecture
• Extracted the billing domain to a separate service

Mezuka

https://mezuka.com
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
A personal blog where I share my experience and unusual solutions I've invented while working on my projects. This blog helped me become an author and I wrote a book called "Rake Task Management Essentials."

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.

Languages

JavaScript, Ruby, TypeScript, GraphQL, SQL, HTML, HTML5, CSS3, CSS, Java, Python, CoffeeScript, SCSS, Sass

Frameworks

Ruby on Rails (RoR), Ruby on Rails 5, Next.js, Bootstrap, GrapesJS, Jasmine, Ember.js, AngularJS, Knockout (Knockout.js), Slim

Libraries/APIs

Stripe, REST APIs, React, Wistia API, Stripe API, Sidekiq

Paradigms

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

Platforms

Heroku, Amazon Web Services (AWS), Docker, OS X, Music Streaming, Visual Studio Code (VS Code)

Storage

Elasticsearch, PostgreSQL, Redis, Amazon DynamoDB

Other

SOLID Principles, Payment Gateways, Billing, Billing Software, Billing Systems, Full-stack, Domain-driven Design (DDD), Accounting Systems, Accounting Software, Web Development, Finance, Server Sent Events (SSE), PayPal, Content Writing, Technical Writing, Music

Industry Expertise

Banking & Finance, Accounting

Tools

Shell, Rake, Ansible, RabbitMQ, Cucumber, Watir, RSpec, NGINX, Sublime Text, Zsh, Git, Intacct, Zapier

2005 - 2010

Master's Degree in Automobile Engineer

Belarussian National Technical University - Minsk, Belarus

AUGUST 2019 - PRESENT

Mathematical Thinking in Computer Science

Coursera

MARCH 2019 - PRESENT

Data Structures and Algorithms Specialization

Coursera

JUNE 2018 - PRESENT

Learning How to Learn: Powerful Mental Tools to Help You Master Tough Subjects

Coursera

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring