Viktar Basharymau, Data Structures Developer in Minsk, Minsk Region, Belarus
Viktar Basharymau

Data Structures Developer in Minsk, Minsk Region, Belarus

Member since October 26, 2015
Viktar is a seasoned developer with strong analytical skills and deep knowledge of different fields of computer science. He has production experience in Ruby, JS, C# and Java, is adept at FP, and is always eager to learn new things. He is an active open source contributor.
Viktar is now available for hire

Portfolio

  • The Hamon
    Ruby on Rails, Node.js, Elasticsearch, CoffeeScript, PostgreSQL, MySQL, Redis
  • Epam Systems
    Apache Hadoop, MonogDB, Java, C# Amazon EC2, MSMQ, SQL Server
  • Epam Systems
    C# 4.0, Task Parallel Library, ETL

Experience

  • Data Structures, 8 years
  • Algorithms, 8 years
  • Functional Programming, 6 years
  • Ruby, 5 years
  • Behavior-driven Development (BDD), 3 years
  • Ruby on Rails (RoR), 3 years
  • JavaScript, 3 years
  • Ruby Performance, 3 years

Location

Minsk, Minsk Region, Belarus

Availability

Part-time

Preferred Environment

Ubuntu/OS X, Sublime Text/VIM/Rubymine, Git

The most amazing...

...thing I've delivered is a system build with Rails and Node.js. The system consists of a big Rails app and several smaller Node and Ruby services.

Employment

  • Lead Ruby Engineer

    2012 - 2015
    The Hamon
    • Supported a big old Rails application, constantly improving the code (performance-wise and maintainability-wise) and adding new features. Successfully migrated the app from Rails 2 to Rails 3, and then to Rails 4.
    • Maintained a smaller Rails app for sending email and SMS notifications. This app was used by the main, big app I mentioned earlier.
    • Created a Node.js REST back-end for one of our data sources. We used Elasticsearch to store the data.
    • Built a microservice for PDF generation using Sinatra and Sidekiq.
    • Created a websocket service in order to handle open connections between browsers and our backend. Some of our pages change frequently, so we use websockets messages to push notifications to clients. At the back-end, Redis was used.
    • Created a tool to load-test most critical pieces of our software.
    • Built deployment scripts for our apps in Capistrano 3.
    Technologies: Ruby on Rails, Node.js, Elasticsearch, CoffeeScript, PostgreSQL, MySQL, Redis
  • .NET Key Developer, Java Key Developer

    2010 - 2012
    Epam Systems
    • Took part in development of .NET-based event processing system (kind of like Google Alerts). The system consisted of a number of microservices communicating between each other via message queues.
    • Implemented a number of quite complex stored procedures on SQL Server side in order to avoid unnecessary round-trips from the app to database and to create a layer of abstraction between DB schema and the application.
    • Build a data loader for the see-results-as-you-type feature. The data loader processed a big pile of gzipped XML using Amazon-based Apache Hadoop cluster, enriched it with data from another data source and built an inverted index in MongoDB.
    • Created a test framework in Ruby and Cucumber to ensure that our REST services work correctly. Our QA team used this framework to build automated tests.
    Technologies: Apache Hadoop, MonogDB, Java, C# Amazon EC2, MSMQ, SQL Server
  • .NET Key Developer

    2010 - 2010
    Epam Systems
    • Created an ETL framework using C# as a replacement for another proprietary framework as lead developer of a small team.
    • Implemented an ETL tool based on the framework I developed and compared it with the previously-written tool. There was a significant performance boost and noticeable improvements in maintainability.
    • Created a tool to automatically compare output datasets of the app and the newly created app.
    Technologies: C# 4.0, Task Parallel Library, ETL
  • MS SQL Developer, Java Developer, FAST CCR Developer

    2007 - 2010
    Epam Systems
    • Took part in the creation of a big ETL system written with use of FAST CCR framework in a team of about 20 people. FAST CCR is a proprietary framework written in Java.
    • Optimized performance and created multiple queries and stored procedures for SQL Server.
    • Created a testing framework to test the accuracy of output of our tool, prevent regressions, and measure performance.
    • Replaced parts of FAST CCR that were performance bottlenecks with custom components which I implemented in Java.
    • Developed a number of Ruby scripts to automate routine developer tasks specific to the project.
    Technologies: Java, FAST ESP, FAST CCR, WiX, SQL Server, a bit of Ruby
  • .NET Developer

    2007 - 2007
    Epam Systems
    • Contributed to the creation of back-ends for a set of financial applications as part of a team of ~20 members. My responsibilities included bug fixing and implementation of new features using C# and ASP.NET.
    Technologies: ASP.NET, Web Services, C# 2.0, a bit of JS, SQL Server

Experience

  • Choosing a Tech Stack Alternative - The Ups and Downs (Publication)
    If a web application is big and old enough, there may come a time when you need to break it down into smaller, isolated parts and extract services from it. Some of these will be more independent than others. In this post, Toptal Full-stack Developer Viktar Basharymau explains how his team extracted an app from the monolithic Rails application that powers Toptal, and how the new service's technical stack was selected.

Skills

  • Languages

    CoffeeScript, Ruby, Domain-specific Languages (DSLs), JavaScript, SQL, Clojure, Haml, Haskell, C#, Elixir
  • Frameworks

    JSON Web Tokens (JWT), Sinatra, Capybara, Ruby on Rails (RoR), Flux, Factory Girl, Hadoop
  • Libraries/APIs

    jQuery, Nokogiri, Underscore.js, Task Parallel Library (TPL), Sidekiq, Backbone.js, Ruby on Rails API, React, D3.js, LeafletJS
  • Tools

    Cucumber, RSpec, Git, Capistrano, RubyMine, Subversion (SVN), wkhtmltopdf, VCR, JBuilder, TortoiseSVN, Sublime Text, Vim Text Editor
  • Paradigms

    Functional Programming, Test-driven Development (TDD), Metaprogramming, CQRS, Behavior-driven Development (BDD), Continuous Integration (CI), REST, Pair Programming, Continuous Delivery (CD), Microservices
  • Platforms

    Heroku, Linux, Ubuntu, Docker, DigitalOcean, AWS EC2
  • Other

    Data Structures, Algorithms, Open Source, Delayed_job, Legacy Code, Domain-driven Design (DDD), Ruby Performance, HTTP, Scraping, Web Scraping, WebSockets, Servant
  • Storage

    Elasticsearch, Redis, Microsoft SQL Server, MySQL, PostgreSQL

Education

  • Bachelor's degree in Computer Science
    2003 - 2008
    Belarusian State University - Minsk, Belarus

To view more profiles

Join Toptal
I really like this profile
Share it with others