Уже сутки как отсыпаюсь и прихожу в себя после хакатона DevelopHer 2013, организованного компанией LinkedIn на их кампусе в Mountain View. Очень рада, что приняла в нём участие, и пока первые впечатления не выветрились из головы, хочу поделиться своими наблюдениями и опытом. Лучше всего, наверное, тут подойдёт формат «вопрос-ответ». Если я что-то интересное упустила, с удовольствием отвечу на ваши вопросы в конце статьи. Итак:
— Что это было?
— Хакатон — это мероприятие, куда добровольно собирается толпа программистов, чтобы сутки напролёт работать над своими проектами, в одиночку или маленькими группами, в рамках заявленной темы. По окончании работы проекты предоставляются другим участникам и/или судьям. Хакатоны бывают тематические, посвящённые какой-то конкретной технологии, спонсируемые крупными корпорациями, а иногда просто спонтанные в кругу друзей. У DevelopHer никакой темы не было, но как следует из названия, участвовали в нём только барышни.
— Все-все были программистки?
— По моим ощущениям (официальной статистики нет), 75% — программистки (преимущественно front-end, но и back-end было немало), остальные 25% — юзабилисткы и дизайнерши, а также маркетологи и другие интересные персонажи, приехавшие на хакатон с целью подобрать команду для реализации какой-то своей идеи или задачки. Было много профи из индустрии — разработчицы из LinkedIn, eBay, Apple. Были старшекурсницы вузов, аспирантки (PhD students), студентки Hackbright Academy.
— Участие предполагало наличие команды?
— Были команды, которые сформировались заранее. Были команды, которые нашли друг друга прямо на месте. На большой доске вывешивались объявления в стиле «нам нужна UI/UX эксперт для мобильных приложений». Я не была уверена в своих силах и не хотела «тормозить» других, поэтому заготовила идею для своего проекта заранее и участвовала соло. Такие тоже были.
— И что, правда все сутки напролёт стучали в клавиатуру?
— Хакатон начался в 5 вечера пятницы и закончился в 4 вечера субботы. Первый час — регистрация, знакомства и подбор команд. В 6 вечера — краткое приветствие от организаторов и вводная информация. Примерно к 18:30 все разбрелись по проектам и работа закипела. Те команды, которые были едва знакомы друг с другом, ещё некоторое время громко обсуждали зарождающиеся проекты, договариваясь о ролях, инструментах и общем видении. Закончить мы должны были в 13:30 субботы, после чего начались демонстрации и финальное судейство. Таким образом на собственно проекты отводилось около 19 часов.
— Что можно написать за 19 часов?
— Меня этот вопрос очень занимал, поэтому я с большим интересом смотрела демонстрации чужих проектов, кто что успел и как происходило распределение ролей в командах. Это самый интересный момент, пожалуй: если ты только входишь в индустрию (или возвращаешься после долгого перерыва, как в моём случае), то участие в таких мероприятиях помогает «подсмотреть» за коллективной работой большого количества профессионалов сразу. Меня это очень вдохновило — то, насколько профессионально многие участницы брались «с места в карьер» за проект и делали его в срок с применением целого арсенала инструментария (библиотек, API, технологий).
Абсолютное большинство проектов были социальными веб-приложениями с использованием API к LinkedIn, FourSquare, Facebook, Google Analytics, Google Maps и т. п. Процентов 20 — социальные же приложения для смартфонов. И все прошедшие в финал, в принципе, работали — демонстрировали заявленную функциональность и при этом выглядели вполне юзабельно. Большой процент проектов (по моим оценкам — не менее 40%) составляли сервисы для рекрутеров и тех, кто ищет работу. Просто бум какой-то. Была пара-тройка игрушек и образовательных проектов. Проектов «программисты пишут что-то для программистов» практически не было. В моей группе (было три предварительных судейских коллегии на 27 проектов, нас в случайном порядке разбили на три группы) мой проект был единственным из этой области. Я писала серию виджетов, модифицирующих и расширяющих возможности jQuery UI.
— На чём в основном писали?
— Front-end: JavaScript, jQuery/jQuery UI, Bootstrap, Backbone и многое другое, включая разнообразные API. Back-end: очень большое разнообразие — Scala, Ruby on Rails, Java, всего не перебрать, разве что смотреть каждый проект. Кстати, вот они все (из тех, что были представлены к судейству). Что бросилось в глаза: владение обширным набором инструментария. Учитывая, что многие команды образовывались прямо на месте: идея могла прийти одной участнице, а реализовывала программную часть другая. И так получалось, что на любую задачку находился набор инструментов, которые для этой задачки подходили. Серверные программистки обязательно владеют парой-тройкой библиотек (Bootstrap, jQuery UI), что позволяет им легко состыковываться с фронтэндом. То же касается UI/UX дизайнеров. В финальном отборе был даже один соло-проект UX-дизайнера, которая реализовала свою идею полностью самостоятельно с применением Bootstrap/SQLAlchemy/LESS/jQuery/etc.
— Были ли какие-то ограничения на проекты или инструментарий?
— Да. Разрешалось использовать только открытые технологии и открытые данные. Ограничений на тематику не было. Проекты должны были писаться с нуля. Но я уверена, конечно, что как минимум те, кто пришли на хакатон командой, тщательно готовились — продумывали свои проекты, подбирали и изучали необходимые библиотеки. Моя подготовка заключалась в том, чтобы создать проект на github-е, залить в него свежий jQuery UI, и понатаскать с интернета в папочку несколько бесплатных скинов для веб-интерфейсов, чтобы было что натянуть на мои виджеты. Руки до скинов так и не дошли, ну и ладно.
— Можно поподробнее про организационные вопросы? Вы всю ночь жевали пиццу и пили кофе? А если под утро срубало, что делали?
— LinkedIn отвёл под хакатон просторный кафетерий своей штаб-квартиры. В нашем распоряжении были кофе-машины, всяческий чай, мороженый йогурт с вкусняшками, готовые бутерброды в холодильнике и всякие мелкие перекусы. Несколько раз в течение суток привозили завтраки-обеды. В полночь на нас свалилась клубника в шоколаде и крохотные чизкейки.
Как мне показалось, многие не спали вообще. Поскольку я не смогла толком выспаться накануне, то с удовольствием воспользовалась комнатой отдыха, которую для нас организовали в одной из переговорных. Там накидали гигантских кресел-подушек, спать в которых было одно удовольствие. Про сон должна сказать, что это важно — рассчитать свои силы и пойти-таки отдохнуть/поспать в тот момент, когда от усталости начинаешь буксовать на одном месте. Я так потеряла часа два: после пробуждения из четырёхчасового сна стёрла, не вникая, всё написанное за непродуктивное время и переписала заново за 20 минут. Надо было раньше остановиться.
Что ещё интересного по организации: в субботу была организован садик для детей, если кому-то было нужно. В течение хакатона проводили две сессии йоги, одну поздно вечером и одну утром. Говорят, йога — типичный атрибут девочковых хакатонов. Второй типичный атрибут — кексики с кремом (cupcakes). Они тоже были, сразу после того, как мы закрыли компьютеры в 13:30. Очень понравилась профессиональная работа организаторов! Никому не приходилось воевать с подключением ноутбуков или телефонов к демонстрационным мониторам — для этого были техники, которые без вопросов в мгновение делали всё как надо.
— А какой возраст участниц?
— В основном лет 28–35. Студентки, естественно, помладше — 20–28. Несколько участниц в возрасте около 50; что интересно, почти все они прошли отборочное судейство и попали в финал.
— А судьи кто?
— Финальное судество проводили (я это поняла только сейчас… вот что значит невыспавшийся
— Что даёт участие в этом мероприятии? Почему нельзя запереться дома на 24 часа и делать всё то же самое рядом с родными монитором, холодильником и кроватью?
— Можно, конечно. Я думаю, тем, кто хочет серьёзно расти в выбранной области, делать подобное не просто можно, но и нужно периодически. Но хакатон даёт дополнительные бонусы и на каждом уровне профессионального развития они свои. Начинающие, вроде меня, получают более чёткое представление о том, к чему стремиться. Профи и амбициозные аспирантки соревнуются за призы (победительницы получили по MacBook Air). Для кого-то это шанс побольше узнать о компании-организаторе и более уверенно подавать свою заявку на вакансию. У каждой свои цели и свой интерес.
— Если там все такие крутые профессионалы, то к чему эта сегрегация по половому признаку?
— Ну во-первых, далеко не все участницы — состоявшиеся профессионалы. Как известно, помощь принимать гораздо легче и её эффективность выше, когда она исходит от человека, который ближе к тебе в социуме. То же касается ролевых примеров. Поэтому если хочется обрести уверенность в своих силах, имеет смысл начинать с того, что тебе ближе. Кроме того, работа в преимущественно мужских коллективах не даёт понимания того, а что же на самом деле мы из себя представляем как профессионалы, если «убрать всех мужчин». Опять же, у каждой свои соображения. В хакатоне принимало участие около ста человек, так что можно сказать, что какие бы цели мы все ни ставили, это мероприятие было востребовано.
С удовольствием приму участие и в этом хакатоне на следующий год, да и в других, тематических и общих. А через годик надеюсь и за призы посоревноваться! Была бы рада поучаствовать в таком хакатоне в России: в моём родном Ульяновске хакатоны тоже набирают популярность и было бы здорово, если бы один раз в году (да хоть на восьмое марта!) и у нас делалось что-то подобное.
Автор: oley