Position: Senior Node.js Developer
Company: it-dimension.com
Category: Node.js
Experience required: 5y
English level: upper

**Zuum** https://zuumapp.com/ is a complex software system for automating the trucking business. There are several types of participants: Shipper, Carrier, and Broker companies. The last ones connect Shippers and Carriers. Carriers have 3 types of users: Managers (who take orders), Fleet Managers (who manage the fleet), and Drivers. Drivers and Fleet managers have a mobile app for their business purposes. Managers have a WEB application called Carrier TMS. All in all, we have Carrier TMS for carriers, Broker Admin for brokers, and Shipper TMS for shippers. These are the 3 main WEB solutions that we are developing. The Ukrainian team is involved in the development of each of these solutions.

**Technologies:** Angular, AWS, GCP, Google Maps, Google Places, Google Geocoder. NestJS, Node.js, JavaScript, TypeScript, Express.js, ElasticSearch, Redis, WebSockets, socket.io, MongoDB Atlas.

**Who are we looking for**
There are more than 15 microservices and separate services in the system, so in order to understand the architecture and how it works in general, basic thematic knowledge is required. We are looking for a broad-minded person with a good experience in the sphere: in addition to the fact that Angular is a complex approach, there is also a division into shared libraries and private parts of code. Also, there are tasks associated with WebSockets and Cache. We are interested in someone who understands Node.js and has worked with Nest. Experience with various types of databases and understanding of the software systems’ architecture is required.
﻿ 
**﻿Requirements**
﻿     •  Mandatory: Node.js, JavaScript, TypeScript, Express.js, Nest.js, Redis, 
        WebSockets, Git, Jira, Docker, English (Verbal, Written). 
     •  ﻿﻿Optional: ElasticSearch, S3, Kubernetes, Jenkins
     •  Spoken English is required to participate in voice calls. Actually, these 
        are quick meetings on technical topics.

**What else is important for us**
Ability to keep in touch, maintain a dialogue, and have an interest in synchronizing of work with the team. Since the team includes members from different countries - it is necessary to be tactful and not to take criticism personally. It is important to be able to defend one's point of view providing arguments, if there is an understanding that the position is correct or the decision is logical. The fact that the team members feel comfortable and are friendly with each other is really fundamental for us.

**What to do in a project**
There are two types of tasks. The first is tasks from the backlog, bug fixes. The second is new functionality. The company is constantly looking for new options to cooperate with and services to use in order to increase the automation of business processes. RnD tasks are part of the project. Therefore, we have an important requirement - this is a general understanding of WebSockets and MongoDB, as well as ElasticSearch. The developer will be involved in different parts of the project functionality, depending on the development needs.

**About the team**
There are 20 employees in the Zuum UA team. We work according to Agile methodology. There are 4 working environments: DEV, QA, STAGE, PROD.﻿﻿

**Interactions**
Communication between the teams is in English. Internal UA team communications are in Ukrainian, Russian, and English. There are daily stand-up meetings at the beginning of the working day. Sometimes developers have to communicate with Product Managers to clarify the tasks’ details. At the end of the sprint, developers participate in the Sprint-review meetings showing the progress made during the sprint.

Top-level tech decisions are made by Tech Lead or discussed with the Tech Lead of UA or RO teams, sometimes with CTO. Local-level decisions are discussed with the Tech Lead of UA Team or developers from other teams. For daily communication on this topic - Slack is used. The internal UA team communications are on Telegram.

**﻿﻿The process**
﻿Interview in Ukrainian or Russian, whichever is more comfortable. The CV will be reviewed directly by the CTO of ﻿the company. **﻿Stages:** ﻿﻿Screening with Iryna → Tech interview with CTO and Team Lead → Feedback and/or Offer.

**﻿The work schedule is flexible, remotely.**
﻿﻿
﻿If you are interested to continue the dialogue - please send your CV.
Talk soon ﻿😉