Mikhail Pospelov
Verified Expert in Engineering
Software Developer
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
Experience
Availability
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
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.
Rails Developer
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.
Senior Software Developer
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.
Lead Web Developer
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.
Senior Software Developer
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.
Senior Ruby Developer
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.
Senior Ruby Developer
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.
Lead Ruby on Rails Developer
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.
Ruby on Rails Developer
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.
Experience
Salony | App
https://geo.itunes.apple.com/us/app/salony/id1023738933?mt=8This 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
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/Education
Master's Degree in Computer Science
Glyndŵr University - Wrexham, Wales, UK
Master's Degree in Computer Aided Design
Bauman Moscow State Technical University - Moscow, Russia
Bachelor's Degree in Computer Engineering
Tver State University - Tver, Russia
Skills
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
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring