место в рейтинге
  • 220442
  • 954
  • 427
Нравится блог?
Подписывайтесь!

Как выиграть хакатон: 14 действенных идей

19-20 мая в Астане проходил Astana Hackathon, организованный "Astana Innovations" хакатон с призовым фондом в 1,000,000 тенге. Хакатон - отличная возможность перестать обсуждать свои бесконечные идеи с друзьями за кружкой пива по пятницам (только для того, чтобы на следующий день забыть обо всем и погрязнуть в рабочей рутине) и, наконец, все-таки взяться за реализацию. Мировая практика показала: за 24 часа можно создать ядро по-настоящему больших проектов. GroupMe, мобильное приложение для группового обмена смс-сообщениями, было создано за полутора суток в мае 2010 года во время хакатона на TechCrunch Disrupt New York. Чуть более года спустя GroupMe был куплен Skype за сумму порядка 80 миллионов долларов. Начальные версии FB Chat и FB Video были написаны за ночь во время хакатона в офисе Facebook в Пало Альто. И таких примеров десятки. В течение двух месяцев прошлой осени мне в качестве разработчика довелось поучаствовать в четырех hackathon'ах: PennApps (место проведения: University of Pennsilvania), Facebook Hackathon, Princeton Startup Weekend, hackNY (New York University). В этом посте хотелось бы поделиться некоторыми идеями на тему того, как успешно выступить на хакатоне.

1. Четко знайте свой проект до того, как прозвучит стартовый свисток. Хотя до начала хакатона ничего кодить нельзя, это не значит, что нужно приходить на мероприятие абсолютно без подготовки. Очень помогает приходить на событие с хорошо продуманной идеей, обсужденными "за и против", набросками и flow-chart'ами по интерфейсу.

2. Дизайн: в простоте - гениальность. В конечном итоге, именно дизайн продукта создает первое впечатление. И под этим я подразумеваю не только, как он выглядит, но и как он работает. Во всяком случае вы не хотите, чтобы ваш сайт словами Дмитрия Кирсанова выглядел, как "попугай в нечищенной клетке". Конечно, невозможно создать дизайн уровня Path, Flipboard или Pinterest, за сутки, однако, если знать пару "трюков", дела обстоят не настолько плохо. Один из таких "трюков" - Twitter Bootstrap, библиотека готовых HTML, CSS и Javascript компонентов для начинающих дизайнеров. Безусловно, важно кастомизировать эти шаблоны, иначе ваш сайт или приложение будут уж очень сильно напоминать тысячи других.

3. Minimum Viable Product. Важно помнить о том, что такое MVP (детали - в книгах/блогах Эрика Риса и Стива Бланка). Проект не должен быть неповоротливым и бесполезным гигантом (благо, учитывая лимит по времени, это и не очень возможно): он должен ясно передавать основное видение. Проект должен быть минималистичен, но полностью функционален. Все компоненты, которые вы не успели закончить, лучше полностью исключить. Как говорил Стив Джобс: "Фокус - это искусство говорить 'нет'".

4. Фреймворки на помощь. Ваша продуктивность не будет такой, как прежде, если твердо знать один веб-фреймворк. Последнее, что вы хотите делать во время соревнования - так это писать доморощенное управление базами данных или пользовательскими сессиями (подразумевается, что вы не пишете на PHP :-)). Если уже есть опыт использования Ruby on Rails или Django, то - вперед и с песней! Эти фреймворки - проверенный временем золотой стандарт. Если нет, то рекомендую научиться использовать "легковесные" микрофреймворки, такие как web.py, Flask или CherryPy, если вы знаете Python; и Sinatra, если вы пишите на Ruby.

5. Хостинг? Ваш проект будет более наглядным, если по истечении 24 часов он будет доступен онлайн. Опять же, настраивать сервер во время хакатона - потеря ценного времени, а перекидывание PHP файлов через FTP - мягко говоря, не очень эффективно. На помощь приходят такие облачные платформы (PaaS - platform as a service), как Google App Engine или Heroku. Очень рекомендую последний. Наряду с Ruby, Heroku также поддерживает разработку на Python, Scala, Node.js, Clojure и Java.

6. "Преждевременная оптимизация - корень всех зол" (Дональд Кнут). Нужно оставить на полке такие мысли и бесполезные сомнения, как "Будет ли мой код эффективен, когда сервис будет использовать миллион человек?" Ваша цель быстро сделать работающий прототип и попытаться избежать ловушки перфекционизма. Есть огромное количество более полезных вариантов улучшения проекта, чем пытаться оптимизировать уже работающий алгоритм. Это не IOI, не ACM ICPC и не TopCoder =) Здесь работает лозунг Facebook: "Done is better than perfect".

7. Команда или прицип синергии: 1 + 1 = 10. Несмотря на то, что хакатоны - отличное место для того, чтобы встретить интересных людей, лучше приходить на них с уже готовой командой. Командой, где каждый хорошо знает свои сильные стороны и эффективно дополняет друг друга. Эмпирически, мне кажется команды в 2-3 человека работают лучше всего. Превысьте эту норму и получите типичный эффект, описанный Фредериком Бруксом в небезызвестной книге "Мифический человеко-месяц". Вкратце, этот эффект можно сформулировать так: "Если проект не укладывается в сроки, то добавление рабочей силы задержит его еще больше".

8. API: стойте на плечах гигантов. Набор различного рода функций и процедур, предоставляемый всевозможными сервисами, позволит быстро получить доступ к интересным данным, готовым для дальнейшего анализа. Twitter предоставляет доступ ко всей публичной информации, с которой ассоциируется сервис: твиты, фолловеры, пользовательские профайлы, листы, местоположения, тренды и т.д. Если, к примеру, вы хотите сделать каталог мобильных фотографий по тематическим категориям или по разным городам нашей страны, к вашим услугам - Instagram API. Вот классный пример того, что можно построить, используя Instagram. Если есть желание создать онлайн-гид по городу, систему рекомендаций ресторанов или приложение, которое отвечает на сакраментальный вопрос: "Куда пойти сегодня вечером?", отличным выбором мне видится Foursquare API. А вот и галерея примеров лучших приложений, построенных на 4sq. Набор алгоритмов машинного обучения от Google Prediction API в свою очередь может помочь в создании рекомендательных систем, классификации email'ов и документов, анализа текста и тому подобное. Есть много других интересных API, но это заслуживает отдельного поста.

9. Не тратьте время впустую. Часто был свидетелем того, как команды часами спорили о том, какое название придумать своему проекту. На хакатоне это совершенно не имеет значения, поэтому не стоит уделять этому "упражнению" более 10 минут. На худой конец напишите простой скрипт на Питоне, который генерирует разные благозвучные последовательности согласная-гласная-согласная-гласная-согласная разной длины и проверяет доступен ли данный домен (примечание: на это может уйти больше 10 минут). В конечном счете, название наверняка придет к вам во второй половине хакатона, когда ваш проект начнет принимать более или менее полноценный вид. Время конечно. Создайте девелопер-аккаунты на API, которые планируйте использовать, и напишите для тренировки пару примеров API вызовов до начала хакатона. Подготовьте и настройте весь набор инструментов, которые вы обычно используете, будь то Xcode, MySQL, Photoshop или Git. Не гнушайтесь использовать open source code на Github, заимствуйте понравившиеся элементы дизайна (css, javascript) с помощью Chrome Web Inspector или Firebug. Все дьяволы (и к слову, ангелы) - в деталях.

10. Хакатон не время изучать новые технологии. Если ваша цель выиграть, оставьте без внимания желание выучить новый язык программирования или новый фреймворк. Сосредоточитесь на том, что знаете, и выжмите из этого максимум.

11. Презентация: действия важнее слов. Жюри и аудитория не увидят, сколько труда было вложено в ваш код. Они будут оценивать конечный продукт и то, как вы его презентуете. Слайды - признак того, что вам нечего показать. Даже, если вы используете Prezi :) Поэтому уделите все отведенное время на непосредственное демо проекта. Приведите пример того, как реальные пользователи найдут продукт полезным. "Болеутоляющее продается лучше, чем аспирин". Покажите проблему и как вы ее решаете. Не стоит заставлять аудиторию скучать описанием использованных технологий или того, чего не хватает в вашем продукте. Фокусируйтесь на том, что есть. Презентация должна быть динамичной, интерактивной (в этом аспекте преимущество, к примеру, имеют приложения, которые могут в реальном времени анализировать твиты или смс-сообщения зрителей, сидящих в зале), полна страсти и воодушевления со стороны участников команды.

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

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

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

Удачи и побед!
Мой Твиттер: @suleimenov

P/S: Источник "невтемной" фотографии - мой инстаграм. На ней запечатлен момент из хакатона в ноябре 2011 года в компании Ooyala (Mountain View, CA). Если есть фотографии победителей Astana Hackathon 2012, отправляйте, буду рад заменить =)

Арман Сулейменов suleimenov
http://www.cs.princeton.edu/~asuleime/
21 мая 2012, 11:22
7649

Загрузка...
Loading...

Комментарии

Так-то вполне адекватные замечания.
Samson
0
0
по астанинскому хакатону скоро будет полноценный фотоотчет) хороший ивент)
nurma
1
0
Спасибо за ссылки на классные сервисы!
Всегда пожалуйста!
nurma
0
0
а ваши проекты посмотреть можно?
Да, конечно, многие уже оффлайн, но ссылки на доступные проекты здесь: http://www.cs.princeton.edu/~asuleime Сразу скажу, все были сделаны во время хакафонов и далее не поддерживались =)
неужели не хочется сделать боооольшой проектище от корки до корки? )
Правильные советы! Добавить даже нечего.
Это, очевидно, один из недостатков того, что я написал. Хорошие посты начинают дискуссии, порождают новые мысли ;)
askara
0
0
привет! отличный материал, напишите e-mail, вышлю фото.
Спасибо! Мой e-mail: suleimenov @ gmail dot com. Было бы удобно через Dropbox ;)
Отличные рекомендации (применимых для запуска любых софтверных стартапов), в мемориз, рахмет)!
tonami
1
0
Отличный пост!
Кто знает, намечаются ли серьезные хакатоны (в КЗ) летом?
Спасибо! Насчет лета не знаю даже. Надеюсь появятся энтузиасты, чтобы что-нибудь организовать.
Здравствуйте!

Обращаюсь к Вам , т.к.незнаю куда уже обращаться. Утратил во все веру и нет сил сражаться больше за собственную же заработную плату. Дело в том, что я работал в г.Алматы на Тулебаева 15, уг.ул.Маметова в рекламном агентстве ТОО"Advertising-center", бывшая компания ТОО "Жарнамалык орталыгы центер" сменили название чтоб уйти от налогов это я знаю точно. Помимо рекламного агентства у них же там же еще 2 компании. Зарплату мне должны с того года за 3 месяца. И до сих пор прошу ее как незнаю даже кто. Официально я не устроин был, поэтому незнаю куда идти и бежать! И я не один такой кому они должны с того года. Они должны менеджеру проработавшей у них больше двух лет Ли Татьяне, дизайнеру за 4 месяца того же года Лукашене Анастасии. Пивоварова Юлия у них работавшая менеджером полгода, так и не получила вообще денег, и у нее умер отец, так они даже не дали денег на похороны и уволили без каких либо объяснений. И по сей день в компании работают люди на которую ходят в надежде на получение заработной платы, в компании и людей уже не осталось....у них нет не сочувствия не сострадания. Даже дворникам не платят пол года, которые то получают по 10 000 в месяц. Издевательство да и только. И не кого не боятся не людей не Всевышнего. В компании не кто не обращается за помощью , т.к. зашуганы все. Зарплаты у всех белая, и минимальная черная меньше 30 000 тенге, чтоб меньше платить налоги. Директор Компании Куденко А.В. и его жена Продиус Ж.А., бухгалтер коротая помогает управлять всей этой махинацией Федюнина А.П. тел.данной организации 273-33-16, 390-52-01. Находятся они на территории СТО WIZARD, в аренде и них уже довольна долгие годы.. Я надеюсь Вы найдете управу на них и поставите на место, они не только людям зарплату не платят, но и от всех налогов уходят. Куда только смотрят все! У них есть оборудование продав которое с помощью управленческих органов могли бы расплатиться с долгами многих людей. У меня больной сын рак крови у него и попрошайничаю собственную же зарплату за 3 месяца по 40 000 тенге, 120 000 тенге итого. Обиваю пороги их, а в замен слышу только приходите завтра, на следующей неделе, "отфутболивают" меня и все. А работать не могу за сыном смотрю. Ночью работаю охранником.Эти деньги очень нужны. Сестренка тоже у них работала и так же кинули. А эти деньги очень нам нужны.

Я даже не ради себя прошу а ради сына и всех тех кого они так кинули, ОБРАТИТЕ ВНИМАНИЕ на эту компанию. Займитесь ею. УМОЛЯЮ ВАС!
Надо прекратить это безобразие и пресечь как можно скорее, сколько можно издеваться над людьми.

Разместите Данное сообщение у себя в блоге если кто хочет помочь, пускай люди знают что есть такая кощунственная организация. И чтоб избегали данного места работы и чтоб знали как там издеваются над людьми. Заранее Вам благодарен!
и совсем не "невтемная" фотография)
ну раз ты так думаешь, оставим без изменений =)
Dr_Rat
0
0
"было создано за полторы сутки в мае 2010" сразу видно писало "зверье", правильно будет было создано за полутора суток в мае 2010
Спасибо! Согласен с замечанием: www.gramota.ru К счастью, мягко говоря, никогда не страдал безграмотностью, но активно не пишу на русском уже более 7 лет. И все-таки содержание - король, а все остальное - важно, но второстепенно.
p/s: о каком "зверье" идет речь?

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

Юрист, пришедший в школу учителем по зову души, о главной проблеме системы образования

Юрист, пришедший в школу учителем по зову души, о главной проблеме системы образования

Алматинский учитель поставил диагноз системе, частью которой является образование. Будучи успешным юристом, имевший степень МВА, он вдруг развернул траекторию своей карьеры, став обычным учителем.
Zhumanova
22 сент. 2017 / 16:26
  • 10973
  • 33
«Это будут твои большие похороны». Гуф высказался о Скриптоните и Басте

«Это будут твои большие похороны». Гуф высказался о Скриптоните и Басте

Досталось и Скриптониту, который ранее опубликовал запись, о том, что больше не будет сниматься в клипе Гуфа и Тимати. "Я тебя ни о чем больше не попрошу, казах ты мой дорогой" - высказался рэпер.
tala03
21 сент. 2017 / 15:48
  • 4637
  • 12
«Честный взгляд» госслужащего: «Знала бы, что ты такой гнилой, я бы тебя не брала»

«Честный взгляд» госслужащего: «Знала бы, что ты такой гнилой, я бы тебя не брала»

Мы не такие блатные. Да, нас унижают руководители, возомнившие себя ханами, часто наши права не реализуются в должной мере. И я всегда задавался, почему на самом деле нет нормальных условий и льгот...
WriterKz
23 сент. 2017 / 0:41
Астана перестает быть городом-музеем, или Почему я хотел бы жить в столице

Астана перестает быть городом-музеем, или Почему я хотел бы жить в столице

Наш главный город страны стал избавляться от уже вполне неуместных моветонных клише, которые громоздились над ней, как черное облако над Мордором.
tentser
22 сент. 2017 / 21:04
  • 2247
  • 74
Время забыть безумные траты молодости: навыки, которыми ты должен овладеть к 30 годам

Время забыть безумные траты молодости: навыки, которыми ты должен овладеть к 30 годам

Смысл бюджета в том, чтобы знать, куда ты, блин, потратил бабки. В том, чтобы в конце месяца, ты сел, почитал свои записи и понял, какой ты придурок. И принял уже наконец здравое решение, что куда идет.
Lesch
24 сент. 2017 / 21:03
  • 1766
  • 59
Насколько вероятно стать долларовым миллионером в Казахстане

Насколько вероятно стать долларовым миллионером в Казахстане

Вообще, насколько это достижимо? Не вдаваясь в сложные рассуждения и дательные расчеты и так понятно, что это сложная задача - все-таки около 350 миллионов тенге по текущему курсу.
convoluted
вчера / 14:36
  • 1721
  • 44
Дагестанские «миротворцы» борются за справедливость в Мьянме на улицах Москвы

Дагестанские «миротворцы» борются за справедливость в Мьянме на улицах Москвы

Парней начали осуждать за поступок в социальных сетях. Популярные группы Кавказа назвали выходку парней дикой, и пояснили, что они позорят нацию и религию.
tala03
20 сент. 2017 / 16:42
  • 1744
  • 53
Как КНДР «уничтожила» американские самолеты и авианосец

Как КНДР «уничтожила» американские самолеты и авианосец

Серию коллажей, показывающую как ракеты КНДР нанесли поражения американским самолетам, продемонстрировали в северокорейских СМИ.
tala03
24 сент. 2017 / 17:58
  • 1559
  • 11
Борьба с засухой: ученые в Китае научились выращивать овощи и растения на песке

Борьба с засухой: ученые в Китае научились выращивать овощи и растения на песке

За полгода под руководством исследователей из Чунцинского университета Цзяотун было засеяно более 200 гектаров засушливой земли автономного района Внутренняя Монголия.
tala03
20 сент. 2017 / 14:10
  • 1382
  • 22