Software Engineer

16 апреля 2019371 просмотр
Описание вакансии

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

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

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

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

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

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

  • Мы разрабатываем высоконагруженные конвейеры данных используя 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, высоконагруженные конвейеры данных, эффективные алгоритмы, и т.д.)

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

  • Ты знаком с основами машинного обучения.

  • Ты свободно говоришь и пишешь на английском без ошибок.

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



Ваш отклик
No content.icon.access denied
Авторизуйтесь
Откликаться на вакансии могут только зарегистрированные пользователи.