Хакафоны (hackathon=hack+marathon) – важная часть культуры разрабоки в Facebook. И если вы еще не в курсе, в Москве хакафон Facebook состоится 28 октября в рамках конференции.тостер [веб-разработка]. А пока – Алекс Москалюк рассказывает о том, как это происходит в самом Facebook:
В нескольких словах хотелось бы рассказать о практике хакафонов внутри Facebook. Сегодня это слово можно увидеть в контексте тематических конференций либо тусовок. Внутри компании практика зародилась еще во времена относительно далекие, и первое упоминание о хакафонах на корпоративном блоге относится к 2007 году. В тех ранних версиях хакафона народ на ночь закрывался в офисе и под мелодичные ритмы какого-нибудь техно и казавшиеся бесконечными литры пива или вина (второе в Калифорнии довольно активно конкурирует с первым) предавался любимому занятию.
Для некоторых программистов хакафоны – это отдушина и возможность заняться продуктом или технологией, к которым давно был интерес, но на изучение которых не хватало времени. Для других – возможность написать нужный в прозводстве инструмент. Еще для некоторых – это потенциал показать себя в новой сфере и заняться, к примеру, дизайном, если до этого занимался, скажем, программированием хранилища фотографий. Нередко заказчиком проекта могут выступать нетехнические отделы компании — скажем, кто-то из отдела пользовательской поддержки может предложить новый интерфейс либо фильтр, который бы существенно облегчил их работу, а кто-то из сочувствующих программистов решит стать героем на день, написав пару форм, облегчающих анализ данных.
Для компании такие организованные мероприятия полезны, так как
Процесс хакафона выглядит примерно следующим образом:
Хакафон может длиться от одной ночи до трех суток. Длительные хакафоны характерны в летнее время, когда штат разработчиков увеличивается вдвое из-за стажеров.
После хакафона участникам дается примерно 3-4 дня на выглаживание шероховатостей (уже в свободное от работы время), после чего в кафетерии компании желающие могут провести трехминутную демонстрацию проекта. Никакого давления в плане демонстрации нет – если проект не готов, его можно доработать позже. Если целью хакафона было собственное образование (скажем, освоить Node.js или Twilio API для какого-то базового приложения), то не всегда конечным результатом будет что-то достойное презентации, но своей цели для хакафона разработчик достиг.
Презентация проекта чаще всего сопутствуется криками из зала. Вокабуляр хакафонера после изматывающей ночи обычно краток и содержит следующие термины:
В нескольких словах хотелось бы рассказать о практике хакафонов внутри Facebook. Сегодня это слово можно увидеть в контексте тематических конференций либо тусовок. Внутри компании практика зародилась еще во времена относительно далекие, и первое упоминание о хакафонах на корпоративном блоге относится к 2007 году. В тех ранних версиях хакафона народ на ночь закрывался в офисе и под мелодичные ритмы какого-нибудь техно и казавшиеся бесконечными литры пива или вина (второе в Калифорнии довольно активно конкурирует с первым) предавался любимому занятию.
Для некоторых программистов хакафоны – это отдушина и возможность заняться продуктом или технологией, к которым давно был интерес, но на изучение которых не хватало времени. Для других – возможность написать нужный в прозводстве инструмент. Еще для некоторых – это потенциал показать себя в новой сфере и заняться, к примеру, дизайном, если до этого занимался, скажем, программированием хранилища фотографий. Нередко заказчиком проекта могут выступать нетехнические отделы компании — скажем, кто-то из отдела пользовательской поддержки может предложить новый интерфейс либо фильтр, который бы существенно облегчил их работу, а кто-то из сочувствующих программистов решит стать героем на день, написав пару форм, облегчающих анализ данных.
Для компании такие организованные мероприятия полезны, так как
- сотрудники открывают для себя ниши, которые им интересны, и которыми они в долгосрочной перспективе могут заниматься на постоянной основе – в других компаниях для таких же целей имеется практика 20% времени
- усиливается набор внутренних инструментов, а если к хакафону подключены и дизайнеры, то усиливается и удобство этих самых инструментов
- компании могут получить бета-тестировщиков на новые платформенные технологии – скажем, перед выходом первой версии классического API, первой версии OpenGraph API, и первой версии мобильной платформы в Facebook организовывали тематические хакафоны, где народу предлагалось за несколько дней сделать полноценное приложение и попутно доложить о неудобных или неработающих вещах
- люди, которые могут не сталкиваться друг с другом из-за узкой специализации, на время хакафона кооперируются с разработчиками из другой команды, стажерами и техническими сотрудниками из других подразделений
Процесс хакафона выглядит примерно следующим образом:
- его дата объявляется за несколько недель вперед, дабы люди, которым интересно провести в офисе ночь, сумели распланировать личное расписание
- на внутренней wiki-страничке народ может публиковать идеи, над которыми собирается работать, и попутно набирать соратников
- если для сотрудника это первый в его карьере хакафон, то он должен программировать (сделано это не столько из-за каких-то культовых соображений, сколько из-за того, что организаторам нравится переиначенное восьмое правило Тайлера Дердена)
- сотруднику рекомендуется работать над чем-то другим, нежели его повседневные проекты, иначе хакафон не отличить от работы
- к вечеру группа участников собирается в круг, где каждый говорит о том, чем он планирует заняться (и здесь вполне резонно заявить себя как «наемника», который может помочь тем, кому нужны люди)
- народ разбивается на мелкие группы и обычно уходит в переговорные для работы в тесной командной обстановке
Хакафон может длиться от одной ночи до трех суток. Длительные хакафоны характерны в летнее время, когда штат разработчиков увеличивается вдвое из-за стажеров.
После хакафона участникам дается примерно 3-4 дня на выглаживание шероховатостей (уже в свободное от работы время), после чего в кафетерии компании желающие могут провести трехминутную демонстрацию проекта. Никакого давления в плане демонстрации нет – если проект не готов, его можно доработать позже. Если целью хакафона было собственное образование (скажем, освоить Node.js или Twilio API для какого-то базового приложения), то не всегда конечным результатом будет что-то достойное презентации, но своей цели для хакафона разработчик достиг.
Презентация проекта чаще всего сопутствуется криками из зала. Вокабуляр хакафонера после изматывающей ночи обычно краток и содержит следующие термины:
- do it live – вкратце означает «нам не нужны презентационные слайды, просто покажи демку так, как она сегодня работает на твоем сервере, а если она в процессе упадет, то публика получит еще больше удовольствия от эффекта реального времени»
- ship it – типа «отгружай на сайт хоть уже сегодня»