James Akwuh, Developer in Dubai, United Arab Emirates
James is available for hire
Hire James

James Akwuh

Verified Expert  in Engineering

Full-stack Developer

Dubai, United Arab Emirates

Toptal member since February 7, 2018

Bio

James is a technical lead and a software architect focusing on Node.js and JavaScript development. He worked for startups and big companies, such as Yandex & Adform. For the last three years, James has been working as a CTO of 20 engineers, defining the architecture and leading the development culture in the company. During his ten years engineering career, he worked with dozens of technology stacks, participated in 20+ meetups as a speaker, and built over 50 mobile and web applications.

Portfolio

Neattech
Node.js, React, Docker, Kubernetes, Leadership, Architecture, Full-stack...
Adform
MongoDB, Kubernetes, Docker, Node.js, Redux, React, Leadership, Architecture...
Yandex
NGINX, MySQL, MapReduce, MongoDB, Bash, Python, Redux, MobX, React, Node.js...

Experience

  • JavaScript - 9 years
  • Leadership - 9 years
  • Full-stack - 7 years
  • Node.js - 7 years
  • React - 7 years
  • Architecture - 7 years
  • TypeScript - 5 years
  • React Native - 5 years

Availability

Part-time

Preferred Environment

JavaScript, Leadership, Architecture, Full-stack, TypeScript, Node.js, React Native, React, Scrum, GraphQL

The most amazing...

...conference talk I did was "Server-side Rendering: Do it Yourself," which attracted 200+ attendees.

Work Experience

CTO, Software Architect

2019 - 2023
Neattech
  • Launched 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. The app successfully serves more than 10.000 DAU.
  • Developed a software that manages an esport club chain with 1,000 active computers. The software includes a web CRM, a mobile application, a desktop interface, and an administrator interface. The software successfully serves more than 50,000 MAU.
  • Hired 20+ IT engineers, shaped four independent remote IT teams, and shipped over 30 applications within two years. The main technology stack was: TypeScript, Node.js, Docker, React, and React Native.
Technologies: Node.js, React, Docker, Kubernetes, Leadership, Architecture, Full-stack, Back-end, Front-end, JavaScript, TypeScript, HTML, CSS, React Native, Next.js, Vue, GraphQL, REST APIs, Microservices, PostgreSQL, MySQL, MongoDB, Amazon Web Services (AWS), DevOps, CI/CD Pipelines, Scrum, Algorithms, REST, Unit Testing, Continuous Integration (CI), Infrastructure, High-load, Web Development, Best Practices, Firebase, Minimum Viable Product (MVP), iOS, Mobile Development, User Experience (UX), Software Architecture, Software Consulting, Technical Leadership, eCommerce, Web, Android, Express.js, RabbitMQ

Technical Lead, Software Architect

2018 - 2019
Adform
  • Led a team of four engineers who completed a large step-by-step refactoring of a legacy codebase from Backbone.js to React and GraphQL.
  • Organized AdformJS–an internal knowledge-sharing meetup for all engineers in the company. Summary: 10 meetups, 27 talks, and 120 unique attendees.
  • Built a visual tests solution for the company–a tool and approach for UI/UX automatic regression tests.
  • Researched and developed a new unified application development architecture to be used by 50 front-end engineers in the company.
  • Developed a CI/CD pipeline for all front-end applications in the company.
Technologies: MongoDB, Kubernetes, Docker, Node.js, Redux, React, Leadership, Architecture, Full-stack, TypeScript, JavaScript, Next.js, GraphQL, REST APIs, Microservices, PostgreSQL, CI/CD Pipelines, Algorithms, Scrum, React Native, REST, Unit Testing, Continuous Integration (CI), Infrastructure, High-load, Web Development, Best Practices, Minimum Viable Product (MVP), User Experience (UX), Software Architecture, Software Consulting, Technical Leadership, Web, React Redux, Express.js, RabbitMQ

Senior Software Engineer

2016 - 2018
Yandex
  • 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 (14x).
  • Developed, from scratch, an extensible masonry solution working at 60fps.
  • Scaled a Node.js application to run on a cluster of 15 machines in three separate data centers under a load of around 100 requests per second (RPS); also set up the rolling update deployment and weighted balancing.
  • Had regular conference talks on advanced JavaScript topics: server-side rendering, dependency injection, and software development practices.
  • Designed the front-end architecture with server-side rendering support using React, MobX, and the dependency injection stack.
  • Worked on the Yandex.Collections service, allowing users to collect images and research interesting topics through enriched image content.
  • Created an Elastic and Kibana cluster to process server and client logs. Set up logging and logs rotation in a multiprocess Node.js application.
  • Created a Python MapReduce job that processes large amounts of crawled data and enriches MongoDB collections with related entities.
  • Moved a large codebase from ES6 to TypeScript. Created a Lodash-compliant library which reduced its size by 3x.
Technologies: NGINX, MySQL, MapReduce, MongoDB, Bash, Python, Redux, MobX, React, Node.js, TypeScript, JavaScript, Leadership, Architecture, Full-stack, REST APIs, CI/CD Pipelines, DevOps, Scrum, REST, Unit Testing, Continuous Integration (CI), Infrastructure, High-load, React Native, Web Development, Best Practices, Model View Controller (MVC), Minimum Viable Product (MVP), User Experience (UX), Software Architecture, Technical Leadership, Web, Express.js, RabbitMQ

Senior Software Engineer

2017 - 2017
Prolific Interactive
  • Improved code maintainability by introducing DI container, snapshot API tests, error handling strategy, test coverage policies, and more.
  • Integrated several external services such as Datadog, Bronto SOAP client, Slack, etc.
  • Created an FSM (finite state machine) to run automated raffles.
  • Increased the performance in several endpoints. Reduced boilerplate and thus the cost of adding new endpoints.
  • Integrated a MongoDB migrations framework. Created and deployed AWS Lambda functions.
Technologies: Amazon Web Services (AWS), MongoDB, TypeScript, Node.js, Leadership, Architecture, JavaScript, Back-end, REST APIs, DevOps, CI/CD Pipelines, Scrum, REST, Unit Testing, Continuous Integration (CI), Infrastructure, Web Development, Best Practices, Model View Controller (MVC), Minimum Viable Product (MVP), Software Architecture, eCommerce, Web, Express.js, RabbitMQ

Team Lead

2015 - 2016
Blue.bi
  • Developed a platform for private investments that allows the user to invest in specific projects and the whole segment (e.g., energy). The application has a delightful UI and is a pixel-perfect design implementation.
  • Worked as a scrum master, product owner, and delivery manager for a client, managing a team of four developers.
  • Built a dozen complex interactive SVG components using D3.js; examples include a circle-shaped progress bar with bundled settings and interactive pagination controls.
  • Created a REST specification with usage examples and covered a real-world API with tests.
  • Synchronized the code written with the complex business logic specification (financial sphere).
Technologies: PHPUnit, Doctrine, Symfony 2, MySQL, NGINX, Capistrano, Sass, Gulp, Angular, Git, D3.js, Node.js, JavaScript, Scrum, Leadership, Architecture, Full-stack, REST, Unit Testing, Continuous Integration (CI), Infrastructure, Web Development, Best Practices, Model View Controller (MVC), Minimum Viable Product (MVP), User Experience (UX), Laravel, Software Architecture, PHP, Web, Express.js

Team Lead, Software Engineer

2015 - 2016
Meritale
  • Built a system that collected and analyzed reviews designed to ease the buying process on the internet. The system crawls the internet, extracts important information, and shows it in a usable way.
  • Managed successfully a remote team of two developers and one business analyst for 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.
  • Designed the architecture and created the development plan and product's MVP scope.
  • Developed an injectable widget with a web server for use on 3rd-party websites.
Technologies: Apache Tomcat, Apache Maven, NGINX, Chai, Karma, Gulp, Marionette.js, Backbone.js, JavaScript, Architecture, Full-stack, Leadership, Scrum, REST, Unit Testing, Infrastructure, Web Development, Best Practices, Model View Controller (MVC), Minimum Viable Product (MVP), User Experience (UX), Laravel, Software Architecture, PHP, Web, Express.js

Software Engineer

2015 - 2016
XB 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 file tree component in the DHTMLX library. Supported features include drag-and-drop reordering, uploading progress, subtree cloning, etc.
  • Created a platform that provides buyers and suppliers with tools enabling real-time tender arranging.
  • Refactored a large complex legacy codebase with highly coupled business logic.
Technologies: Tools, PHPUnit, Redis, Laravel, Karma, QUnit, Jasmine, Capistrano, Webpack, Gulp, Marionette.js, Backbone.js, Front-end, JavaScript, Scrum, REST APIs, Back-end, Architecture, CI/CD Pipelines, REST, Unit Testing, Web Development, Best Practices, Model View Controller (MVC), Minimum Viable Product (MVP), User Experience (UX), Software Architecture, PHP, Web, Express.js

Web Developer

2014 - 2015
StudyQA
  • 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.
  • 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.js, REST, Unit Testing, JavaScript, Full-stack, Web Development, Best Practices, Minimum Viable Product (MVP), User Experience (UX), Software Architecture, PHP, Web

Software Engineer

2013 - 2015
Freelance 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, Leadership, Architecture, REST, Unit Testing, JavaScript, Web Development, Best Practices, Minimum Viable Product (MVP), User Experience (UX), Software Architecture, PHP, Web

Webtip

https://github.com/jakwuh/webtip
I made a challenge for myself–during 100 days learned something new in web development and wrote 100 articles on different topics. The challenge was a success.

GitHub: https://github.com/jakwuh/webtip
Telegram: https://t.me/webtip

SSR: Do it Yourself (Conference Talk)

https://github.com/jakwuh/ssr-demo
I gave a conference talk at the MinskJS conference titled "Server-side Rendering: Do it Yourself."

Slides: https://github.com/jakwuh/ssr-demo/blob/master/slides/ssr-demo.pdf
Video: https://www.youtube.com/watch?v=H4GTPbf0D40
Demo project: https://github.com/jakwuh/ssr-demo

Yandex.Collections

https://yandex.ru/collections
Yandex.Collections is a service that allows users to collect images and research exciting topics through enriched image content. I started as a front-end software engineer and later expanded my responsibilities to DevOps and infrastructure.

I have multiple accomplishments in this project:
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 (14x).
Developed, from scratch, an extensible masonry solution working at 60fps.
Scaled a Node.js application to run on a cluster of 15 machines in three separate data centers under a load of around 100 requests per second (RPS); 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.

Adform

https://site.adform.com
Adform is one of the world's largest private and independent advertising technology companies. I started as a technical lead for a team of three engineers. I quickly moved to the software architect position, where I was defining the technology direction for all front-end engineers in the company.

My accomplishments include the following:
Completed a large step-by-step refactoring of a legacy codebase from Backbone.js to React and GraphQL.
Organized AdformJS–internal knowledge-sharing meetups for all engineers in the company. Summary: 10 meetups, 27 talks, and 120 unique attendees.
Built visual tests solution for the company–a tool and approach for UI/UX automatic regression tests.
Researched and developed a new unified application development architecture to be used by 50 front-end engineers in the company.
Developed a CI/CD pipeline for all front-end applications in the company.

StudyQA

https://studyqa.com
StudyQA is a smart search platform for programs, universities, and scholarships worldwide that aims to help students from developing countries. It helps them to find universities and colleges which suit their interest and match their background and financial resources. I worked here as a software engineer.

My accomplishments include the following:
Developed a smart search platform for programs, universities, and scholarships worldwide.
Integrated a couple of externals API, including Stripe for subscription payments, Mailjet for email campaigns, and Aviasales for partnership programs.
Built a system for processing a large amount of abnormal data and extracting facts from it.

ACM Algorithms

https://github.com/jakwuh/acm
The repository with algorithms on ACM topics.

It contains:
1. A binary search.
2. A comparison of the search algorithms.
3. Dijkstra's and Ford's graph searching algorithms based on adjacency class, binary heap, dynamic list, static and dynamic stack, Treap, and solutions for ACMP tasks.
2014 - 2018

Bachelor's Degree in Computes Science

Belarusian State University - Minsk, Belarus

2013 - 2014

Bachelor's Degree in Nanotechnology

Belarusian State University - Minsk, Belarus

MAY 2012 - PRESENT

IT Essentials: PC Hardware and Software

Cisco Systems, Inc.

Libraries/APIs

Vue, Handlebars, RequireJS, Node.js, Stripe API, jQuery, MobX, Backbone.Marionette, Backbone.js, React, REST APIs, React Redux, Stripe, Chai, Marionette.js, Doctrine 2, Facebook API, D3.js, Doctrine

Tools

WebStorm, NGINX, Webpack, Git, Kibana, Gulp, Karma, ITerm, Zsh, Grunt, Mercurial, TortoiseSVN, Apache Tomcat, Supervisor, TeamCity, Jenkins, Ansible, RabbitMQ, Capistrano, Apache Maven, Subversion (SVN)

Languages

JavaScript, TypeScript, SQL, HTML, CSS, GraphQL, PHP, Sass, Less, C, C++, Bash, Python

Frameworks

Redux, React Native, Next.js, Express.js, Laravel, Kohana, QUnit, Jasmine, PHPUnit, Symfony 2, Angular, Bootstrap

Paradigms

Continuous Integration (CI), E2E Testing, Unit Testing, Functional Testing, REST, Scrum, Dependency Injection, Best Practices, Model View Controller (MVC), Test-driven Development (TDD), Microservices, Mobile Development, Object-relational Mapping (ORM), MapReduce, DevOps

Platforms

Docker, Web, Drone CI, MacOS, Windows, Linux, AWS Lambda, DigitalOcean, Firebase, iOS, Android, BREW, AMD, Kubernetes, Amazon Web Services (AWS), Apache2

Storage

PostgreSQL, MySQL, MongoDB, NoSQL, Doctrine MongoDB ODM, Elasticsearch, Redis, Memcached

Other

Architecture, High-load, Infrastructure, Algorithms, Leadership, Lean IT, Full-stack, Back-end, Front-end, CI/CD Pipelines, Computer Science, Software, Web Development, Minimum Viable Product (MVP), User Experience (UX), Software Architecture, Software Consulting, Technical Leadership, Applied Mathematics, Tools, Payment APIs, Hardware, Server-side Rendering (SSR), eCommerce

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring