Разработчик Node.JS
Требования
Местоположение и тип занятости
Компания
Описание вакансии
Условия работы
Мы ищем разработчика, готового участвовать в создании инструментов и инфраструктуры для разработчиков интерфейсов Яндекса. Наша команда делает так, чтобы разработчикам было удобно заниматься своим главным делом и не приходилось отвлекаться.Например, мы настраиваем непрерывную интеграцию, разрабатываем инструменты для статического анализа кода и создаем новые инструменты тестирования.
Основными (хотя не единственными) языками разработки у нас являются JavaScript (NodeJS) и Python (в соотношении 9:1). Многие инструменты разрабатываются нами в open source на GitHub и используются, в том числе, командами за пределами Яндекса. Среди этих инструментов — gemini, hermione, enb и другие. Инфраструктура для автоматизации сборки, тестирования и развертывания кода, которую мы создаем, работает на сотнях серверов под высокой нагрузкой. Например, мы умеем выполнять тысячи тестов верстки в 10+ браузерах (в том числе мобильных) за 5-10 минут.
Мы ждем и состоявшихся разработчиков на JavaScript и Python, и тех, кто готов освоить и профессионально использовать эти языки.
Задачи:
- поддержка и развитие инструментов для разработчиков, тестировщиков и менеджеров и создание новых таких инструментов;
- развитие системы непрерывной интеграции и непрерывного развертывания;
- развитие инфраструктуры для автоматизированного тестирования;
- поддержка и оркестрация серверов;
- создание инструментария для тестирования производительности сервисов.
Основные требования:
- опыт разработки ПО от двух лет;
- знание языков JavaScript и Python или готовность их изучить;
- знание классических алгоритмов и структур данных;
- практическое представление об автоматизации процессов (например, умение заметить в собственной работе повторяющиеся действия и написать инструмент для их автоматического выполнения);
- знание английского языка на уровне чтения документации;
- владение Unix shell и скриптовыми языками.
Приветствуются:
- наличие собственных разработок в open source;
- навыки работы с системами контроля версий (в первую очередь Git);
- знание CSS, HTML;
- опыт разработки на одном из языков: C, C++, C#, Java, Python, Perl или Ruby;
- знание и применение на практике паттернов проектирования.
Личные качества:
- желание и умение изучать новые технологии и языки;
- ответственность, самостоятельность, внимание к деталям;
- способность и желание работать в команде.