Mikhail Pospelov, Developer in Tver, Tver Oblast, Russia
Mikhail is available for hire
Hire Mikhail

Mikhail Pospelov

Verified Expert  in Engineering

Software Developer

Location
Tver, Tver Oblast, Russia
Toptal Member Since
July 12, 2016

Mikhail has over ten years of experience building different kinds of web services (mostly using Ruby on Rails, React, and AngularJS). He firmly believes that TDD is the only way to build bulletproof code that makes everyone happy and allows a development team to rest at night.

Portfolio

Toptal
GraphQL, Ruby on Rails (RoR), Ruby, Node.js, Apollo, API Gateways, Datadog...
Falcon projects
HTML, CSS, Ruby on Rails (RoR), JavaScript, Ruby, React, CSS3, HTML5, Git...
Printfriendly
BigQuery, Google Cloud Platform (GCP), Browsers, Extensions, Redis...

Experience

Availability

Part-time

Preferred Environment

Git, Visual Studio Code (VS Code), MacOS, Fish, Docker, Ruby, Ruby on Rails (RoR), React

The most amazing...

...feature I've built was a graph-based algorithm that autosuggested timetables to therapists.

Work Experience

Principal Software Developer

2019 - 2023
Toptal
  • Took responsibility for a performance improvement initiative and motivated the team to improve by 10% of all GQL in two weeks.
  • Integrated Datadog into GQL infrastructure that highlighted more than 100 possible improvements in our codebase.
  • Took charge of the standardization initiative and proposed more than 10 standards on how to approach GQL API.
  • Authored the core company library used across 10 teams across the company for GQL API development.
  • Introduced a new way of fetching data via GraphQL for better reusability, which prevented us from creating hundreds of the same classes.
  • Introduced a code generation tool for common code structures; as a result, we increased the development speed twofold.
  • Contributed to open-source dependencies, simplifying the core platform codebase.
  • Created a reverse-engineering tool that helps keep track of legacy code changes and wire new code with legacy ones. The usage of the tool reduced the number of change requests during the feature release from 20 to two per week.
Technologies: GraphQL, Ruby on Rails (RoR), Ruby, Node.js, Apollo, API Gateways, Datadog, Grafana, New Relic, Amazon Web Services (AWS), Git, Object-oriented Programming (OOP), Functional Programming

Rails Developer

2018 - 2019
Falcon projects
  • Removed thousands of copy-paste codes by applying DRY, a principle of software development aimed at reducing the repetition of software patterns.
  • Reduced the number of queries to the database on each request by a factor of two.
  • Increased coverage from 60% to 90% using RSpec and Capybara.
Technologies: HTML, CSS, Ruby on Rails (RoR), JavaScript, Ruby, React, CSS3, HTML5, Git, Object-oriented Programming (OOP), Webpack

Senior Software Developer

2018 - 2019
Printfriendly
  • Sliced 7,000 lines of legacy code into modular and maintainable code.
  • Introduced new abstraction layers for better reusability.
  • Established machine learning techniques for printable content recognition instead of plain if/else legacy code.
  • Reduced the CPU and memory consumption of the app by 30%, replacing legacy PhantomJS and Wicked PDF with headless Chrome.
  • Sped up the test suite by 10% by fixing flaky tests.
Technologies: BigQuery, Google Cloud Platform (GCP), Browsers, Extensions, Redis, Docker Compose, Docker, jQuery, PhantomJS, JavaScript, Ruby on Rails (RoR), HTML5, CSS3, Git, Object-oriented Programming (OOP), Functional Programming, Chrome Extensions

Lead Web Developer

2015 - 2018
Salony
  • Built a maintainable API service with hundreds of endpoints from scratch.
  • Implemented a core algorithm for scheduling: the algorithm ran in milliseconds for hundreds of salons.
  • Set up and improved the workflow for a team of six developers.
  • Implemented a complex calendar with React. The calendar could show thousands of events without lags.
  • Performed 100% test coverage for both Ruby API service and React client-side code.
  • Created interview tasks, which allowed us to find great developers.
Technologies: Amazon Web Services (AWS), PostgreSQL, Redis, RabbitMQ, WebSockets, Java, Groovy, Elasticsearch, Elixir, Phoenix, AngularJS, Redux, React, JavaScript, Ruby on Rails (RoR), Ruby, CSS3, HTML5, iOS, Android, Erlang, Git, Object-oriented Programming (OOP), Webpack, Redux-Saga, Functional Programming

Senior Software Developer

2015 - 2015
GobGob
  • Implemented a core algorithm for prices based on weekly packages using Elasticsearch extensions.
  • Improved test coverage from 0 to 95% using RSpec and Capybara, a library written in the Ruby programming language.
  • Created interview tasks that enabled us to find great developers.
Technologies: Amazon Web Services (AWS), PostgreSQL, GrapesJS, Groovy, Elasticsearch, AngularJS, JavaScript, Ruby on Rails (RoR), CSS3, HTML5, Git, Object-oriented Programming (OOP), Gulp

Senior Ruby Developer

2015 - 2015
Emyoli
  • Rewrote a single huge legacy one-file code into a maintainable structure.
  • Converted a Node.js app successfully into Ruby on Rails.
  • Extended the functionality of the huge questionary form to provide better UX.
Technologies: MongoDB, MySQL, PostgreSQL, Heroku, Express.js, GrapesJS, Node.js, JavaScript, Ruby on Rails (RoR), CSS3, iOS, Android, Git, Object-oriented Programming (OOP)

Senior Ruby Developer

2014 - 2015
Texenergo
  • Created an email-text recognition algorithm that automated the labor work of the operation team.
  • Automated routine tasks handled by 100 people.
  • Increased test coverage from 0 to 80% using RSpec.
Technologies: Amazon Web Services (AWS), MongoDB, AngularJS, JavaScript, Ruby on Rails (RoR), HTML5, Git, Object-oriented Programming (OOP)

Lead Ruby on Rails Developer

2013 - 2014
Meier Link
  • Managed projects and interviewed and mentored new team members.
  • Provided a course for newcomers to jump into software development.
  • Took responsibility for searching for new jobs on the market and selling them our services.
  • Developed software using Ruby on Rails and AngularJS.
Technologies: PostgreSQL, Java, Android, Elasticsearch, Sphinx Search Engine, GrapesJS, DigitalOcean, CoffeeScript, Ruby on Rails (RoR), Ruby, HTML5, CSS3, Git, Object-oriented Programming (OOP)

Ruby on Rails Developer

2012 - 2013
Gradus
  • Built and supported integration tools for local market IT products.
  • Created several eCommerce websites in close succession.
  • Helped to land three junior devs into the company and mentored them.
Technologies: MySQL, PostgreSQL, Sphinx Search Engine, GrapesJS, DigitalOcean, Spree, jQuery, JavaScript, CoffeeScript, Ruby on Rails (RoR), Ruby, HTML5, CSS3, Git, Object-oriented Programming (OOP)

Salony | App

https://geo.itunes.apple.com/us/app/salony/id1023738933?mt=8
Salony.com website and apps give salon professionals everything they need to schedule appointments and showcase their work. This platform gives clients a place to search, discover, and book appointments.

This was a huge project that contained many moving parts.

I managed the project and served as a team lead. I worked on the back-end API (Ruby on Rails), admin interface (AngularJS), web interface for a salon owner (AngularJS and later rewritten to React), and WebSocket microservice (Elixir/Phoenix).

As a result, the client received a working project in less than two months and started receiving initial customer feedback.

After receiving the feedback, we continued upgrading this project, which still requires a great deal more work.

The most interesting task was to build timetables for selected services so that the customers could see available times in real time. There were too many instances to take into account when building this timetable. The client could not factor in all the requirements, so he delegated this task to me. As a result, we got a great algorithm that solved this problem quickly and accurately and remained scalable.

The client was very happy with our work.

Gobgob | Website

Gobgob.com is a chalet and beach house rental service in Kuwait.

When I came to the project, I worked with a 3D team that had already started building the service from scratch. I joined the team mid-project, so I had to deliver quickly and with good quality, as I had strict deadlines.

I was tasked with developing the application's business logic and managing a team of two front-end developers and two back-end developers.

As a result of our work, the client received a working project that generated revenue.

The most exciting task was solving the problem of customers who rented the property briefly, especially during holidays. We decided to slice a timetable into indivisible pieces (weekend, midweek, full-week, or any dynamic holiday). It was easy to slice, but calculating the price depending on a selected date range was difficult to manage. In the end, we suggested that they use Elasticsearch to handle the dynamic calculations, and we solved the issue in a reasonable time.

After implementing the solution, the client continued working on it by adding a special offers mechanism, and thanks to TDD, we could apply it very fast without any pitfalls.

printfriendly Extension

http://printfriendly.com/
It's a browser extension that converts any webpage into a printable version. I designed and implemented an elimination algorithm that removes sections like "share with social network", "related articles", "webpage header", "webpage footer", etc. I also transferred browser extensions from V2 to the V3 manifest and fixed many security vulnerabilities while doing it.
2015 - 2016

Master's Degree in Computer Science

Glyndŵr University - Wrexham, Wales, UK

2014 - 2016

Master's Degree in Computer Aided Design

Bauman Moscow State Technical University - Moscow, Russia

2010 - 2014

Bachelor's Degree in Computer Engineering

Tver State University - Tver, Russia

Libraries/APIs

React, Redux-Saga, jQuery, Node.js, PhantomJS, Puppeteer, Selenium Grid

Tools

Webpack, Gulp, Git, Spree, RabbitMQ, BigQuery, Docker Compose, Grafana

Frameworks

Redux, Ruby on Rails (RoR), AngularJS, GrapesJS, Phoenix, Express.js, .NET

Languages

Ruby, JavaScript, GraphQL, CSS3, HTML5, CoffeeScript, Java, Groovy, Erlang, Elixir, R, HTML, Bash, CSS

Paradigms

Object-oriented Programming (OOP), Functional Programming

Storage

PostgreSQL, Elasticsearch, Sphinx Search Engine, MySQL, Redis, MongoDB, Datadog

Platforms

MacOS, DigitalOcean, Docker, Google Cloud Platform (GCP), Heroku, Amazon Web Services (AWS), iOS, Android, Visual Studio Code (VS Code), New Relic

Other

WebSockets, Extensions, Browsers, Computer Science, Optimization, Fish, Apollo, API Gateways, Chrome Extensions

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