Andrey Koleshko, Software Developer in Warsaw, Poland
Andrey Koleshko

Software Developer in Warsaw, Poland

Member since September 3, 2013
Andrey 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 ones. Andrey has broad skills in implementation and maintenance.
Andrey is now available for hire

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

Location

Warsaw, Poland

Availability

Part-time

Preferred Environment

Git, Zsh, OS X, Visual Studio Code

The most amazing...

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

Employment

  • 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
  • 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 Clients
    • 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, TypeScript, REST APIs, Heroku, SQL
  • 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

Experience

  • 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.

Skills

  • Languages

    JavaScript, Ruby, TypeScript, GraphQL, SQL, HTML5, CSS3, Java, Python, CoffeeScript, SCSS, Sass
  • Frameworks

    Ruby on Rails (RoR), Ruby on Rails 5, Next.js, 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
  • Storage

    Elasticsearch, PostgreSQL, Redis, Amazon DynamoDB
  • Other

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

    Shell, Rake, Ansible, RabbitMQ, Cucumber, Watir, RSpec, NGINX, Sublime Text, Zsh, Git, Intacct, Zapier
  • 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