Viktar Basharymau, Developer in Warsaw, Poland

Viktar Basharymau

Software Developer

Location
Warsaw, Poland
Toptal 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, JavaScript, C#, and Java, is adept at FP, and is always eager to learn new things. He is an active open source contributor.

Viktar is available for hire
Hire Viktar

Portfolio

The Hamon
Redis, MySQL, PostgreSQL, CoffeeScript, Elasticsearch, Node.js...
Epam Systems
MongoDB, Microsoft SQL Server, MSMQ, Amazon EC2, C#, Java, Hadoop
Epam Systems
Task Parallel Library (TPL), ETL, C#

Location

Warsaw, Poland

Availability

Part-time

Preferred Environment

Git, RubyMine, Vim Text Editor, Sublime Text, MacOS, Ubuntu

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.js and Ruby services.

Work Experience

2012 - 2015

Lead Ruby Engineer

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: Redis, MySQL, PostgreSQL, CoffeeScript, Elasticsearch, Node.js, Ruby on Rails (RoR), Ruby
2010 - 2012

.NET Key Developer, Java Key Developer

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: MongoDB, Microsoft SQL Server, MSMQ, Amazon EC2, C#, Java, Hadoop
2010 - 2010

.NET Key Developer

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: Task Parallel Library (TPL), ETL, C#
2007 - 2010

MS SQL Developer, Java Developer, FAST CCR Developer

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: Ruby, Microsoft SQL Server, WiX, FAST ESP, Java
2007 - 2007

.NET Developer

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: JavaScript, Microsoft SQL Server, C#, Web Services, ASP.NET

Skills

Languages

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

Frameworks

JSON Web Tokens (JWT), Sinatra, Capybara, Ruby on Rails (RoR), Flux, Factory Girl, ASP.NET, Hadoop

Libraries/APIs

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

Tools

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

Paradigms

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

Platforms

Heroku, Linux, Ubuntu, MacOS, FAST ESP, Docker, DigitalOcean, Amazon EC2

Other

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

Storage

Elasticsearch, Redis, Microsoft SQL Server, MySQL, PostgreSQL, MongoDB

Education

2003 - 2008

Bachelor's Degree in Computer Science

Belarusian State University - Minsk, Belarus