Фронтенд в образовательное направление Т⁠—⁠Ж

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

Москва, Санкт-Петербург, Ростов-на-ДонуПолный рабочий деньМожно удаленно

Компания

Тинькофф делает жизнь 15 миллионов клиентов проще и удобнее каждый день

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

Тинькофф-журнал — главное русскоязычное издание про деньги. Нас читают 10 миллионов человек в месяц. Наша миссия — сделать читателей образованными и смелыми в отношении всего, что касается денег. Для этого мы выпускаем статьи, интерактивы и учебные курсы. С октября 2019 года мы выпустили 14 курсов, в январе этого года — первый платный. Пока я пишу эту вакансию, у нас учится полмиллиона человек.

Как устроен проект

Фронт образовательной платформы объединен с фронтом остального журнала. Мы пишем его на TypeScript, React, Redux и RxJS — от последнего планируем избавиться. Тесты в конце уроков и экзамены в конце курсов встроены как отдельные веб-приложения на том же стеке. Админку сделали отдельно на TypeScript, Next.js и ant-design.Всё это ходит в разные сервисы по REST API. У нас настроен CI/CDна Gitlab и ArgoCD — приложения пакуем в Docker и разворачиваем в Google Kubernetes Engine.

Чем предлагаем заняться

  • вытащить фронт учебника образовательной платформы из фронта журнала. Придумать, как снизить связность со статьями и другими сущностями журнала и внедрить это;
  • обложить, что получилось, логами и метриками. Метрики приложений в кластере собирает Prometheus — останется проверить, что все ок, и настроить дэшборд в Grafana. С логами на фронте пока не очень — Sentry выжирает ресурсы и кладет приложение. Пока смотрим на интеграцию внутреннего решения;
  • переделать уроки: чтобы они собирались из блоков в админке, а не html-like синтаксисом. А ещё предлагать пользователю домашние задания, дополнительные материалы, показывать везде его прогресс;
  • улучшить систему награждения пользователей ачивками за обучение на курсах.

Ближе к тому, как все это сделаем, определимся с новыми большими этапами.

Как видим кандидата:

  1. Знает JavaScript: функции, асинхронность, как код работает в браузере.
  2. Использовал TypeScript: весь код у нас покрыт типами и билдится в стрикт-моде.
  3. Знает React: виртуальный DOM, хуки, компоненты.
  4. Знает, как взаимодействуют фронт и бэк: CORS, сокеты, REST.
  5. Знаком с паттернами проектирования: синглтоном, адаптером и другими.
  6. Умеет писать unit-тесты.
  7. Писал приложения с SSR.
  8. Придумывал и реализовывал архитектуру фронтовых приложений.

Если умеете в Docker и Kubernetes — кайф. Если нет — поможем научиться до достаточного уровня.

Кроме белой зарплаты рассчитывайте на:

  1. Фултайм-удаленку на время пандемии. Дальше можно будет чередовать с офисом на м. «Динамо» или продолжить работать дома.
  2. Помощь в переезде в Москву или в город, где у нас есть офис разработки.
  3. Гибкий график. Главное — побольше времени пересекаться с остальной командой.
  4. ДМС после испытательного.
  5. Рабочий MacBook Pro.
  6. Модную лимитированную худи с логотипом Т⁠—⁠Ж после испытательного.

А ещё мы предоставляем возможности для обу. Вот, чему при желании у нас можно научиться:

  1. Выращивать стажеров и делегировать им задачи. Несколько раз в год набираем студентов Физтеха, Вышки, Бауманки, МГУ и других вузов с неплохими техническими программами.
  2. Смежным с работой софт- и хард-скиллам. В Тинькофф развитая система внутренних тренингов: от безопасности веб-приложений до поиска баланса между работой и личной жизнью.
  3. Писать статьи на «Хабр» и «Медиум», выступать с докладами на митапах и конференциях. В этом помогут наши редакторы, HR и DevRel: подобрать тему, собрать материал, подготовиться и опубликоваться или выступить.
  4. Другим навыкам, которых вам будет недоставать для работы. Есть возможность поучиться на курсах или послушать конференции за счет компании.

Отликайтесь на на v.k.lazarev@tinkoff.ru или в Телеграм.

Подробнее о вакансии в журнале.

Дополнительные инструкции