HTML5 Developer in Omsk, Omsk Oblast, Russia
- Created a small canvas-based image editor.
- Developed a natural language processing library for the Russian language.
- Created an internal acceptance testing system with Webdriver.js.
- Handled deep styling and customization of Ext.js components.
- Developed a truly cross-platform desktop application with 95.6% reusable code.
- Supported TeamCity CI server and Gerrit Git server for review.
- Developed internal microservices architecture with service discovery on Node.js.
- Developed virtually displayed infinite collections in an Ember.js single-page application.
- Created a full-text search system over 10M documents using Elasticsearch.
Junior Web Developer2011 - 2012ISS Art, LLC
Technologies: Zend Framework, jQuery, MySQL
- Developed a media streaming system to share internal company talks with colleagues.
- Supported a large single-page app dashboard on Ext.js.
- Create a few page scrapers for shopping sites, such as eBay, New Egg, etc.
- Created a CMS and site for a local independent NGO.
- Deployed Java servers to staging environments.
- Interactive Educational Web Portal for Children (Development)
Created a rich single-page application using React.js that delivers different types of content to an audience of children. The content was primarily presented by video episodes and connected interactive karaoke sessions, games, and lessons. The application also includes a loyalty program that allows children to purchase other types of content within the application. Originally created for the Chinese market, it was later translated into the English language, so there were a lot of tasks related to localization and internationalization. It has also been integrated with the Chinese platforms, targeted to SEO optimization and OAuth authentication.
• A plethora of different kinds of games: labyrinths, puzzles, spot the difference, etc.
• Cartoon-like handcrafted design.
• Written in React, the project includes over hundred of components with a test coverage over 80%.
• Set up SEO-related tools, including Baidu Analytics and Weibo and Wechat authentication.
- Equipment Searching Website (Development)
Single-page application with Ember.js. It handles lots of user interactions leading to complex data computations and visualizations. Also provides rich full-text and facet search experience over 10M documents.
The back-end was developed using Node.js with MongoDB and Elasticsearch back-ends, which were populated by ETL process from legacy database. Kafka was used for data transformations and synchronization between MongoDB and Elasticsearch.
Express | Node.js | Mongoose | MongoDB | Elasticsearch | Kafka | Service Discovery | Zookeeper | Ember.js | ES2015 | Babel
- Node.js RESTful Microservices (Development)
A set of microservices were based on Node.js servers developed using PostgreSQL databases. The services were connected via service discovery solution based on Zookeeper cluster. Each service had a generated SDK class by simple JSON specification of endpoints, and each of SDK classes could be easily customized later.
Unit and integration tests were written with Mocha. Acceptance test scenarios were written in Cucumber-like DSL.
Node.js (Restify) | Sequelize | PostgreSQL | Service Discovery | ZooKeeper | Mocha, Chai, Sinon | Gherkin, Cucumber.js | Grunt
- Electronic Parts Website (Development)
This website provides access to thousands of distributors, manufacturers, and service providers offering components for equipment. It provides an efficient means of contacting them through listing local phone numbers, toll-free numbers, fax numbers, addresses, email addresses, and website addresses.
My contribution: Full-stack web development
- Authorization, authentication
- Full-text search
- Working with custom parts lists
Node.js | Express | Backbone | Bootstrap
- Task Management Web Portal (Development)https://portal.tiktokcoach.ru
This tool can be used by different kinds of organizations. It is suitable for commercial enterprises to measure the activity of their employees, assign tasks, etc. It can also be used for performing tasks and tests in educational institutions. The manager can schedule assignments with deadlines and see screenshots, keyboard, and mouse activity. This is a large-scale and labor-intensive project with fifteen man-years worth of effort. Particular attention was paid to the visual component of the project management process. Our main aim was demonstrating the current state of the project in a handy form. The back-end of the system was implemented with ASP.NET MVC5 and SQLServer. We used POCO Entity 5 framework with expression trees to work with the DB. The front-end is implemented with Ext,js 4 framework.
- Single-page web app
- Task management
- Customizable task presentation: task tree or task board
- Time and Issue Management Tool (Development)https://portal.tiktokcoach.ru
This application is a truly cross-platform C# application which works on Windows, Linux, and Mac OS, and has absolutely the same interface. To achieve this, we used embedded WebBrowser control and implemented interface with HTML5 and JS. The architecture is based on Actor model.
- Task management
- Time tracking
- Native language parser for issue creation
- Cloud synchronization
.NET | C# | Sencha Touch | Ext JS | Entity Framework | MS SQL
FrameworksJest, Ember.js, Mocha.js, Express.js, AngularJS
Libraries/APIsChai, React, Node.js, Selenium WebDriver, RxJS, React Redux
ToolsGulp.js, Grunt.js, Mongoose, Babel, Webpack
ParadigmsTest-driven Development (TDD), Agile Software Development, Progressive Enhancement, Functional Programming
StorageMongoDB, MySQL, PostgreSQL
OtherApps, Service Workers
- Coursework in Algebraic Geometry2012 - 2015Sobolev Institute of Mathematics - Omsk
- Master's degree in Mathematics2007 - 2012Omsk State University - Omsk