Мы предупреждали, что легко не будет: зимняя стажировка роботов

Из 350 людей мы выбрали 20, чтобы научить их (почти) всему, что умеют iOS и Android-разработчики роботов. Обновили программу, прокачали ораторские скиллы и провели четвертую горячую зимнюю стажировку мобильных разработчиков.

Программный комитет

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

Иван Вавилов,
iOS Team Lead Redmadrobot

Иван Вавилов, iOS Team Lead:

— За последний год мы сильно изменили процесс Continuous Integration внутри компании, и в программе стажировки появились общая и специальная лекции по тестированию. Также мы учли популярные инструменты для тестирования и CI, такие как Xcode UI-тесты, Snapshot-тесты, Fastlane и Danger.

Артем Кулаков,
Android Team Lead

Артем Кулаков, Android Team Lead:

— Из программы для Android CI выбросили, поскольку это достаточно просто и не слишком интересно. Что-то проапдейтили и добавили новые лекции — в этом году Google наконец представил нормальную ORM, и в рамках курса мы рассказали о том, как с ней работать.

Много внимания уделили UI, потому что с кишками все более-менее разобрались, а вот интерфейсы оставляют желать лучшего. В прошлом году мы рассказывали базовые вещи о material design, в этом — больше интересной жести: анимации, подготовка макетов, custom views и так далее. Далеко не все разработчики любят и умеют делать UI, да и немногие дизайнеры могут делать интерфейсы, которые можно реализовать без боли.

Позаботились и о безопасности. О чем-то рассказывали в новом ключе: например, об обновленном списке угроз OWASP Mobile Top 10, а что-то остается актуальным всегда — как практика (не)хранения конфиденциальной информации в коде.

В подготовке и проведении стажировки традиционно  участвует целая команда — в этом году составляли программу, читали лекции, давали и проверяли домашние задания 30 роботов, среди которых iOS, Android и backend-разработчики, дизайнеры, аналитики и специалисты по QA.

Правила отбора

Что делает роботов крутыми? Умение быстро осваивать новые технологии и запускать проекты на их основе. И для стажировки мы ищем людей, похожих на роботов. В этом году нас было чуть больше 200 заявок от Android-разработчиков и 150 на iOS. В итоге взяли 20 стажеров — по 10 на платформу.

Иван Вавилов, iOS Team Lead:

— Всех, кто подает нам заявки, я делю на три категории. Те, кто под iOS никогда не писал и хочет научиться — такие к нам не попадают, поскольку просто ничего не поймут. Второй тип: люди с большим — от 7 лет и выше — опытом в разработке, которые хотят перейти в iOS — они могут прокачаться самостоятельно и прийти к нам уже на собеседование. Мы берем тех, кто в iOS уже работал, и даем им возможность поработать как роботы.

Артем Кулаков, Android Team Lead:

— В Redmadrobot мы занимаемся вещами, о которых средний разработчик либо не знал, либо не мог попробовать. Часто в команде продукта 1-2 разработчика из года в год пилят приложение, не имея возможности попробовать что-то принципиально новое — Room, Clean Architecture, Kotlin — и это видно по ответам на вопросы анкеты. Мы не берем совсем зеленых разработчиков, потому что им не к нам, мы не берем зрелых специалистов, которые хотят поменять специализацию, потому вряд ли им это будет полезно. На стажировку попадают очень немногие, и это должны быть люди, которые хотят учиться и которым мы можем быть полезны.

Сделай сам

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

В этом году обе группы разрабатывали приложения, аналогичные боевым проектам роботов. Android-разработчики — GitHub-клиент, а группа iOS — приложение, похожее на один из наших проектов.

Иван Вавилов, iOS Team Lead:

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

Роман Рулин,

стажер:

— Читая отзывы стажеров предыдущих лет, я понимал, что легко не будет. Соревновательный момент в домашних заданиях, конечно же, добавил мотивации — я стремился сделать все дополнительные задания и получить максимальные баллы. В последние минуты до полуночи перед сдачей домашки приходилось писать код с огромной скоростью, отсчитывая оставшееся время, и отправлять письмо в последнюю минуту.

Дмитрий Гачковский,

стажер:

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

Оценки

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

Артем Кулаков, Android Team Lead:

— Уровень самых слабых стажеров этого набора соответствовал самым сильным с прошлой стажировки. Если в прошлом году мы потратили много времени на отбор, поскольку искали самых сильных из множества кандидатов, на этот раз отбор шел уже среди лучших.

Иван Вавилов, iOS Team Lead:

— В группе iOS значительной разницы с прошлыми наборами не было. У наших стажеров опыт очень разный: от года и более в коммерческой разработке до работы в учебных проектах. Интересно наблюдать за тем, как люди растут — часто менее опытные учатся быстрее, чем те, кто казался более перспективным.

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