Software Engineer (Node.js)
We are looking for an experienced and advanced Node.js Programmer to join our team. You will be responsible for the development and maintenance of backend applications (Node.js, NestJS) in the area of digital ad serving and identification technologies, built in a distributed (not monolithic) architecture. We are looking for someone who is actively involved in improving the quality of solutions and processes, including the development of automated tests and monitoring tools, as well as co-creating new directions for the development of the advertising ecosystem (R&D).
- Developing and maintaining backend applications (Node.js, NestJS) for digital ad serving and identification technologies.
- Developing and maintaining automated tests (tools + the tests themselves).
- Developing and maintaining monitoring solutions.
- Actively participating in the development of new solutions and R&D for the advertising ecosystem.
- Participating in the full software development process: from specifying requirements, through design, implementation, deployment, to solution maintenance and monitoring.
- Higher education, preferably in Computer Science.
- Minimum 5 years of programming experience in IT projects.
- Minimum 3 years of experience in Node.js projects.
- Experience in designing, performance optimization, and monitoring application operations.
- Ability to decompose tasks.
- Very good knowledge of:
- Node.js, TypeScript.
- Frameworks such as NestJS, Fastify.
- Databases MongoDB, Redis.
- AWS S3 bucket.
- Object-Oriented and Functional Programming in JS.
- Event-driven development.
- Design patterns and best practices.
- Version control systems: GIT, GitHub.
- Babel tools.
- Willingness for active professional development.
- English language skills at a level that enables reading/writing technical documentation.
- Knowledge of digital advertising / programmatic advertising.
- Knowledge of React.js and NoSQL databases.
- Comfortable with Unix environments, including writing bash scripts.
- Knowledge of the Jenkins tool.
- Knowledge of Agile / Scrum / KANBAN methodologies.
- Knowledge of Datadog.
- Knowledge of testing frameworks such as Jest, Jasmine, Karma, Cypress.
- Ability to write unit, functional, and integration tests.