7 октября 2016

All code. All day.

Прошло уже несколько месяцев с тех пор, как завершилась наша летняя стажировка. Начался листопад, студенты вернулись к занятиям, сразу несколько наших выпускников успешно трудятся в Noveo!  А мы решили немного поностальгировать и повспоминать, как всё это было. Слово Константину, куратору стажировки, проводившему полюбившийся студентам Code Retreat.

Во время летней школы мы стараемся не только учить студентов, но также и развлекать. Развлекать, разумеется, в процессе обучения, поэтому вот уже третий год подряд в самый разгар стажировки мы проводим Code Retreat — развлекательное мероприятие, которое состоит из нескольких сорокапятиминутных сессий парного программирования с дополнительными условиями. Во время сессий раз за разом реализуется игра “Жизнь”, а по истечении отведенного времени весь написанный код полностью удаляется.

code-retreat2

В этом году мы учли прошлый опыт, и сам Code retreat стал намного хардкорнее, но обо всем по порядку.

Первые 3 сессии состояли из традиционной простой реализации и относительно несложных ограничений:

  • Тело метода <=4 строки.
  • Не использовать примитивы.
  • Не использовать if.
  • Не использовать циклы.
  • Методы только void.
  • Не использовать поля класса.

А в качестве развлечений можно было выбрать что-то из списка:

  • Один пользуется только левой рукой, другой только правой.
  • Один пользуется только мышкой, другой только клавиатурой.
  • Не пользоваться мышкой вообще.
  • Именовать сущности в определенном стиле (военная тематика, автомобильная тематика, кулинарная тематика, тексты песен Стаса Михайлова и т.д.).

dsc05713

Ребята узнали, что такое Test Driven Development, и попробовали его на практике. Для новичков смысл TDD далеко не всегда понятен, а уж его обязательное применение поначалу и вовсе сбивает с толку. Иногда студенты даже не успевали реализовать свою основную задачу, из-за чего нервничали, особенно когда недописанный код приходилось собственноручно удалять.

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

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

Эта часть действительно стала хардкорной из-за нескольких ограничений. Во-первых, студенты не могли говорить друг с другом. Можно общаться жестами, писать на бумаге или прямо в комментариях к коду, но говорить нельзя ни при каких обстоятельствах. Во-вторых, спустя 10 минут после начала сессии вносится существенное изменение логики: теперь клетка, прожившая больше 3 циклов, становится зомби-клеткой. После превращения такая клетка пытается укусить одного, двух или трех своих соседей, которые также превращаются в зомби. При этом говорить по-прежнему нельзя, за исключением криков в духе “Нас всех съедят!”.

cbdda68c557d4ebaa0e7bd681b59b1be57cc9032c95d6680c3pimgpsh_fullsize_distr

День в целом получился очень интенсивный и очень продуктивный. В этом году получился самый суровый Code retreat из всех, что мы проводили. Ребята написали 20 разных проектов, успели побывать в условиях, приближенных к реальной разработке: странные ограничения, меняющиеся требования, горящие сроки и даже отсутствие нормальной коммуникации.

Как оказалось, преподавателям нашей школы Code Retreat был интересен не меньше, чем стажёрам. “Для меня это было первое взаимодействие со студентами школы «вживую» делится впечатлениями наш старший Android-разработчик Сергей. До этого я только проверял тестовые задания, которые будущие студенты выполняют перед поступлением в школу. Это очень ценный опыт, который в будущем пригодится для преподавания и кураторства. Очень интересно было подбирать и компоновать сами задания. Моё любимое – «зомби апокалипсис»: студентам запрещено разговаривать во время сессии. Вдруг внезапно на нашу игру «жизнь» нападают зомби, и приходится переписывать логику. Молча.

Для студентов Code Retreat это в первую очередь возможность поработать в команде, прокачать свои социальные навыки, которые важны при работе, не менее чем технические. Кроме того, это развивает умение искать нестандартные решения. Разумеется, в реальных проектах никто не будет запрещать использовать if или for, но умение мыслить нестандартно и посмотреть на проблему с другой стороны всегда будет очень полезным. Code Retreat это своего рода подготовка к работе в реальных проектах. Ведь ситуация, когда требования поставлены нечетко и к тому же меняются по ходу проекта, является рядовой”.

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

82edmjbxnyk

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Читайте в нашем блоге

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: