- Full-Stack Web DeveloperReporter Suite (via Toptal)2017 - PRESENT
Technologies: ES6, React, Redux, Webpack, Node.js, AWS, Stripe, Docker, Ansible
- 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.
- Took part in the best online education project in front-end technologies in Russia.
- Reviewed students' code.
- Full-Stack Web DeveloperBaleen Labs (via Toptal)2017 - 2017
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.
- 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.
- Full-Stack Web DeveloperSmarkets2016 - 2017
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 EngineerAIM Tech Algotrading2015 - 2016
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 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.
- R&D Software Simulation InternIntel2013 - 2014
Technologies: Linux, C, C++, CMake, Makefile, Bash
- 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.
- Freelance Software EnginneerFreelance Work2012 - 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.