Мы запускаем новый амбициозный проект — создаем корпоративную видеоконференцсвязь и мессенджер. Нам нужен надежный разработчик, который поможет построить быструю, масштабируемую и отказоустойчивую архитектуру.
Обязанности:Разрабатывать и поддерживать монолиты и микросервисы на NestJS по готовым архитектурным паттернам;
Реализовывать бизнес-логику, писать чистый и поддерживаемый код на TypeScript;
Работать с базами данных через MikroORM, оптимизировать запросы в PostgreSQL;
Участвовать в интеграции сервисов через Kafka (асинхронное взаимодействие) и gRPC (внутренний RPC).
Взаимодействовать с командой разработки: fullstack, frontend, devops.
Обязателен коммерческий опыт разработки на NestJS от 1.5–2 лет.
Уверенное владение экосистемой NestJS: практический опыт работы со Swagger для документирования API, понимание и опыт создания Guards, Interceptors, Pipes, Validators;
Хорошее понимание базовых принципов Node.js, асинхронного программирования и работы Event Loop;
Уверенные знания PostgreSQL: умение писать чистый SQL, проектировать таблицы, понимать работу индексов;
Понимание того, что такое брокеры сообщений (Kafka или аналоги) и зачем нужен gRPC (базовые концепции);
Опыт работы с Git, уверенное знание и понимание методологии GitFlow (работа с ветками, pull-request'ами);
Опыт работы с Docker на уровне пользователя (запустить контейнер, посмотреть логи, собрать образ);
Понимание принципов SOLID, KISS, DRY.
Будет плюсом:
Опыт работы с MikroORM (или понимание паттерна Data Mapper / Unit of Work);
Базовое представление о том, как устроено секционирование (партиционирование) таблиц в базах данных;
Понимание принципов работы WebSockets или опыт работы с Centrifugo;
Желание разбираться в том, как работают распределенные системы под нагрузкой;
Интерес к фронтенд-технологиям и желание в перспективе развиваться в сторону Fullstack (react, react-native, refinejs).
Будьте осторожны: если работодатель просит войти через Google, iCloud или Госуслуги, прислать код или пароль, запустить ПО или перевести деньги — это мошенники.