Senior Full-stack Web Developer2019 - PRESENTInkarnate
Technologies: Ruby on Rails (RoR), Ruby, HTML5 Canvas, Redux-Saga, TypeScript, React
- Designed the architecture and implemented the new React rewrite of the legacy app.
- Updated the legacy Angular app by adding new features and fixing bugs.
- Actively participated in team discussions; giving feedback and sharing my ideas about the product.
Principal Full-stack Web Developer2018 - 2018Random Variations (via Toptal)
Technologies: Audio, MUI (Material UI), Real-time Audio Processing, Web Audio API, MobX, React, Firebase
- Implemented a complete MVP of a real-time music app, from scratch.
- Worked as the only tech person on the team, frequently communicated with my non-tech clients to make sure the end result matched their needs and vision.
Freelance Full-stack Web Developer2017 - 2017Cardero-X (via Toptal)
Technologies: Semantic UI, Webpack, Node.js, MongoDB, Redux, React
- Designed and implemented parts of the REST API.
- Implemented an admin app to enable the CRUD of domain-specific data.
- Added support for different user roles and different access levels inside the admin app.
Freelance Full-stack Web Developer2017 - 2017Audantic (via Toptal)
Technologies: MySQL, Flask, Python, React, Single-page Applications (SPA)
- Implemented a reusable production-quality skeleton for building Flask APIs including authentication with API keys, filtering, pagination, validation, Swagger docs, and more.
- Implemented a heat map visualization of property prices with Google Maps.
- Designed and implemented a product page with embedded Looker data dashboards.
- Measured and optimized the performance of certain API calls—optimizing the database query performance.
- Consulted with my client regarding the technology choices for the web and API.
Freelance Full-stack Web Developer2017 - 2017Reporter Suite (via Toptal)
Technologies: Amazon Web Services (AWS), Ansible, Docker, Stripe, AWS, Node.js, Webpack, Redux, React, ECMAScript (ES6)
- Conducted a complete rewrite of a legacy AngularJS app to modern React stack resulting in a much more fast, robust, user-friendly, and maintainable web app.
- Set up the infrastructure, deployment processes, and monitoring for the updated application on an AWS cloud platform; integrated user analytics and client-side error tracking.
- Migrated old users and data to the new app, ensuring a smooth transition for the existing customers.
- Implemented many new features while working closely with the project owner, such as Stripe payments processing, a notifications functionality, invoice PDF generation, data export, admin UI, and many others.
- Developed one of the best online education projects on front-end technologies in Russian.
Freelance Full-stack Web Developer2017 - 2017Baleen Labs (via Toptal)
Technologies: Amazon Web Services (AWS), Docker, Amazon EC2 (Amazon Elastic Compute Cloud), AWS, Flask, Python, Webpack, ECMAScript (ES6), Vue, Redux, React
- 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.
- Adapted 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.
Full-stack Web Developer2016 - 2017Smarkets
Technologies: Amazon Web Services (AWS), Linux, Docker, AWS, Flask, Python, Express.js, Node.js, Webpack, ECMAScript (ES6), React Native, GraphQL, Redux, React
- 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.
Software Engineer2015 - 2016AIM Tech Algotrading
Technologies: Amazon Web Services (AWS), Prometheus, Graylog, Docker, Ansible, AWS, MongoDB, PostgreSQL, RabbitMQ, Redis, Django, Flask, Python, Webpack, React, ECMAScript (ES6)
- Developed a scalable cluster system for easier scheduling of simulations of trading strategies on historical data to boost the 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. This lasted two months and attracted ~1,000 participants, mainly Russian math/computer science students which allowed the company to created simulations of its pool of quantitative analyst candidates.
- Set up the infrastructure for the logging and monitoring of the system using open source technologies such as Prometheus, Grafana, and Graylog for the better visibility, user analytics, performance monitoring, and debugging ease.
- 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.
R&D Software Simulation Intern2013 - 2014Intel
Technologies: Bash, Makefile, CMake, C++, C, Linux
- Developed 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.
Freelance Software Enginneer2012 - 2014Freelance Work
- 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 five different web apps for small-to-medium enterprises.