Как я Буткемп в Яндексе проходил

Как сейчас помню: середина марта, начало весны, я занимаюсь разработкой очередного SPA в небольшой веб-студии в Краснодаре (привет, ребята!). Я поймал себя на мысли, что фаза быстрого роста и постижения нового переросла в рутину. Не то чтобы я уткнулся в потолок. Скорее стал получать меньше ценного опыта в процессе работы.

Да, изучать новые технологии, пробовать и экспериментировать можно дома — ночами и на выходных. Но ведь гораздо круче осваивать новое и развиваться прямо на работе. В конце концов, в этом заинтересованы не только вы, но и работодатель, разве не так?

Однажды на конференции меня так увлек рассказ одного яндексоида о регрессионном тестировании скриншотами с помощью Гермионы (инструмент для взаимодействия с UI, который делает скриншоты состояний разных частей приложения), что я задумался о смене работы. Если не сразу на Яндекс, но хотя бы на компанию, которая делает серьезный фронтенд.

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

Собеседования прошли достаточно продуктивно, и вскоре я попал в Буткемп.

Буткемп

Буткемп — это что-то вроде введения перед работой в Яндексе (не путать со стажировкой). Здесь у тебя есть шанс поработать в разных командах над разными проектами и решить, что именно и как ты хочешь делать.

Разрабатывать сервис, который увидят миллионы, или улучшать внутренний инструмент, пользователи которого сидят в соседней комнате? Бурно расти со стартапом или экспериментами оттачивать работу сервиса, которому не один десяток лет? Проектировать библиотеки и фреймворки или решать инфраструктурные задачи?

Ответы на эти и другие вопросы можно найти во время Буткемпа.

Атмосфера Буткемпа

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

Выход на работу. Лего

В первый день меня познакомили с ментором, который должен был рассказать и показать мне все вокруг. Он был из команды Лего — в ней занимаются разработкой внутренней библиотеки компонентов Яндекса. Эта библиотека реализована на i-bem и React, ей пользуется огромное количество сервисов. А ещё эта команда участвует в создании важного фреймворка bem-react-core.

За две недели в Лего я прошел боевое крещение и познакомился с технологиями Яндекса: это технологии описания клиентской логики и шаблонизации; серверный код, юнит тесты, спеки, регрессионное тестирование скриншотами и интеграционные тесты, а также множество инструментов и сервисов.

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

Серп

Search Engine Result Page («Серп») — это отдел, который состоит из нескольких команд. Одни следят за скоростью работы, другие — за красотой и консистентностью, третьи разрабатывают «колдунщики» (например, карусель с видео или форму конвертации валют), которые подмешиваются в выдачу по подходящим запросам.

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

Планка высочайшая, я такого уровня не видел нигде. Думаю, это отличное место, чтобы отточить навыки. Впрочем, есть одно «но»: процент кода, который после экспериментов доезжает до продакшена, не слишком высок. А ещё после Лего мне было грустно расставаться с React'ом (на данный момент React там уже внедрен).

Фемида

К этому моменту я понял две вещи. Мне хочется работать с React и чтобы результаты работы кто-то видел. Мой выбор пал на команду Фемиды — это сложный внутренний сервис для найма сотрудников.

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

За месяц я успел кроме Фемиды поработать над Яндекс.Кодом (если вы проходили собеседование в Яндексе, то наверняка писали код именно в этом сервисе). Во внутренних сервисах не такой жёсткий CI, как во внешних. Здесь другие масштабы, поэтому ты сам деплоишь код на машины и развиваешь инфраструктуру.

Работа над внутренними сервисами была интересным опытом, однако аудиторию здесь не сравнить с «Серпом». Мне всё ещё хотелось делать что-то для миллионов пользователей, поэтому я пошел дальше. Теперь у меня были такие требования: команда моей мечты должна заниматься сложными продуктовыми задачами для большой аудитории, желательно на React.

Картинки

Мне очень понравился рассказ об этом сервисе и его задачах, а также отзывы Буткемперов, которые уже успели там поработать. В Картинках особая атмосфера: ребята очень доброжелательные, постоянно шутят друг над другом и даже смотрят футбол (дело было во время чемпионата мира). Но всё это в рамках разумного и не в ущерб работе.

Здесь не стесняются предлагать даже самые безумные идеи, из которых могут вырасти интересные решения. Например, в первый же день меня позвали на брейншторм: мы думали, как реализовать запуск превью на Яндекс.Видео. Кое-что из придуманного я увидел реализованным уже через несколько недель, на демо-встрече Видео.

Картинки — одна из «вертикалей» поиска, разнообразный сложный сервис с очень высоким качеством кода. Здесь есть все плюсы, которые я видел в других командах: сильные ребята, которые готовы делиться опытом, интересный сервис, продуктовые задачи и React!

Выбор сделан.

55
2 комментария

Тот момент, когда открывая ссылку думал не о введении в Яндексе, а о локации в PUBG

Ответить

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

Ответить