Dmitry Lashkov, Software Developer in Saint Petersburg, Russia
Dmitry Lashkov

Software Developer in Saint Petersburg, Russia

Member since February 1, 2016
Dmitry is a software engineer with over seven years of experience. He has worked with existing products, built complex ones from scratch, and has the ability to focus, dive in, and gain a complete understanding of the problem he's solving. He loves automated tests, reviewed pull requests, and agile methodologies because they allow developers to build quality products and grow professionally. Ruby and Ember are his technologies of choice.
Dmitry is now available for hire

Portfolio

  • Toptal Client
    Rollbar, JavaScript, SCSS, HTML, jQuery, Heroku, PostgreSQL, Sidekiq...
  • Playgong
    Amazon Web Services (AWS), Bootstrap, SCSS, HTML, Monit, AWS, Capistrano...
  • Hybrid (via Toptal)
    Airbrake, Heroku, Puma, Bootstrap, HTML, SCSS, jQuery, Haml, Stripe, PayPal...

Experience

Location

Saint Petersburg, Russia

Availability

Part-time

Preferred Environment

Git, Bash, RubyMine, Ubuntu

The most amazing...

...thing I've built is a quantum simulator for the dynamics of simple molecules.

Employment

  • Lead Full-stack Developer

    2017 - PRESENT
    Toptal Client
    • Led a team of developers to convert a single-tenant fintech app into a multi-tenant one.
    • Implemented reliable imports of customer and financial data.
    • Helped pick the next best feature based on the ROI.
    • Effectively managed tech debt, helping to make refactoring decisions based on tradeoff between long-term stability and immediate development time investment.
    • Worked on a solid integration of microservices.
    • Introduced peer-reviewed pull requests and continuous deployment with CircleCI.
    Technologies: Rollbar, JavaScript, SCSS, HTML, jQuery, Heroku, PostgreSQL, Sidekiq, Ember.js, RSpec, Ruby on Rails (RoR), Ruby
  • Full-stack Developer, CTO, Co-founder

    2014 - PRESENT
    Playgong
    • Implemented a fully-fledged API for Android, iOS, and Ember apps from scratch.
    • Built a responsive Ember CLI app that consumes the API and reports JS errors to Errbit.
    • Extended Rails architecture with class groups like services (for business logic), policies (for authorization), and queries (for fetching records) to avoid bloated controllers and models.
    • Implemented an effective API versioning scheme with only the two latest API versions to maintain.
    • Implemented leaderboard versioning, allowing user to change any game result and recalculate the leaderboard state.
    • Achieved 100% test coverage of the code base with unit, controller, and integration tests.
    • Set up continuous deployment process via Jenkins, automated tests, and hot unicorn deploys via Capistrano.
    • Set up a separate Ember deployment process with asset uploads to AWS S3 and API behind an Nginx reverse proxy.
    • Set up process monitoring with Monit.
    Technologies: Amazon Web Services (AWS), Bootstrap, SCSS, HTML, Monit, AWS, Capistrano, Sidekiq, RSpec, MySQL, Ember CLI, Ember.js, Ruby on Rails (RoR), Ruby
  • Full-stack Developer

    2016 - 2017
    Hybrid (via Toptal)
    • Wrote a flexible client crediting solution for the platform allowing clients to hire workers for one-off online jobs. Clients could use both prepaid mode and weekly/monthly charges based on the amount of services used. Credit limit and other limits were put in place.
    • Found and fixed multiple race conditions and other bugs in previously written PayPal integration code for incoming client payments and outgoing worker payments. Improved Stripe integration. As a result, the company stopped losing money because of incorrectly processed payments.
    • Introduced DRY principle, lean models, and a controller approach by extracting business logic into specialized service classes. All new code, including service classes, received full coverage with specs.
    • Found and fixed bugs in the subsystem accounting the amount of work done by workers.
    • Made the whole test suite pass by fixing all previously broken tests, introduced Better Specs guidelines and continuous deployment using CircleCI.
    • Optimized slow and complex SQL queries by replacing nested queries with outer joins.
    • Improved quality of the code submitted by colleagues by carefully reviewing pull requests.
    Technologies: Airbrake, Heroku, Puma, Bootstrap, HTML, SCSS, jQuery, Haml, Stripe, PayPal, Capybara, Sidekiq, RSpec, PostgreSQL, Ruby on Rails (RoR), Ruby
  • Lead Front-end Developer

    2016 - 2016
    Anatas (via Toptal)
    • Led a team of developers reviving and migrating an Ember 1 enterprise cloud management app without Ember Data to Ember 2 with Ember Data. The goal of winning corporate tender was successfully achieved.
    • Improved UI/UX and in-app workflows.
    • Integrated the app with a new infrastructure of Node.js Express microservices used to control CloudFoundry.
    • Introduced Ember components with a “data down actions up” approach.
    • Introduced SCSS with multiple partials, mixins, and variables instead of one CSS file.
    • Added back-end mocking with Mirage.
    • Cleaned up the codebase and enforced strict coding standards on pull requests using ESLint.
    Technologies: Bootstrap, SCSS, CloudFoundry, MongoDB, Mirage, Ember CLI, Node.js, Ember.js
  • Ruby Developer

    2013 - 2014
    Vinted
    • Worked on implementing an escrow subsystem of the marketplace by integrating a whitelabeled payment system via REST API.
    • Worked on integrating package delivery monitoring for the escrow subsystem.
    • Led a team as scrum master to implement vouchers for the marketplace.
    • Developed company account balance calculation that separated voucher money from escrow money and showed turnover.
    • Implemented funnel tracking in the internal analytics tool.
    • Implemented app-wide feature switches and integrated them with existing A/B test functionality.
    • Refactored old parts of the system via a two-step process of new tests first and refactoring itself second.
    • Eliminated race conditions in internal marketing campaign tool.
    Technologies: Backbone.js, Delayed Job, RSpec, MySQL, Ruby on Rails (RoR), Ruby
  • Full-stack Developer

    2012 - 2013
    Same System
    • Implemented a retail shop network budget analysis tool from back-end to front-end.
    • Maintained and updated the salary calculations subsystem for various jurisdictions.
    • Rewrote the vacation planner and other old and neglected parts of the system.
    • Eliminated numerous haunting false positives from headless browser Cucumber integration tests by employing a deterministic approach.
    • Developed a library for time segment calculus.
    • Developed a library for table generation in CSV, HTML, and JSON formats.
    • Quickly solved critical bugs.
    Technologies: JavaScript, Delayed Job, Cucumber, MySQL, Ruby on Rails (RoR), Ruby
  • Full-stack Developer, Co-founder

    2011 - 2012
    Tenderella
    • Created a web scraper for public tenders using Ruby.
    • Designed a PostgreSQL database for various tender types and accompanying official notices.
    • Used Ruby on Rails single table inheritance and polymorphic associations to solve the problem of many types of tenders and notices.
    • Integrated Solr for fast and relevant tender search.
    • Integrated Resque with Rufus Scheduler for periodical runs of the web scraper.
    Technologies: Nokogiri, Resque, Solr, PostgreSQL, Ruby on Rails (RoR), Ruby

Experience

  • Playgong

    A leaderboard app for real life 1 on 1 games and sports. Back-end Rails API and front-end Ember app were created by myself from scratch.

  • Konstructor - Ruby Gem
    https://github.com/snovity/konstructor

    Multiple constructors in a idiomatic Ruby way. Small, fast, thread-safe, doesn't depend on other gems.

  • Quantum Modeling of Simple Molecules

    A C# application that simulates hydrogen, oxygen, and carbon atom collisions, covalent bonds, associations, and dissociations for water and methane molecules. The app accounts for quantum effects using an algorithmic approach that is based on constructive physics. The core idea is to represent each atom by several imaginary interconnected atoms to simulate a quantum wave packet.

  • Casual Multiplayer Games

    Front-end part of multiplayer dice and dominoes games written in ActionScript for Flash platform. These games were fat clients and simulated back-end logic for better game responsiveness. Front-end confirmed its calculations with back-end after getting a response.

  • Intranet Drug Accounting System

    A web app for the internal network of a big medical complex. It was integrated with an accounting windows app used by the facility. Departments started using the new web app to manage drug distribution and consumption and longer needed a licence for a desktop client of the accounting app. It saved a fortune for the medical facility.

  • Git Best Practices and Tips by Toptal Developers (Publication)
    This resource contains a collection of Git best practices and Git tips provided by our Toptal network members.

Skills

  • Languages

    Ruby, SQL, SCSS, Emblem, CSS3, HTML, JavaScript, HTML5, C, C++, C#, Haml, Python, YAML, Unicorn, Microsoft Assembly x86 (MASM), Bash
  • Frameworks

    Ruby on Rails (RoR), Ember.js, Factory Girl, Bootstrap, Capybara, Grape, Express.js
  • Libraries/APIs

    Ember Data, Sidekiq, Ruby on Rails API, JSON API, jQuery, Handlebars, Sucker_punch, JSONP, GCM, Underscore.js, Delayed Job, Stripe, Devise, Rollbar, Node.js, Nokogiri, Backbone.js, Paperclip, Resque
  • Tools

    RSpec, GitHub, Cucumber, Git, JBuilder, Grunt, Nginx, Bower, NPM, Capistrano, RubyMine, Solr, Airbrake, Monit
  • Paradigms

    Object-oriented Programming (OOP), Scrum, Test-driven Development (TDD), ACID, Concurrent Programming, Agile Software Development, Behavior-driven Development (BDD), Model View Controller (MVC), Microservices, Progressive Enhancement, Kanban
  • Platforms

    Heroku, Linux, Ubuntu, Amazon Web Services (AWS), FreeBSD
  • Other

    CanCan, Ruby Gems, PayPal, Lean Startups, Ember CLI, User Stories, Delayed_job, AWS, Puma, Mirage, CloudFoundry, Ruby Performance
  • Storage

    JSON, Redis, Memcached, PostgreSQL, MySQL, MongoDB

Education

  • Specialist's degree in Computer Engineering and Applied Mathematics
    2004 - 2009
    Lomonosov Moscow State University - Moscow

To view more profiles

Join Toptal
Share it with others