Хабрахабр

Коллаборация и автоматизация во фронтенде. Чему мы научились за 13 школ

Всем привет. Коллеги недавно писали в этом блоге, что открылась регистрация в следующую Школу разработки интерфейсов в Москве. Я очень рад новому набору, ведь я был одним из тех, кто придумал Школу в 2012 году, и с тех пор постоянно ей занимаюсь. Она эволюционировала. Из неё вышло целое мини-поколение разработчиков с широчайшим кругозором и способностью взять на себя в проектах вообще всё, что связано с фронтендом. Кто-то из выпускников работает в Яндексе, кто-то нет.

Вот об этом и поговорим сегодня на Хабре. ШРИ — как сервис: тоже требует разных форматов взаимодействия, автоматизации и экспериментов. Будут и полезные ссылки для кандидатов.

Не хочу сильно повторяться: вся основная информация про ШРИ 2019 есть на сайте. Только напомню про возможности для ребят из других городов: укажите в анкете, если хотите пройти первую часть (с 7 сентября по 25 октября) заочно. Конечно, тем, кто справится с тестовым заданием, мы не откажем и в очном участии — оплатим хостел и питание.

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

У нас гибкий проект. Это будет седьмая Школа в Москве и четырнадцатая, если учитывать все города, где её проводили — Симферополь, Минск, Екатеринбург, Санкт-Петербург. Каждый раз мы прислушиваемся к обратной связи студентов: что-то меняем, убираем, добавляем исходя из их потребностей и изменений в индустрии.

Начало обучения

Мы делаем вступительное задание довольно сложным. По смыслу задание для набора в Москве похоже на то, что было в минской ШРИ этого года. Мы дадим задачку на динамическую вёрстку, на написание JavaScript, и нужно будет разобраться в новой предметной области. По нашим подсчётам, на его выполнение уйдёт 5–7 дней, может чуть больше.

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

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

Весь второй этап студенты работают над реальными проектами под менторством сотрудников Яндекса. Во время второго этапа участники объединяются друг с другом в небольшие команды и работают в режиме хакатонов (мы называем их шрикатонами). Самые удачные имеют реальный шанс попасть в продакшен. В финале — защита проектов.

Так было не всегда.

Как ШРИ менялась

Впервые мы провели Школу в 2012 году. Изначально идея была в том, что нам самим не хватало специалистов и мы решили их «растить». Но даже тогда мы не ограничивали студентов в том, где им потом работать. Важно решать высокоуровневую задачу — усиливать большую экосистему, возвращая в неё выпускников с приобретённым глубоким пониманием фронтенда. На конференциях и встречах с разработчиками видно, как этот процесс приносит свои плоды.

Форматы и программа

Раньше были только лекции с домашними заданиями и защитой выпускного проекта. Причём лекции широкие, рассчитанные на базовый уровень знаний студентов. Постепенно мы поняли, что в этом не так много смысла. Вся информация и так доступна в онлайне, важнее смотивировать студентов самим найти нужную информацию, задать им правильный вектор и в целом привить желание обучаться. К тому же за годы проведения ШРИ у нас накопилось много материала по базовым темам, и мы регулярно его обновляем.

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

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

Один из шрикатонов

Ещё мы пробовали формат объединённых школ, когда работали в контексте «Мобилизации» — образовательного проекта 2017 года по разработке мобильных продуктов. Объединяли в команды одновременно студентов из ШРИ, Школы менеджеров, Школы мобильной разработки и Школы мобильного дизайна.

В этом году хотим повторить что-то подобное: сделаем смешанные команды из ШРИ и студентов из Школы бэкенд-разработки.

Проверка тестовых заданий

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

Команда

В организации и проведении ШРИ задействованы около ста человек. Это разработчики интерфейсов из всего Яндекса из всех отделов, даже из бизнес-юнитов. Кто-то помогает составлять программу, кто-то проводит лекции или курирует шрикатоны. Так как организаторов много, это не сильно мешает текущим рабочим задачам сотрудников. Для них тут тоже польза: они учатся обучать других, менторить и в целом делать более сложные проекты. Win-win.

Люди

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

ШРИ не обучает с нуля. Студент ШРИ находится в пограничном состоянии: он уже что-то знает и умеет, но у него могут отсутствовать системные знания и опыт командной разработки в крупных компаниях, ему не хватает практики.

В любом случае если ваших знаний и опыта достаточно для выполнения тестового задания, есть смысл идти учиться в ШРИ. При этом вы можете не быть именно фронтендером, а заниматься, например, дизайном, техническим проектным менеджментом или бэкенд-разработкой. Углубленное знание фронтенда позволит лучше понимать проблематику коллег.

Если бы каждый дизайнер и менеджер, с которыми мы работаем, обладали таким уровнем понимания разработки интерфейсов, всем точно стало бы лучше.

За годы проведения Школы мы заметили, что разработчики, которые приходят работать в Яндекс из ШРИ, показывают отличные результаты на внутреннем ревью.

Они смотрят на мир с открытыми глазами, не стесняются спрашивать, если что-то непонятно. Мы связываем это с тем, что у ШРИшников правильный образ мышления и архетип ученика. Умеют работать самостоятельно и легко объединяются с другими.

Из других городов

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

Очно-заочное обучение

В этом году первый этап с лекциями и домашними заданиями можно будет пройти в заочном режиме, удалённо — прямо из своего города. Но на второй этап необходимо приехать в Москву, так как дальше начинается магия командной работы. Пока мы не знаем, сколько мест будет доступно для удалённого обучения. Здесь важен психологический момент групповой динамики, важно чувствовать сопричастность к группе.

Если половина поступивших будет учиться удалённо, а поток будет слишком большим, например, 100 человек, то возникнет неприятный эффект одиночества в толпе. Нам хочется, чтобы студенты, которые учатся на одном потоке, общались друг с другом, становились друзьями. Поэтому на одном потоке у нас обычно 30–40 студентов.

Статистика переходов в Яндекс

С каждого потока последних лет мы берём на стажировки и вакансии от 60% до 70% выпускников.

Сейчас в компании работают 163 выпускника. Всего в ШРИ отучились 539 студентов, 244 из них стали сотрудниками Яндекса (не считая тех, кто был только на стажировке).

Выпускники работают в самых разных сервисах Яндекса: Директе, Поиске, Почте, главной странице, Маркете, Геосервисах, Авто, Дзене, Метрике, Здоровье, Деньгах. Со Школ прошлого года мы трудоустроили в компанию 59 человек: 29 стажёров, 30 штатных разработчиков.

БЭМ и гибридный подход к мобильной разработке

ШРИ не завязана на БЭМ. Конечно, если говорить про разработку интерфейсов, мы подразумеваем такую, которая сложилась в Яндексе — то есть большие нагрузки, много пользователей, высокие стандарты качества и внимание к деталям. Даже для создания маленьких региональных сайтов важно понимать фундамент профессии, разбираться, на чём можно сэкономить и почему, а на чём нет. По просьбам студентов мы одну из лекций посвятили БЭМ, так как эта методология много где стала стандартом.

Поэтому в ШРИ мы не касаемся аспектов нативного программирования на Swift, Objective-C, Cocoa, C++, Java. Мы обучаем именно веб-разработке и сопутствующим технологиям, а также мобильной разработке и мобильной вёрстке в контексте веб-технологий, используем гибридный подход к созданию приложений. Также не касаемся разработки под React Native.

Открытый вебинар

В эту среду, 19 июня, в 19:00 мск мои коллеги и я организуем вебинар про Школу — ответим на вопросы тех, кто думает поступать или уже начал делать задание (разумеется, в комментарии к этому посту тоже приду). Вот ссылка на YouTube, можно нажать «Напомнить».

Что почитать для подготовки

Полезные сайты

— Современный учебник JavaScript
— WebReference
 
Книги

Подробное руководство (6-е издание), Дэвид Флэнаган
— Совершенный код, Стив Макконнелл
— Рефакторинг. — JavaScript. Улучшение существующего кода, Мартин Фаулер  
— Git Book
 
Курсы на Udacity (ссылка)

— Linux Command Line Basics
— Browser Rendering Optimization
— Website Performance Optimization
— JavaScript
— Networking for Web Developers
— HTML5 Canvas
— Responsive Images
— Responsive Web Design Fundamentals
— Offline Web Applications
— Web Tooling & Automation
— JavaScript Testing
— Intro to Progressive Web Apps
— Software Testing
— Object-Oriented JavaScript
 
Видеоматериалы

Ru Group
— НОУ ИНТУИТ — Канал Академии Яндекса
— Материалы ШРИ
— Скринкаст по Node.js
— Скринкаст по Webpack 
— Скринкаст по Gulp
— Основы ES6
— Javascript Tutorial For Beginners
— Javascript Fundamentals
— Modular Javascript
— React JS Tutorials
— Redux Tutorials
— LearnCode.academy
— CodeDojo
— JavaScript.ru
— Google Developers
— Microsoft Developer
— Facebook Developers
— Технострим Mail.

А попробовать себя в решении задач можно на CodeSignal.

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

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть