James A.

James A.

Senior Software Engineer

Minsk, Belarus
Hire James A. Hire James A. Hire James A.

About Me

I am a full-stack engineer focused on NodeJS / Javascript development with experience on Backbone, React and Marionette. I am highly experienced in building architecture & infrastructures for large scale applications and optimizing their performance for a high load. My knowledge of over a dozen frameworks helps me deliver the best possible solutions to my clients. I enjoy working with clients that are committed to the product and working within innovative and creative teams. I shine in areas of leadership and facilitate teams with high engagement. I provide clients with product solutions that fit their requirements and provide a process of ease.

Work history

UpStack
UpStack
Software Developer
2018 - Present (6 years)

Create and develop innovative software solutions for clients across a broad range of industries.

Adform
Team Lead
2018 - Present (6 years)
  • Research and develop a new unified applications development architecture to be used by all front-end teams in a company.

  • Regularly write educational posts and technological news used to teach all front-end developers in a company (~50 people).

  • Fix processes and improve development culture in my own and involved teams.

  • Lead a large step-by-step refactoring of a legacy codebase.

  • Research and develop a solution for convenient CI / CD integrated with internal tools (npm, github, jira, etc.).

Yandex
Sr. Software Engineer, Team Lead
2016 - 2018 (2 years)
  • Implemented a robust streaming server side rendering for NodeJS.

  • Designed front-end architecture and build front-end apps (JS, NodeJS).

  • Worked with bigdata (YQL / SQL / MapReduce) and deployed NodeJS apps (CI / CD / load balancing / cloud)

  • Launched 3 products starting from scratch as a front-end team lead.

  • Created a pack for using Spring-like Dependency Injection in Javascript.

  • Scaled NodeJS application to run on a cluster.

  • Built a webpack / babel plugins for Typescript & dependency injection.

  • Launched 3 internal startups starting from the scratch (NDA).

  • Conducted conference talks on advanced JS topics: server-side rendering, dependency injection, software development practices.

Independent Consultant
Team Lead
2015 - 2016 (1 year)
  • Designed front and back-end and database architecture.

  • Led daily meet-ups with client.

  • Managed communication with 3rd party vendors.

  • Remotely led a team of 5 developers.

  • Designed front-end architecture from conception.

  • Sped up database queries by 50%.

XB Software Ltd.
Software Engineer
2015 - 2016 (1 year)
  • Created REST API.

  • Built a hotel market data & benchmarking platform that allows business clients to analyze performance data and see benchmarking results for hotel domain.

  • Estimated a scope, built front and back-end and database architecture, set up CI and delivery workflow.

  • Developed a complex FileTree component in dhtmlx library which supported features including drag-n-drop reordering, uploading progress, subtree cloning and more.

  • Created a platform which provides both buyers and suppliers with tools enabling real-time tender arranging.

  • Managed complex refactoring in a large legacy codebase with a highly coupled business logic.

StudyQA
Software Engineer
2014 - 2015 (1 year)
  • Created back-end micro-services.

  • Integrated numerous external APIs (Stripe, Mailjet, Aviasales, and more) with system.

  • Gained experience working in a remote multinational team.

Portfolio

Team Lead

Created private investments platform, Blue.bi, which allows users to invest not only in specific projects but in the whole segment (e.g. energy). Developed a Rest specification with usage examples and covering real-world api with tests. Managed code synchronization and complex business logic specification for the financial sphere. Created a dozen of complex interactive SVG components using d3, such as a circle-shaped progress bar with bundled settings and interactive pagination controls. Technologies used: Javascript, NodeJS, D3, Git, Angular, Gulp, Sass, Capistrano, Nginx, MySQL, Symfony2, Capistrano, Doctrine ORM, PHPUnit, Nginx

Software Engineer
Software Engineer

StudyQA is a smart search platform for programs, universities and scholarships around the world. Developed a system for processing large amounts of abnormal data and extracting facts from it. Integrated external APIs, including Stripe for subscription payments, Mailjet for email campaigns, Aviasales for partnership programs. Technologies used: Backbone, jQuery, AMD, RequireJS, Grunt, Bootstrap, Handlebars, External API (Aviasales, Mailjet, Stripe), TortoiseSVN, Kohana, MemCache, MySQL

Front-end Team Lead
Front-end Team Lead

Adform Marketplace enables media agencies to purchase ad placements of publishers. Fixed workflow processes. Led large step-by-step refactoring of a legacy codebase. Developed a solution for convenient CI / CD integrated with internal tools. Technologies used: React, Redux, NodeJS, Jenkins, Teamcity, Bash, Typescript, MongoDB

Sr. Software Engineer
Sr. Software Engineer

Yandex is a Russian multinational technology company specializing in Internet-related services and products Worked on Yandex.Collections service which allows users to collect images and research interesting topics through enriched images content. Implemented a robust streaming server side rendering for NodeJS, which improves metrics TTFB (time to first byte) from ~1s to 70ms (14 times increase). Created a pack for using Spring-like Dependency Injection in Javascript. The integrated approach made modules independent and allowed component-level snapshot testing. Scaled NodeJS application to run on a cluster of 15 machines in 3 separate data centers under a load of ~100rps. Set up rolling update deployment and weighted2 balancing. Created elastic + kibana cluster to process server & client logs. Implemented logging and logs rotation in a multiprocess NodeJS application. Moved a large codebase from ES6 to TypeScript. Created a python mapreduce job which processes large amounts of crawled data and enriches mongo collections with related entities. Designed front-end architecture with support of server-side rendering using React + MobX + Dependency Injection stack. Technologies: Javascript, Typescript, NodeJS, React, MobX, Redux, Handlebars, Angular, Python, Bash, Mongo, MapReduce, MySQL, Nginx

Software Engineer

Created an educational platform, which allows students to help each other in solving tasks on different subjects. Included WYSIWYG editor, live updates w/ socket.io, integrated payment system and many more. Built a new php framework (phpaku) from scratch to get a better understanding of all application development steps. Managed all deployment-related work such as domain purchasing, configurations of domain records, set up virtual machine, implement a CI with buddy.works. Technologies used: Backbone, jQuery, AMD, RequireJS, Grunt, LESS, External API (Payeer), Mercurial, Symfony2, MemCache, PHPUnit, MySQL, Doctrine ORM

Software Engineer

STR is a hotel market data & benchmarking platform which allows business clients to analyze performance data and see benchmarking results for hotel domain. Technologies used: Backbone, Marionette, D3, Gulp, Webpack, Capistrano, Jasmine, QUnit, Karma, Laravel, Redis, PHPUnit, CI tools

Education

Education
B.A., Computer Science Anticipated graduation date of June, 2018
Belarusian State University
2014 - Present (10 years)