Skip to content

Instantly share code, notes, and snippets.

@arikon
Last active February 4, 2017 16:57
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save arikon/6200406f1fabd0046ea6 to your computer and use it in GitHub Desktop.
Save arikon/6200406f1fabd0046ea6 to your computer and use it in GitHub Desktop.
Вакансия в команду разработки портальной библиотеки блоков Яндекса

Привет!

В портал Яндекса входит больше сотни сервисов. Часть из них достаточно известны — Главная страница (Морда), Поиск, Почта, Карты, Маркет и т.д., но большая часть менее известны или даже практически незаметны. Среди них различные промо-проекты (например, Яндекс.Браузер) и спец-проекты (например, Зимние Игры — 2014).

Для того, чтобы ускорить и упростить создание и поддержку такого количества сервисов, мы сделали, а теперь развиваем и поддерживаем портальную библиотеку общих блоков — Лего.

Развитием портальной библиотеки и инфраструктуры вокруг неё занимается отдельная команда. В команде Лего работает около 20 человек (разработчиков, тестировщиков, технических писателей и менеджеров). Кроме этого, в портальную библиотеку контрибьютят разработчики сервисов Яндекса.

Среди основных задач команды Лего можно выделить следующие:

  • разработка новых блоков
  • исправление ошибок в существующих блоках
  • увеличение покрытия кода тестами
  • документирование
  • приёмка контрибьюта
  • развитие инфраструктуры для разработки и использования библиотеки (система сборки, Continuous Integration, инфраструктура для автоматизированного тестирования, хелперы для разработки и т.д.)

Код и продукты, которые мы разрабатываем, должны быть надёжными и доступными. Поэтому при разработке мы много внимания уделяем документированию и автоматизации тестирования.

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

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

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

От кандидата в нашу команду мы ожидаем:

  • увлечённости разработкой
  • опыта промышленного программирование от 3 лет
  • опыта работы в команде с использованием соответствующих инструментов
  • опыта кроссбраузерной разработки (HTML, CSS, JavaScript)
  • знания новых возможностей современных браузеров
  • свободного владения командной строкой Unix

Плюсами будут:

  • опыт работы над проектом с открытым исходным кодом – собственными или в качестве контрибьютора
  • опыт разработки общего фреймворка, библиотеки или инструмента — закрытого или с открытым исходным кодом
  • опыт разработки проекта с использованием БЭМ — методологии или инструментария

В обмен мы предоставим:

  • конкурентную оплату и легальное оформление (без ИП и других серых схем)
  • возможность поездок в командировки
  • возможность обучения за счёт компании
  • удобный офис в центре с хорошей транспортной доступностью

Работа в нашей команде предполагает полную занятость в офисе Москвы, Санкт-Петербурга или Симферополя.

Если у вас остались вопросы — задайте их в почте arikon@yandex-team.ru.

Если вы хотите работать с нами — заполните анкету и выполните тестовое задание.

Тестовое задание

Напишите приложение для игры в planning poker.

Пользователь:

  • может присоединиться к игре
  • может задать себе ник
  • может в любой момент начать новый раунд голосования (кнопка «Новый раунд»).
  • может задать описание раунда
  • может выставлять оценку один раз за один раунд голосования. Доступные оценки: 1/2, 1, 2, 3, 5, 8, 13, 20, 40, 100, ?, ∞
  • видит свою оценку в этом раунде
  • не видит чужих оценок, пока все остальные участники не проголовали
  • видит чужие оценки, как только все остальные участники проголосовали

Пример подобного сервиса: http://hat.jit.su/

Технологии

На серверной стороне используйте node.js c любым набором библиотек.

На клиенте:

  • кандидатам на вакансию разработчика инфраструктуры разрешено использовать любые библиотеки, в том числе библиотеки UI-компонентов (рекомендуем bem-core и bem-components)

  • кандидатам на вакансию разработчика интерфейсов разрешено использование любых технологий и библиотек (рекомендуем bem-core), однако не разрешено использования готовых UI-компонентов (например, можно использовать jQuery, но нельзя jQuery UI или Bootstrap); кроме этого просим сверстать кнопки, как это требуется в 4 задании по ссылке

Поддержка браузеров

Приложение должно работать в браузерах:

  • IE 9
  • Firefox (две последних версии; на момент написания — 31, 32)
  • Chrome (две последних версии; на момент написания — 36, 37)

Дополнительным плюсом будет работоспособность на мобильных устройствах (укажите в README, на каких мобильных устройствах вы тестировали приложение).

Рекомендации

При выполнении задания покажите всё, на что вы способны, как разработчик. Мы будем оценивать все аспекты решения:

  • качество и оформление кода
  • структуру, объектную модель приложения
  • комментарии, документацию
  • тесты (если будут)

Готовое задание пришлите в виде ссылки на репозиторий на публичном хостинге (github/bitbucket). В README опишите процесс запуска приложения.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment