Senior Full-Stack Engineer (Node.js & Vue)
Зарплата
После собеседования
Опыт
Более 3 лет
Тип занятости
Полная
Место работы
Минск
Мы ищем Senior Full-Stack Engineer в нашу распределённую инженерную команду.
IDT/NRS разрабатывает платформу Point of Sale (POS), которая используется в десятках тысяч независимых розничных магазинов по всей территории США.
Сейчас мы расширяем платформу, адаптируя её для ресторанного бизнеса.
Если вам нравятся задачи, в которых главное — не просто заставить систему работать, а обеспечить её корректную работу в больших масштабах, эта вакансия для вас!
Основное место работы — Минск, Беларусь (гибридный формат)!
Чем вы будете заниматься
Разрабатывать архитектуру и обеспечивать реализацию новых сервисов для ресторанного бизнеса: от модели данных и API до интерфейсов, с которыми непосредственно работают владельцы и сотрудники заведений.
Развивать пользовательские интерфейсы ресторанной платформы, включая кухонные дисплеи и все инструменты, с которыми персонал взаимодействует на протяжении всего жизненного цикла заказа.
Расширять и повышать надёжность существующих сервисов, работающих в production, не нарушая их стабильность.
Обеспечивать корректность работы при параллельных операциях: транзакционную целостность, уровни изоляции, идемпотентность, обработку гонок данных и повторных попыток, а также принимать обоснованные технические решения в ситуациях, когда идеальные гарантии невозможны.
Обеспечивать работу системы при потере соединения. Магазин должен продолжать обслуживать клиентов независимо от наличия сети. Это означает поддержку автономной работы клиентских приложений, локального хранения состояния, синхронизации после восстановления соединения и согласования данных, созданных во время разрыва связи.
Работать с очередями, асинхронной обработкой, фоновыми задачами и событийно-ориентированными процессами.
Обеспечивать безопасный выпуск обновлений, которые затрагивают десятки тысяч пользователей.
Напрямую взаимодействовать с продакт-менеджерами и дизайнерами, участвовать в определении того, что будет разрабатываться, а не просто получать требования и реализовывать их.
Определять техническое направление работы команды и проводить код-ревью других инженеров, в том числе аргументированно указывать на ошибочные архитектурные решения и добиваться их пересмотра.
Требования
6–8 и более лет опыта разработки full-stack-продуктов, включая опыт работы в качестве ведущего специалиста, ответственного за техническую реализацию.
Глубокие знания Node.js и TypeScript на всех уровнях full-stack-разработки, а также опыт создания production-сервисов, за архитектуру и качество которых вы готовы отвечать.
Глубокое понимание проектирования REST API и микросервисной архитектуры.
Уверенные навыки работы с реляционными базами данных — PostgreSQL или MySQL: проектирование схем, индексация, оптимизация запросов, транзакции и понимание реального поведения баз данных под нагрузкой. Также необходим опыт работы с нереляционными хранилищами, такими как Redis или MongoDB, и понимание принципов кеширования и инвалидации кеша.
Опыт работы с очередями и потоковой обработкой данных: Kinesis, Kafka, RabbitMQ, SQS, BullMQ или аналогичными технологиями. Важно понимать связанные с ними проблемы: порядок обработки сообщений, дубликаты, повторное воспроизведение сообщений и отставание потребителей.
Навыки frontend-разработки, соответствующие специфике продукта. Сотрудники используют интерфейсы во время интенсивной работы — на терминалах и планшетах, когда нет времени задумываться над каждым действием и нет права на неудобный пользовательский опыт. В нашей команде используется Vue. Опыт работы с React или Angular также подойдёт, если вы владеете архитектурой компонентов, управлением состоянием и разработкой прогрессивных веб-приложений (PWA).
Опыт создания интерфейсов реального времени на основе WebSockets, желательно с использованием Socket.IO. От этого зависят обработка заказов и работа кухонных дисплеев.
Отличные навыки отладки. Вы умеете анализировать незнакомые сбои в production-среде и последовательно находить их первопричину, а не строить догадки.
Некоторые части существующей платформы написаны на PHP. Умение эффективно работать с незнакомым кодом, в том числе с помощью ИИ, — важная часть этой работы.
Опыт развёртывания сервисов, поддерживающих горизонтальное масштабирование, устойчивых к отказу отдельных экземпляров и замедлению зависимых сервисов, а также способных автоматически увеличивать или сокращать вычислительные мощности в зависимости от нагрузки.
Уверенное владение Linux, Git и процессами CI/CD.
Отличный письменный и разговорный английский. Вам предстоит ежедневно общаться с командами из США и Израиля, а также часто объяснять технические решения коллегам, которые не участвовали в обсуждении архитектуры.
Как мы работаем
AI-first — ИИ как неотъемлемая часть разработки. Вы используете инструменты искусственного интеллекта в качестве ключевой составляющей инженерного процесса: изучаете незнакомые кодовые базы за часы, а не недели, проверяете свои архитектурные решения на прочность и ускоряете работу, не снижая требований к качеству. Вы применяете ИИ на всех этапах жизненного цикла разработки: при проектировании до написания кода, программировании и рефакторинге, самостоятельной проверке результатов и автоматизированном ревью pull request.
Вы не боитесь погружаться в сложные задачи. Получив большой, сложный и незнакомый репозиторий, вы сразу начинаете изучать его код. Сложность и критичность системы — причины действовать осторожно, а не ждать, пока кто-то другой возьмётся за работу.
Вы создаёте сервисы, которые легко поддерживать. Чёткие границы между компонентами, читаемый код, действительно полезные тесты и наблюдаемость, позволяющая понимать происходящее в production. Следующий инженер должен иметь возможность самостоятельно поддерживать созданную вами систему без необходимости в подробном сопровождении.
Вы думаете о конечном пользователе. Во время наплыва заказов непонятный интерфейс или лишнее нажатие — это не просто косметический недостаток. Это замедление обслуживания и дополнительный стресс для персонала.
Вы готовы сделать больше необходимого. Вы доводите решение проблемы до конца, включая задачи, которые никто напрямую на вас не возлагал. Вы гордитесь своей работой и заботитесь о том, как результат влияет на владельцев заведений и сотрудников, использующих систему.
Что мы предлагаем
Современный офис в самом центре Минска с бесплатной парковкой.
Возможность работать удалённо или в гибридном формате.
Интересную и сложную работу в окружении талантливых специалистов.
Конкурентную заработную плату и возможности профессионального роста.
Действительно хорошее техническое оборудование.
26 дней отпуска и 5 полностью оплачиваемых дней по болезни в год без необходимости предоставлять больничный лист.
Компенсацию расходов на профессиональное обучение, семинары и конференции.
Компенсацию расходов на спортивные занятия.
Медицинскую страховку и компенсацию расходов на спорт.
Реферальную программу: вознаграждение за помощь в привлечении талантливых специалистов в команду.
Оплачиваемые компанией занятия английским языком для профессионального развития.















































