👀 Дизайнеры, с какой командой вы мэтчитесь по вайбам? Проверяйте на Вайб-чеке→ vibe.habr.com

Frontend Developer

Местоположение и тип занятости

МоскваПолный рабочий день

Компания

Крупнейший сервис поиска, бронирования и покупки авиабилетов и ж/д билетов

Описание вакансии

Условия работы

У нас в Туту миллионы клиентов, мы всё для них автоматизируем. В итоге из примерно 400 человек штата около 200 человек — ИТ-команды, и из них больше сотни разработчиков. Ну а мы разрабатываем инструменты для фронтенд-разработчиков внутри компании. Это этапы процесса разработки: проектирование решения, написание кода, тестирование, сборку и выкладку, эксплуатацию кода. Эти инструменты автоматизируют рутинную работу и позволяют фронтендерам сфокусироваться на не совсем рутинных задачах. Например, у нас есть инструменты для быстрого развёртывания кода и публикации пакетов, инструменты юнит-тестирования и визуального тестирования скриншотами, сервисы по сбору и мониторингу ошибок и т. д.

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

Сейчас у нас в команде два человека: тимлид и старший инженер. Поскольку у нас нет выделенных ролей по функциям (например бэкенд, или тестирование, или product owner), мы все задачи распределяем между собой.

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

Что для этого нужно:

  • Опыт фронтенд-разработки и понимание процессов разработки фронтенда;
  • Хорошее знание JavaScript;
  • Знакомство с React стеком;
  • Навыки анализа, владение инструментами рационального мышления;
  • Готовность общаться со внутренними клиентами (продуктовыми разработчиками), выявлять потребности и генерировать решения.

Будет плюсом:

  • Опыт работы с TypeScript, Node.js или любыми другими серверными технологиями и ЯП, со сборщиками webpack / rollup;
  • Опыт создания и поддержки общих модулей или библиотек;
  • Знакомство с Docker и экосистемой вокруг него;
  • Опыт разработки продуктов или инструментов для внутренних заказчиков.

Как выглядит работа

Запросы на создание или доработку инструментов приходят: от продуктовых фронтендеров, от руководителя разработки или технического директора. Ну и ещё у нас самих иногда появляется идея. Собираем всё это в беклог, потом мешаем-мешаем-мешаем, достаём, оцениваем и откладываем. Иногда важное делаем ) В основном мы создаём standalone-приложения и сервисы. Standalone-приложения мы распространяем через пакетный менеджер Npm. Для этого используем инструменты сборки и публикации, которые сами разрабатываем и поддерживаем. Сервисы создаются в платформе OpenShift, которую поддерживает соседняя команда. Сервисы собираются и выкладываются стандартными пайплайнами. В процессе релиза сервис выкладывается на два окружения: testing и production. Перед переключением трафика на production прогоняются bg-тесты.

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

В команде принято писать юнит- и интеграционные тесты. Тесты прогоняем до вливания в мастер-ветку и в некоторых случаях в пайплайнах (интеграционные и системные тесты).

Две недели — планирование, ретро и спринт-ревью. Ревью — это мини-демо. Каждый день по утрам стендапы на 10 минут. 

Цель на первые три месяца — познакомиться с подходами, принятыми в компании, познакомиться с разработками нашей команды, научиться проводить анализ и выполнить первый большой проект. Первый месяц работы будет посвящён знакомству с процессами разработки фронтенда в продуктовых командах и с инструментами, которые создаёт наша команда. Это будут небольшие задачи на добавление новых фич и исправление багов. Следующие два месяца будут целиком посвящены созданию нового инструмента.

Структура собеседования:

Пройти HR-менеджера, 30 минут, сразу перед техсобеседованием. Никаких «кем вы видите себя через 5 лет»; 

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

Разговор с руководителем отдела и Product Owner. 

Про компанию:

Весь положенный набор плюшек: ДМС со стоматологией, кухня в офисе, страховка на путешествия, ноутбук, всякие премии, регулярная переиндексация зарплаты раз в квартал и так далее. Обучение, книги, обмен опытом (правда, в случае ИБ только внутри команды и с админами). Офис на Нагатинской с кухней и прочими ништяками.