Position: Middle Node.js Developer
Company: Exadel
Experience required: 2y
English level: intermediate

**Requirements**:
• Node.Js / ES;
 - Understanding of asynchronous behaviour - usage of promises, async-await in parallel and sequential patterns;
 - Basic understanding of event loop;
 - Basic understanding of HapiJS, Express, or Fastify;
 - Understanding of modules, scoping, variables (let vs const), arrow functions;
 - Understanding of basic data structures in JS - Map, Set, Objects, Arrays, Symbols etc;
 - What are middle wares and how are they used;
 - MongoDB - Understanding and hands-on experience in following: 
   Aggregations;
   CRUD operations;
   Indexing;
   Redis.
• Basic get and set operations of key values should suffice for most of our use cases;
• Typescript;
• Familiarity with types - variables, interfaces, type definitions and why they are used;
• Familiarity with use of Classes - class variables, methods, scope and inheritance;
• Concepts / Methodologies.
• Object Oriented Programming;
 - Software design pattern + SOLID principles;
 - Dependency Injection;
 - Unit Testing - using one or more library (mocha, jasmine) ;
 - At least understanding of these concepts: Mocking, Stubbing, Fixtures;
 - Decorators - used in typescript as well as angular.
• Other important skills:
 - Have a deep understanding of the evolving needs developers have when working with APIs;
 - Eager to develop and deploy skills in the payment arena and raise the bar of current technological functionality in that field;
 - Love to challenge yourself by working in high-security and high-performance environments;
 - RESTful API programming is in your blood, as you'll interact with a lot of third-party systems and services;
 - Want to experience the latest developments in security, cryptography, artificial intelligence, databases, CI.
 
**English level**: Intermediate+

**Responsibilities**:
• Code, test and operate Node.js based services
• Build and design an API that developers find a joy to work with
• Integrate new payment methods, supporting services and innovative solutions provided by third-party systems into the Customer’s platform
• Deliver quality work in high-security and high-performance environments: The stakes are high. Customer’s clients expect the best

**About the Customer**:
The Customer’s company was founded in 2014 to challenge the payments industry with innovative technology that merchants and financial institutions could use to process online payments in a way that was fit for the modern age. He created a future-proof platform that could grow with the evolving needs of today’s market.

In late 2018 the Customer’s company was acquired by one of the largest payment technology companies in the world. Their focus was originally mainly on the payment terminals you see in most shops, but with the acquisition of  the Customer’s company they are expanding their foothold in the online payments sector.

**About the Project**:
The Customer  delivers new payment technology that is designed to blow legacy solutions out of the water. Ecommerce businesses need a payment platform that offers complete control of the whole payment journey from a single touchpoint. That’s why the Customer’s team works on creating deep data insights, a rock-solid, scalable architecture, and builds global integrations with payment methods and banks. Combine that with the highest security and reliability standards and you get an idea of the type of work that our developers do. 
 
**Team Composition and locations**: 1 Senior Business Analyst, 1 Java Architect, 1 Project Manager, 1 JavaScript (Node.js), 1 JavaScript (Angular).
 
**Project Stack**:
• NodeJS on the back, AngularJS on the front, Typescript, Javascript
different storage engines (or databases), SQL and noSQL;
• Redis, MapD;
• Kubernetes;
• Apache Kafka;
• gRPC;
• Protobuf;
• Jenkins, GIT.
 
**Current Project Stage**: Development
 
**Project Advantages**: 
The Customer is always looking for the best stack, the best way to scale, and the practices that make sure the platform performs to the standards of giant global clients that process millions of transactions every day.
Working here combines an autonomous work style with cooperative teamwork with people from diverse backgrounds. 
Every Friday we have another Knowledge Sharing session, with topics from marketing to fraud and machine learning to global partnerships. One day you’ll host your own knowledge session to help the rest of us understand something you know everything about.

**We offer**:
•  Vacation is 20 working days / till 20 working days per year for sick leaves;
• Full payment of taxes;
• English courses;
• Flexible work schedule;
• Friendly environment;
• Medical insurance;
• Opportunity for career growth.
You can find more information about Exadel in Ukraine here: www.facebook.com/exadelukraine