NodeJS Engineer

Kharkiv · Backend developer





The project is an Uber-like taxi app with a twist — it is focused on corporate clients needs allowing companies book rides for their employees, manage budget for rides, receive analytics and much more.
The ecosystem consists of a number of apps: native ones for Android and iOS, web interface, admin dashboard, RabbitMQ and Redis, and, of course, backend server to fuel all the apps with data.

Technologies used on the project:
Frontend: React, Redux, Reflux (to be refactored), Redux-Saga, Socket.io, Material-UI, stylus, mapbox-gl, i18next, gulp, browserify, babel.
Backend: NodeJS, Express, Knex, Socket.io, RabbitMQ, MySQL, Redis, mapbox.

 

Required skills

  • 3+ years of commercial development using relevant technologies;
  • Tech stack : NodeJS, Express, Knex, Socket.io, RabbitMQ, MySQL, Redis, mapbox;
  • Extensive experience with Git;
  • Ability and experience of technical leadership, high responsibility tolerance. You will be the go-to person for difficult engineering problems on the frontend side of things;
  • Decent technical English — ability to communicate in both written and spoken form on work related subjects.

As a plus

  • Mobile development experience;
  • WebSockets;
  • Apache Cordova;
  • Large projects refactoring (change of technologies, huge dependencies update).

As part of our team, you’ll enjoy

  • The hustle of a startup with the impact of a new marketplace business;
  • Working with an extraordinary team of smart, creative, and fun people;
  • Flexible working hours;
  • 20 days of paid vacation, paid sick leave;
  • Nice office in city-center;
  • Coffee and cookies in the kitchen, parties, lunches, etc.

BUT as a group of people with whom you will spend a lot of time together, we can offer you lightness and ease in communication and good jokes during the working process.

Responsibilities

  • Engineering high-quality solutions for both well-defined tasks and business needs;
  • Providing well-structured, re-usable, easily readable, well-documented, testable, and efficient code;
  • Knowledge sharing and guiding more junior team-members, particularly in engineering issues;
  • Writing unit and integration tests;
  • Communicating and collaborating closely with the team, adhering to our development process and tools;
  • Performing code reviews regularly.