Freelance Full-stack Web Developer2017 - 2017Cardero-X (via Toptal)
Technologies: React, Redux, MongoDB, Node.js, Webpack, Semantic UI
- 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: SPAs, React, Python, Flask, MySQL
- 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: ES6, React, Redux, Webpack, Node.js, AWS, Stripe, Docker, Ansible
- 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: React, Redux, Vue.js, ES6, Webpack, Python, Flask, AWS, EC2, Docker
- 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: React, Redux, GraphQL, React Native, ES6, Webpack, Node.js, Express, Python, Flask, AWS, Docker, Linux
- 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: ES6, React, Webpack, Python, Flask, Django, Redis, RabbitMQ, Postgres, MongoDB, AWS, Ansible, Docker, Graylog, Prometheus
- 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: Linux, C, C++, CMake, Makefile, Bash
- 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.