Dmitry Borody

Dmitry Borody

Moscow, Russia
Hire Dmitry
Scroll To View More
Dmitry Borody

Dmitry Borody

Moscow, Russia
Member since February 24, 2017
Dmitry is a versatile full-stack developer with solid skills in the modern web (React, Angular 2+), Python, and Linux as well as having a good algorithmic mind. He enjoys developing the front and back-end as well as dealing with DBs, deployments, and automatization. While working on a project, he communicates clearly and always strives for a deep understanding of his client's needs to address their problems most efficiently.
Dmitry is now available for hire
Portfolio
Experience
  • JavaScript, 6 years
  • Python, 5 years
  • C++, 4 years
  • Node.js, 3 years
  • React.js, 2 years
Moscow, Russia
Availability
Full-time
Preferred Environment
Linux/OS X, Git,VS Code, Vim, WebStorm
The most amazing...
...thing I've made is a web platform for an HFT trading algorithms contest with a cluster infrastructure for a performance simulation using real historical data.
Employment
  • Full-Stack Web Developer
    Reporter Suite (via Toptal)
    2017 - PRESENT
    • Did a complete rewrite of a legacy AngularJS app to modern React.
    • Set up the infrastructure, deployment, and monitoring for the updated application on AWS cloud platform; as well as user analytics and client-side error tracking.
    • Migrated old users and data to the new app, ensuring a smooth transition for the existing customers.
    • Working closely with the project owner, implemented many new features: Stripe payments processing; notifications functionality; admin UI and many others.
    Technologies: ES6, React, Redux, Webpack, Node.js, AWS, Stripe, Docker, Ansible
  • Student Mentor (HTML, CSS, JavaScript)
    HTML Academy (Online Front-End Courses)
    2017 - PRESENT
    • Took part in the best online education project in front-end technologies in Russia.
    • Reviewed students' code.
    • Conducted Q&A Skype calls, gave advice on how to write better JavaScript, HTML5, and CSS3 code following best practices such as BEM or progressive enhancement.
    Technologies: HTML5, CSS3, JavaScript, ES6, Webpack, Less, BEM, Progressive Enhancement
  • Full-Stack Web Developer
    Baleen Labs (via Toptal)
    2017 - 2017
    • Developed a proof-of-concept SPA: visual block editor for code and business logic, akin to Microsoft micro:bit.
    • Adapted a drag-n-drop library Dragula to play well with React.
    • Implemented a markup after being provided Sketch designs for Baleen.io (a promo page for the company and their product).
    • Developed another demo SPA that heavily used Google Maps API.
    • Helped to adapt an existing API for this second demo to be more RESTful-like, and integrated this API with the front-end.
    • Took care of the dockerization and deployment of the developed apps to EC2 and documented the process of the deployment.
    Technologies: React, Redux, Vue.js, ES6, Webpack, Python, Flask, AWS, EC2, Docker
  • Full-Stack Web Developer
    Smarkets
    2016 - 2017
    • Optimized the app load time and client-side performance using such techniques like above-the-fold rendering, code splitting, caching of server-side rendered React components, and more.
    • Consolidated localization messages between the web and mobile app—implemented tooling for intracompany collaborative crowd-sourced localization.
    • Worked closely with UX designers to optimize the web-app for desktop experience—implemented responsive desktop layout, improved keyboard navigation, and more.
    • Implemented and integrated with our Jenkins CI end-to-end Selenium tests running on the BrowserStack cloud platform on different browsers and different types of OS.
    • Created tools for stress-testing and performance reports (max requests per second, CPU/memory utilization, and more) of the server-side rendering server.
    • Participated in technical interviews for candidates for the generalist software engineer position.
    • Ported a number of critical features from the older monolithic website.
    Technologies: React, Redux, GraphQL, React Native, ES6, Webpack, Node.js, Express, Python, Flask, AWS, Docker, Linux
  • Software Engineer
    AIM Tech Algotrading
    2015 - 2016
    • Developed a scalable cluster system for easier scheduling of simulations of trading strategies on historical data to boost productivity of our quantitative analysts.
    • Designed and implemented the web front-end for this system so that that the quantitative analysts can launch their simulations, compare the performance of different approaches, visualize the results, and export data for further analysis.
    • Adapted the same back-end and developed a new front-end for a student contest of HFT (high-frequency trading) strategies. The contest lasted 2 months and attracted ~1000 participants, mainly Russian math/computer science students which allowed the company to greatly expand its pool of quantitative analyst candidates.
    • Set up the infrastructure for logging and monitoring the system using open source technologies such as Prometheus, Grafana, and Graylog for better visibility, user analytics, performance monitoring, and ease of debugging.
    • Implemented a number of high-performant data parsers for different trading data formats (FIX, FAST, and more).
    • Participated in the technical interviews involving our team by designing interview questions and test projects for the candidates.
    Technologies: ES6, React, Webpack, Python, Flask, Django, Redis, RabbitMQ, Postgres, MongoDB, AWS, Ansible, Docker, Graylog, Prometheus
  • R&D Software Simulation Intern
    Intel
    2013 - 2014
    • Worked on a performance simulator for a new, experimental computer architecture in a small team of researchers.
    • Investigated the impact of several architectural features on the performance of the modeled architecture, implemented these features in the simulator, and presented the report at the end of the internship.
    • Learned a great deal about low-level programming, compilers, computer architecture, and code optimizations.
    Technologies: Linux, C, C++, CMake, Makefile, Bash
  • Freelance Software Enginneer
    Freelance Work
    2012 - 2014
    • Developed a cross-platform desktop application for testing and developing electronic devices working with ARINC429 protocol (a protocol used in avionics). I worked on it together with another engineer, doing both low-level and UI programming as well as handling the communication with the client and presenting the product. Technology stack: C, C++, Qt4, serial ports.
    • Prototyped various algorithms for discrete optimization (route-planning, TSP) and classification problems. Technology stack: Python, Cython, Numpy, SciPy.
    • Supported and improved 5 different web apps for small-to-medium enterprises. Refactored legacy code, reduced technical debt and added new features, working in a small distributed team. Technology stack: Java EE, GWT, PHP, JavaScript, MySQL, WordPress, phpBB.
    Technologies: Python, Cython, Numpy, SciPy, C, C++, Qt4, JavaScript, PHP, MySQL, Apache, Java EE, GWT, Tomcat
Experience
  • Smarkets Web App (Development)
    https://next.smarkets.com

    The new mobile-first real-time web app for Smarkets, a London-based prediction markets (aka betting) exchange. Being a part of a very tight team with daily standup meetings and frequent cross-team communication, there was a lot of responsibility on my shoulders and I contributed a great deal to the app's functionality and performance.

    The project itself is meant to replace the older monolithic legacy website. It now has a much more maintainable code base, some parts of which are shared with our React Native mobile app, a top-notch technology stack, and is built upon the best practices for modern high-performant mobile sites.

  • HFT Battle | Trading Strategies Contest Platform (Development)
    https://www.hftbattle.com/

    This project is an online contest platform for high-frequency trading strategies, simulated on real historical data. The idea is to popularize (especially among students) the traditionally secretive field of HFT (high-frequency trading) to spot and attract talent to join the company's quantitative analyst pool.

    Participants can implement their trading strategies in either C++ or Python, and then run it either locally with a provided SDK (for debugging) or use the web-interface to schedule their simulations to be run on a cluster infrastructure. After the simulation is finished, they can see charts visualizing the trading behavior of their algorithms, test and compare different approaches, and export the data for further analysis.

    I started working on this project on my own (including the initial prototype and the refined microservice architecture) and after several months 2 people joined in and we've been working together on it since then. I designed the back-end architecture (a pool of simulation nodes, microservices, a storage layer, and message queues between them), developed the API and the web-interface for participants (Django/Flask, JavaScript), and took care of the infrastructure, CI, and automation.

  • Decision Trees Machine Learning Library (Development)
    https://github.com/dmitru/pines

    A library that implements CART decision trees as well as lesser known Oblivious Decision Trees for classification and regression problems; it's fully compatible with the popular ML package Scikit-learn.

    This project is the result of my interest in machine learning—implementing decision trees from scratch allowed me to deeply understand the concept.

  • Personal Expenses Tracker (Development)

    A web app and a chat bot for tracking income/expenses, suitable for personal use or for collaboration in small groups (e.g. families, or a joint holiday trip with friends). It creates the visualization of your spending habits and allows the importation and exportation of data for further analysis.

    Technology Stack: Node.js, LoopBack.io, ES6, Webpack, React, Redux, HTML5, Sass, Python 3, PyMongo, MongoDB, AWS, Docker, Linux, Bash Scripts.

  • Blog Post: Theming Apps in SASS (Other amazing things)
    https://medium.com/@dmitriy.borodiy/easy-color-theming-with-scss-bc38fd5734d1

    A post explaining the approach that I took at Smarkets to support different color themes in their web application.

  • Visual Code Block Editor (via Toptal) (Development)

    A demo SPA (front-end only) which is a drag-n-drop visual editor for back-end logic, similar to micro:bit from Microsoft. Users could use visual blocks, rearrange (with possible nesting), and configure them so that they express required business logic.

    I've implemented only the front-end part of the project with the back-end being mocked for the demo purposes.

    Technology Stack: React, Redux, Vanilla JavaScript, ES6, Webpack, AWS, and Docker.

  • Reporter Suite Web App (via Toptal) (Development)
    https://www.reportersuite.com/

    About the Reporter Suite app:
    The app of choice for the US court reporters, Reporter Suite greatly simplifies their day-to-day routine.

    Some of its features:
    - Invoice management system with built-in payment processing time, expenses, and case log tracking.
    - Generating official reports based on the tracked data.
    - Public shareable profile pages for court reporters with contact and order forms.
    - And many others.

    About my role:
    My client asked me to do a complete rewrite of the AngularJS legacy app running on the Stamplay platform to something more modern, maintainable and scalable and also to expand the app functionality based on the feedback from users of the old version.

    Some work highlights:
    - Set up AWS infrastructure, a staging environment, monitoring, user analytics dashboards and error tracking; conducted load-testing.
    - Added Stripe payments processing.
    - Enabled authentication with Google accounts
    - Added new user roles and user interactions: e,g, users receive notifications of incoming invoices that other users create for them, etc.
    - Added an admin UI to simplify app maintenance.

    Technology: AWS, Docker, React, Redux, PostgreSQL, Node.js, Hapi, Sequelize, Metabase, TrackJS, Stripe, Redis.

Skills
  • Languages
    HTML5, Python, JavaScript, CSS3, EcmaScript 2015 (ES6), SQL, TypeScript 2, C, Bash, Sass, CoffeeScript, C++, Lisp, PHP, R, Scheme, Processing, C#, Google Apps Script, Java
  • Libraries/APIs
    React.js, Stripe API, Node.js, Highcharts JS, D3.js, Pthreads, jQuery, Web Audio API, Pandas, Immutable.js, Sockets, NumPy, RxJS, Firebase Web SDK, Scikit-learn, VK API, Telegram Messenger API, MailChimp API, Vue.js, OpenMP, Three.js
  • Paradigms
    REST, Unit Testing, Prototype-based OOP, BEM, Stress Testing, Test-driven Development (TDD), Parallel programming, Asynchronous Programming, Web Application Architecture, Responsive Layout, Responsive, Functional Programming, Object-oriented Design (OOD), Reactive Programming, Rapid Prototyping, Continuous Integration (CI), Compiler Design, Continuous Delivery (CD)
  • Frameworks
    Loopback, StrongLoop, Angular 2+, Angular 4, Bootstrap, Hapi.js, Redux, Express.js, Flask, Django, Jest, Mocha, Twisted, React Native, Qt, Boost C++, JUnit, Selenium
  • Tools
    Graylog, Slack, GitHub, Nginx, Jupyter, SVN, Makefile(s), Graphviz, Bitbucket, Git, Jenkins, NPM, Sequelize, Tmux, Mongoose, RabbitMQ, LaTeX, Adobe Lightroom, Webpack 2, Ansible, Docker Compose, Asana, Pivotal Tracker, JIRA, GitLab, GDB, Grunt, Apache, Flex/Bison, Vim Text Editor, Grafana, Vagrant, NewRelic, Stash, Gimp, CMake, BrowserStack, Travis CI, Adobe Photoshop, Karma, Valgrind
  • Platforms
    Firebase, Ngrx, Docker, Linux, OS X, Amazon Web Services (AWS), AWS EC2, CUDA, Arduino, Heroku, Windows, OpenCart
  • Storage
    MongoDB, PostgreSQL, Redis, Relational Databases, MySQL, SQL Server, Memcached, Oracle PL/SQL, Oracle SQL, MS SQL
  • Misc
    Microservices Architecture, Semantic UI, Bash Scripting, Code Splitting, Client-server Model, Computer Networking, ESLint, Rendering Performance, Algorithms & Data Structures, Source Code Reviews, Debugging, Server-side Rendering, Web Performance, Responsive UI, Data Analysis, SVG, MPI Programming, JWT, Scraping, OAuth2, Data Visualization, Web App Security, Gulp, Chatbots, Crontab, GitFlow, Distributed Systems, Celery, Prometheus
Education
  • Bachelor's degree in Computer Science & Applied Mathematics
    Moscow Institute of Physics and Technology - Moscow, Russia
    2011 - 2015
I really like this profile
Share it with others