CEO and Software Architect
2020 - 2022Neattech- Built a mobile application for iOS and Android that allows users to sign up for a barber session at one of the 200+ branches of the Borodach barbershop chain.
- Created a CRM system for a spare parts sales company and agricultural machinery. The system helps build communications with customers and automate sales.
- Built the first in the CIS mobile application for renting yachts and boats for water adventures for every taste—Iflot.
- Built management software for esports clubs and arenas. The software includes a web CRM, a mobile application, and an application for gamers and administrators.
Technologies: Node.js, React, NoSQL, SQL, Docker, Kubernetes, Leadership, Lean ITArchitect, Technical Lead
2018 - 2019Adform- Researched and developed a new unified application development architecture to be used by all front-end teams in the company.
- Wrote educational posts and technological news on a regular basis to educate all the front-end developers in the company (approximately 50 people).
- Fixed processes and improved the development culture in mine and involved teams.
- Led a large step-by-step refactoring of a legacy codebase.
- Researched and developed a solution for convenient CI/CD integrations with the internal tools (Npm, GitHub, Jira, and more).
- Established visual tests practice in the company.
- Introduced a monorepository and led the whole front-end migration process.
Technologies: Drone CI, MongoDB, NGINX, Kubernetes, Docker, TeamCity, Webpack, Node.js, Redux, React, Technical Architecture, LeadershipContractor
2018 - 2018Prolific Interactive- Created an FSM (finite state machine) to run automated raffles.
- Improved code maintainability by introducing DI container, snapshot API tests, error handling strategy, test coverage policies, and more.
- Increased the performance in a number of endpoints.
- Reduced boilerplate and thus cost of adding new endpoints.
- Integrated a MongoDB migrations framework.
- Integrated number of external services such as Datadog, Bronto SOAP client, Slack, etc.
- Created and deployed AWS Lambda functions.
Technologies: Amazon Web Services (AWS), MongoDB, TypeScript, Node.js, LeadershipSenior Software Engineer
2016 - 2018Yandex- Worked on the Yandex.Collections service which allows users to collect images and research interesting topics through enriched image content.
- Implemented a robust streaming server-side rendering for Node.js which improved the metrics TTFB (time to the first byte) from approximately one second to 70 milliseconds (14 times).
- Created a pack for using a Spring-like dependency injection in JavaScript. The integrated approach made the modules independent and allowed component-level snapshot testing.
- Scaled a Node.js application to run on a cluster of 15 machines in three separate data centers under a load of ~100 requests per second (RPS); also set up the rolling update deployment and weighted balancing.
- Created an Elastic and Kibana cluster to process server and client logs. Set up logging and logs rotation in a multiprocess Node.js application.
- Moved a large codebase from ES6 to TypeScript.
- Had regular conference talks on advanced JavaScript topics: server-side rendering, dependency injection, and software development practices.
- Created a Python MapReduce job which processes large amounts of crawled data and enriches MongoDB collections with related entities.
- Designed the front-end architecture with the support of server-side rendering using React, MobX, and the Dependency Injection stack.
- Launched three internal startups starting from scratch (NDA).
- Developed, from scratch, an extensible masonry solution working at 60 FPS.
- Created a Lodash-compliant library which reduced its size by three times.
Technologies: NGINX, MySQL, MapReduce, MongoDB, Bash, Python, Angular, Handlebars, Redux, MobX, React, Node.js, TypeScript, JavaScript, LeadershipTeam Lead
2015 - 2016Blue.bi- Worked as a scrum master, product owner, and delivery manager for a client—managing a team of four developers.
- Created a REST specification with usage examples and covering a real-world API with tests.
- Synchronized the code written with the complex business logic specification (financial sphere).
- Built a dozen of complex interactive SVG components using D3.js; examples include a circle-shaped progress bar with bundled settings and interactive pagination controls.
- Developed a platform for private investments, that allows the user to invest not only in specific projects but in the whole segment (e.g., energy). The application has a very enjoyable UI and is a pixel-perfect implementation of the design.
Technologies: PHPUnit, Doctrine, Symfony 2, MySQL, NGINX, Capistrano, Sass, Gulp, Angular, Git, D3.js, Node.js, JavaScriptCTO
2015 - 2016Meritale- Built a system that collected and analyzed reviews; it was designed to ease the buying process on the internet. The system crawls the internet, extracts important information, and shows it in a usable way.
- Developed an injectable widget with a web server for use on third-party websites.
- Designed the architecture, created the development plan and product's MVP scope.
- Managed successfully a remote team of two developers and one business analyst for the period of nine months.
- Won a couple of hackathons, participated in a Moscow accelerator (GenerationS) and took a business trip to Israel to widen the network with the Israel startup ecosystem.
Technologies: Apache Tomcat, Java, Maven, NGINX, Chai, Karma, Gulp, Marionette.js, Backbone.js, JavaScriptSoftware Engineer
2015 - 2016XB Software Ltd.- Developed a hotel market data and benchmarking platform that allows business clients to analyze performance data and see benchmarking results for the hotel domain.
- Acted as the main architect: estimated the scope, built the back- and front-end and database architecture, and set up the CI and delivery workflow.
- Built a complex FileTree component in DHTMLX library. Supported features include drag-n-drop reordering, uploading progress, subtree cloning, and many more.
- Created a platform which provides both buyers and suppliers with tools that enable real-time tender arranging.
- Refactored a large complex legacy codebase with a highly coupled business logic.
Technologies: Tools, PHPUnit, Redis, Laravel, Karma, QUnit, Jasmine, Capistrano, Webpack, Gulp, Marionette.js, Backbone.jsWeb Developer
2014 - 2015StudyQA- Developed a smart search platform for programs, universities, and scholarships around the world.
- Integrated a couple of externals API, including Stripe for subscription payments, Mailjet for email campaigns, and Aviasales for partnership programs.
- Gained experience working in a remote multinational team.
- Built a system for processing a large amount of abnormal data and extracting facts from it.
Technologies: MySQL, Memcached, Kohana, TortoiseSVN, Stripe, Handlebars, Bootstrap, Grunt, RequireJS, AMD, jQuery, Backbone.jsSoftware Engineer
2013 - 2015Freelance Work- Created an educational platform which allows students to help each other in solving tasks on different subjects. Included a WYSIWYG editor, live updates with Socket.io, an integrated payment system, and much more.
- Managed a team of two developers; gained experience in tasks delegation and development planning.
- Built a new PHP framework (phpaku) from scratch to get a better understanding of all application development steps.
- Gained experience in project management: developed business requirements and epics, collaborated with freelance designers, and continuously worked on business requirements and feature planning.
- Implemented all deployment-related work: bought the domain, configured the domain records, set up the virtual machine, and implemented a CI with Buddy.Works.
Technologies: Object-relational Mapping (ORM), Doctrine, MySQL, PHPUnit, Memcached, Symfony 2, Mercurial, Payment APIs, Less, Grunt, RequireJS, AMD, jQuery, Backbone.js