- PVSM.RU - https://www.pvsm.ru -

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Люди

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Полезные сайты
Современный учебник JavaScript [6]
WebReference [7]
 
Книги
JavaScript. Подробное руководство (6-е издание), Дэвид Флэнаган [8]
Совершенный код, Стив Макконнелл [9]
Рефакторинг. Улучшение существующего кода, Мартин Фаулер [10]  
Git Book [11]
 
Курсы на Udacity (ссылка [12])
— 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
 
Видеоматериалы
Канал Академии Яндекса [13]
Материалы ШРИ [14]
Скринкаст по Node.js [15]
Скринкаст по Webpack [16] 
Скринкаст по Gulp [17]
Основы ES6 [18]
Javascript Tutorial For Beginners [19]
Javascript Fundamentals [20]
Modular Javascript [21]
React JS Tutorials [22]
Redux Tutorials [23]
LearnCode.academy [24]
CodeDojo [25]
JavaScript.ru [26]
Google Developers [27]
Microsoft Developer [28]
Facebook Developers [29]
Технострим Mail.Ru Group [30]
НОУ ИНТУИТ [31]

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

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

Автор: veged

Источник [33]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/321077

Ссылки в тексте:

[1] открылась регистрация: https://yandex.ru/promo/academy/shri?utm_source=habr

[2] мышлению: http://www.braintools.ru

[3] было в минской ШРИ: https://habr.com/ru/company/yandex/blog/454584/

[4] Школы бэкенд-разработки: https://yandex.ru/promo/academy/backend-school?utm_source=habr

[5] Вот ссылка: https://youtu.be/XpxxRG_xOyk

[6] Современный учебник JavaScript: https://clck.ru/6K3wa

[7] WebReference: http://webref.ru

[8] JavaScript. Подробное руководство (6-е издание), Дэвид Флэнаган: http://ya.cc/307Nc

[9] Совершенный код, Стив Макконнелл: http://ya.cc/307P2

[10] Рефакторинг. Улучшение существующего кода, Мартин Фаулер: http://ya.cc/307QK

[11] Git Book: https://git-scm.com/book/ru/v2/

[12] ссылка: http://udacity.com/courses/all

[13] Канал Академии Яндекса: https://www.youtube.com/%D0%A4%D1%80%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D0%B4

[14] Материалы ШРИ: https://academy.yandex.ru/events/frontend/

[15] Скринкаст по Node.js: https://ya.cc/308EQ

[16] Скринкаст по Webpack: https://ya.cc/308EW

[17] Скринкаст по Gulp: https://ya.cc/308Eu

[18] Основы ES6: https://ya.cc/308F0

[19] Javascript Tutorial For Beginners: https://ya.cc/308Fq

[20] Javascript Fundamentals: https://ya.cc/308G6

[21] Modular Javascript: https://ya.cc/308G8

[22] React JS Tutorials: https://ya.cc/308Gi

[23] Redux Tutorials: https://ya.cc/308HU

[24] LearnCode.academy: https://www.youtube.com/user/learncodeacademy/playlists

[25] CodeDojo: https://www.youtube.com/channel/UCY10FZglXJ8RL3xB04VpykQ/playlist

[26] JavaScript.ru: https://www.youtube.com/user/iliakan/playlists

[27] Google Developers: https://www.youtube.com/user/GoogleDevelopers/playlists

[28] Microsoft Developer: https://www.youtube.com/user/TechDaysRussia/playlists

[29] Facebook Developers: https://www.youtube.com/user/FacebookDevelopers/playlists

[30] Технострим Mail.Ru Group: https://www.youtube.com/user/TPMGTU/playlists

[31] НОУ ИНТУИТ: https://www.youtube.com/user/Intuitube/playlists

[32] CodeSignal: https://codesignal.com

[33] Источник: https://habr.com/ru/post/456382/?utm_campaign=456382&utm_source=habrahabr&utm_medium=rss