Node.
js developer
продукт OCB/игры, Маскот/Игры
Mascot Gaming - румынская игровая студия, основанная в 2018 году.
[Link]
Сейчас мы в поиске опытного сотрудника к себе в команду, способного разобраться в
разработке сложного технологичного софтверного продукта и эффективно управлять
сроками, ресурсами и качеством разработки.
Технические требования:
Опыт работы с [Link]:
-Минимум 3 года опыта в разработке промышленных приложений на [Link].
-Глубокое понимание основ JavaScript, ES6+ и уверенное владение TypeScript.
-Опыт работы с движком V8, асинхронным программированием и управлением
памятью.
ООП и шаблоны проектирования:
-Глубокое понимание принципов ООП, таких как инкапсуляция, наследование и
полиморфизм.
-Знание принципов SOLID и их применение при разработке поддерживаемого и
масштабируемого кода.
-Практический опыт использования распространенных шаблонов проектирования
(Factory, Singleton, Observer, Strategy и др.) и их применение для создания слабо
связанных систем.
Domain-Driven Design (DDD):
-Опыт работы с Domain-Driven Design (DDD), включая такие концепции, как сущности
(Entities), объекты-значения (Value Objects), агрегаты (Aggregates), репозитории
(Repositories) и сервисы (Services).
-Умение разбирать сложные бизнес-домены на ограниченные контексты и применять
стратегическое проектирование для изоляции бизнес-логики.
-Глубокое понимание тактических шаблонов DDD (фабрики, доменные сервисы) и их
отражение в коде.
WebSockets и реальное время:
-Опыт реализации WebSocket для приложений в реальном времени.
-Умение эффективно работать с большим количеством одновременных подключений
по WebSocket в условиях высокой нагрузки.
-Управление состоянием WebSocket и обеспечение низкой задержки при обновлениях в
реальном времени.
Опыт работы с NestJS:
-Владение фреймворком NestJS, включая декораторы, инъекцию зависимостей, пайпы,
middleware, фильтры исключений и модули.
-Опыт модульного проектирования сложных приложений с использованием NestJS.
Экспертиза в работе с базами данных (SQL):
-Продвинутые знания SQL, опыт оптимизации сложных запросов и управления
реляционными базами данных (особенно PostgreSQL).
-Знание инструментов ORM, таких как Prisma, и проектирования схем БД для
обеспечения производительности и масштабируемости.
NATS и событийно-ориентированная архитектура:
-Глубокое понимание паттернов pub/sub и микросервисов, работающих на основе
событий, с использованием NATS (или Kafka, RabbitMQ).
-Опыт построения отказоустойчивых, событийно-ориентированных систем,
масштабируемых по горизонтали.
Redis:
-Опыт работы с Redis для кэширования, хранения сессий и сценариев pub/sub в
реальном времени.
-Знание методов оптимизации Redis и структур данных для обеспечения высокой
производительности.
Высокая нагрузка и масштабируемость:
-Доказанный опыт разработки систем, способных справляться с высокой нагрузкой и
масштабироваться по горизонтали.
-Глубокое понимание стратегий масштабирования, таких как балансировка нагрузки,
разделение данных (sharding) и кластеризация.
Обнаружение и анализ утечек памяти:
-Экспертиза в выявлении, диагностике и устранении утечек памяти в приложениях на
[Link].
-Знание инструментов, таких как [Link] heap snapshots, Chrome DevTools, и
профайлеров памяти, таких как [Link] или memwatch-next.
-Умение понимать и устранять общие утечки памяти, вызванные замыканиями,
слушателями событий и долгоживущими объектами.
Kubernetes и Docker:
-Опыт контейнеризации приложений на [Link] с использованием Docker и
оркестрации их с помощью Kubernetes.
-Знание концепций K8s, таких как Pods, Deployments, ConfigMaps, Secrets, и
масштабирование приложений в продуктивных средах.
Проектирование и безопасность API:
-Проектирование RESTful и WebSocket API с правильной версионностью, валидацией
и механизмами аутентификации (например, JWT, OAuth).
-Опыт в реализации лучших практик безопасности API, таких как ограничение
количества запросов, валидация ввода и предотвращение общих уязвимостей
(например, SQL-инъекции, XSS).
Тестирование:
-Опыт написания юнит-тестов, интеграционных тестов и end-to-end тестов с
использованием фреймворков Jest, Mocha и Chai.
-Знание практик разработки через тестирование (TDD) и разработки через поведение
(BDD).
CI/CD конвейеры:
-Опыт автоматизации сборки, тестирования и развертывания с использованием
инструментов CI/CD (например, Jenkins, GitLab CI, CircleCI).
-Знание методов развертывания blue/green и скользящих обновлений для развертывания
без простоя.
Мониторинг, логирование и настройка производительности:
-Опыт работы с инструментами мониторинга и отслеживания производительности
(Prometheus, Grafana, ELK stack, Loki).
-Знание агрегации логов и мониторинга приложений в реальном времени для
выявления узких мест и обеспечения их бесперебойной работы.
Будем рады предложить:
-Работу в международной компании с уникальными продуктами и крутую команду.
-Удаленный формат работы
-Комфортная выплата(рубли/валюта/крипта)
-Оплачиваемый отпуск 28 календарных дней(100% оклада)
-Оплачиваемый больничный 100% оклада
-Повышение оклада минимум раз в год +10%
-Комфортная ламповая онлайн-атмосфера и внутренняя система мотивации