Senior Software Engineer
Engineering Москва или удаленно

Senior Software Engineer

В SegmentStream, мы создаем продукт, который помогает сотням компаний построить масштабируемую и надежную инфраструктуру для сбора и обработки данных (Data Intelligence Platform). Миссия нашей компании — позволить любой компании извлекать реальную пользу из своих данных, не думая о каких-либо технических препятствиях.

Мы достигаем этого при помощи единой платформы, которая автоматически собирает данные из различных источников, фильтрует, валидирует, трансформирует и загружает их в подключенное хранилище данных для дальнейшего анализа и обработки.

Мы постоянно ищем в команду талантливых fullstack разработчиков. Сейчас нам нужен профессионал с преимущественно бэкэнд-фокусом, который обожает заниматься построением сложных высоконагруженных распределенных систем с неограниченной масштабируемость.

Image
NodeJS
TypeScript
Kubernetes
Microservice
Highload

Что мы делаем:

  • Мы разрабатываем высоконагруженные конвейеры данных используя NodeJs и множество решений для хранения данных и построения очередей их обработки.
  • Нам нравится строить UI на React.
  • Мы разрабатываем наш бэкенд-API на NodeJS и PostgreSQL.
  • Мы верим в использование правильного инструмента для правильной задачи.
  • Мы деплоим наш код несколько раз в день. Мы обожаем эффективность, облачные решения, CI/CD, Kubernetes, Docker и Terraform.
  • Мы гордимся кодом, который пишем, но мы не зациклены на определенных методологиях и технологиях. Мы уверены, что делать “правильные вещи” важнее, чем делать “вещи правильно”. Но несмотря на это, мы очень серьезно относимся к ответственности перед нашими клиентами за обеспечение надежной инфраструктуры, на которую завязано множество их важных бизнес-процессов.

Кого мы ищем:

  • Ты умеешь превращать сложные бизнес-требования в работающий продукт, который полюбят наши клиента.
  • Ты гордишься кодом, который пишешь, но при этом остаешься прагматичен и самокритичен.
  • Ты знаешь, когда время рефакторить и когда время релизить.
  • Тебя воодушевляет поиск элегантных решений для сложных технических задач.
  • Ты сфокусирован, мотивирован, самостоятелен и способен завершать начатое, какой бы сложной ни оказалась задача.
  • Тебе не чужда эмпатия, ты терпелив и всегда рад прийти на помощь члену команды.
  • Ты знаешь основы архитектурных паттернов и паттернов проектирования
  • Ты понимаешь, что такое разрабатывать продукт, который уже находится в продакшне и которым пользуются миллионы людей. Ты понимаешь, что с момента запуска на продакшн - это больше не лабораторная работа. Ты серьезно относишься к тестированию, понимаешь ценность логирования, мониторинга и отслеживания ошибок.

Примеры будущих задач:

  • Создание масштабируемой и отказоустойчивой микросервисной архитектуры с балансировкой нагрузки и функциями автоматического обнаружения новых сервисов.
  • Параллельная обработка терабайтов данных в условиях жестких ограничений по оперативной памяти.
  • Создание высокодоступных конвейеров обработки событий в реальном времени с неограниченной масштабируемостью.
  • Проектирование любого рода систем, которые легко масштабируются в зависимости от нагрузки.
  • Построение эффективных систем кэширования и проксирования.
  • Управление изменяемым shared state для различных платформ баз данных SQL и NoSQL с low-latency требованиями
  • Умное шардирование очередей, баз данных, сервисов, в случае, если стандартные балансировщики не справляются.
  • Снижение расходов на облачную инфраструктуру при сохранении той же скорости разработки.

Требования:

  • Ты можешь писать как серверный так и клиентский код (да-да, мы любим fullstack) на JavaScript используя последние фичи и API.
  • Имеешь хороший фундамент по теории алгоритмов, структурам данных, паттернам проектирования. Есть высшее образование в Computer Science.
  • Минимум 3 года “промышленного” опыта в разработке или наличие крутых open-source проектов на GitHub.
  • Доказанное умение писать код, который решает реальные проблемы.
  • Ты глубоко понимаешь все нюансы и сложности написания масштабных single-page приложений.
  • Сильная теоретическая база и практический опыт проектирования и реализации высокодоступных, высоконагруженных, отказоустойчивых распределенных систем.
  • Опыт внедрения масштабируемых конвейеров обработки данных и событий, предпочтительно с использованием потоковых технологий.
  • Ты хорошо разбираешься в параллельном вычислении и не путаешь его с распределенным вычислением.
  • Знаком с лучшими практиками деплоймента и тестирования кода на продакшн окружении.
  • В своей работе демонстрируешь использование архитектурных паттернов для построения масштабируемых веб-приложений (правильный дизайн API, высоконагруженные конвейеры данных, эффективные алгоритмы, и т.д.)
  • Ты ценишь командную работу и соглашаешься с утверждением, что «команда — это группа людей, которые несут ответственность за решения друг друга».
  • Ты знаком с основами машинного обучения.
  • Ты свободно говоришь и пишешь на английском без ошибок.

Если ты все- таки дошел до конца этой вакансии, внимательно прочел все условия — жми на отклик, будем рады с тобой пообщаться ;)

Заинтересованы в вакансии?

Оставьте ваши контакты и мы ответим в течение 8 рабочих часов.

Отправить резюме

Начните работу с SegmentStream

Оставьте заявку на персональную демонстрацию или попробуйте SegmentStream бесплатно!