I concentrate on different architecture solutions in frontend development, including concept development and strategic research of using an isomorphic javascript for full-stack and frontend-based web application.
I have a broad experience in developing complex web applications from scratch, as well as an experience of refactoring legacy code for the purpose of improvement of base project architecture.
Technologies and frameworks I've worked with:
- Frontend: pure javascript (plus transpilers/typechecking: babel/typescript). Module bundlers: webpack, browserify, rollup. Functional reactive programming: rx.js, most.js, kefir.js, bacon.js.
Virtual-dom approach: vue.js + vuex, react.js + redux, redux-saga (SPA & isomorphic way). cycle.js with elm architecture as alternative.
Test suites: karma.js, mocha.js, chai.js, supertest.js, jasmine.js, sinon.js, etc, Build system: gulp.
Markup: html5, css, bootstrap 4, sass/less, bem. Data interchange: json, xml, soap ets. Design APIs: raml. Everyday libraries: axios, lodash, moment.js. Template engines: handlebars, mustache. Kunst: cujo.js: wire.js with decorators as composition layer, falcor.js, vidom.js, backbone & marionette and so on...; actionscript in early days (flash/flex/air).
- Backend: node.js (express, koa, hapi, sails), php (laravel, yii, symfony, slim, drupal, wordpress, sphinx etc.), java (spring, jsf/jsp, jboss seam). DTrace and flame graphs profiling.
- NoSql & sql databases, ORM: mongo, mongoose, mysql, doctrine, sequelize, sqlite etc.
- Version control: git, hg, svn
- IDE: sublime editor with plugins + gulp tasks
- CI: gitlab, teamcity, travis
- Tasks management: jira, asana
- Unix shell
- Methodology: Agile + Scrum
Senior Frontend Developer at Agent.ru
Implementation of highly modular and unit-testable front-end architecture for new product platform:
- Development of the mobile application for airline tickets reservation system.
- Development of the one-page application framework in asynchronous Promises/A paradigm for the mobile version of the site.
- Creating reusable plugins and customizable, highly flexible components with DSL specifications.
- Building full-stack Javascript mock system of all the expected Service API methods and data objects.
- Creating a Grunt-based system for running automated integration tests, building and deploying frontend applications on the environment.
Technology stack:
Grunt.js, Bower.io, Node.js, Connect.js/Express.js (with Middleware), Esprima, Selenium-webdriver, CoffeeScript; Cujo.js parts: wire.js, when.js, meld.js, cola.js, rest.js; Require.js with plugins (i18n, text, hbs, json loading, etc); Underscore.js/Lodash.js, Handlebars.js, Less, Moment.js, Crossroads.js, JS-Signals, FRP (bacon.js, kefir.js), TDD with Jasmine.js, etc.
Frontend Developer at Wobot
Building frontend one-page application with Backbone.js, Underscore.js, Handlebars.js, Closure Library, Moment.js, LESS.
I was able to assess the advantages and disadvantages of the use of Backbone in an high-end single-page application in the face of considerable extensibility of the initial code base, and to find the best opportunities for integration views and sub-views via Handlebars.
Web Developer, self employed
- Building RESTful data driven single page applications: Require.js, Backbone.js, Marionette.js, Handlebars.js, d3.js, google and yandex.maps API, and with mocks built on the top of Sinon.js.
- Support and development a streaming music service based on PHP MySQL technology stack.
It was a time to return again to the processing system and back office application for entertainment industry tickets reservation project, that I and my colleagues developed about four years ago: JAVA Oracle JSF(Jboss Seam) technology stack, SOAP web services.
This activity leaded to the thoughts about a migration from usage JSF for client to high-flexible single-page application, possibly divided into several bundles.
Full Stack Developer at VitaPortal
Backend works (PHP MySQL technology stack on the top of Drupal CMF system):
- Implemented billing system for settlements with a group of authors.
- Implemented statistic administration module, Google Chart Tools integrated for the best visualization of the statistic information.
- Implemented the automatic mailing.
- Implemented the functional for social network community module.
- Implemented a community notification system about the actions of the users.
- There were also implemented server scripts for correcting the data in the database tables of the project after migration.
- Implemented web-services on the top of Drupal modules for Flex symptom navigator.
- Implemented web-services for iPhone-app: dictionary of drugs, search for drugs in pharmacies and information on first aid.
Frontend works:
- Implemented frontend single page application for body weight control (jQuery, Vanilla.js).
- Implemented multistage interface for managing mailing lists.
- Implemented multistage registration interface.
- Implemented data-driven application "Symptom-navigator" on Flex ActionScript technology stack on the client.
Freelance Programmer, Full Stack Developer, self employed
- ActionScript, Flash, Flex projects.
- Implemented a frontend applications for education project: chinese-russian dictionary, integration with module for building online-lessons, WYSIWYG editor for creating chinese hieroglyphs, application for searching hieroglyph in data base via recognizing of drawing (ActionScript, Flash, Flex, Drupal web-services modules).
- Implemented a streaming music service on PHP MySQL technology stack (Drupal-based system, ActionScript, Flash on the client).
- Implemented a processing system and back office application for entertainment industry tickets reservation project: JAVA Oracle JSF(Jboss Seam) technology stack, SOAP web services.
Windows System Administrator at IEA RAS
- System administration, Windows.
- Web-development, LAMP.
Troubleshooting of hardware and software issues.