Блог Личные заметки

Что такое Хакатон, или как можно провести выходные

Максим Дзюба
16 Фев 2016
Просмотров: 2 120

Хакатон это вот так, obmenka.kz

Для начала немного расскажу, что такое Хакатон. Хакатон — марафон для программистов, которые уверены в своих силах, не спят по 20-40 часов и разрабатывают приложения.
Во время хакатона специалисты из разных областей разработки (программисты, дизайнеры, менеджеры), небольшой командой работают над решением какой-либо проблемы. Обычно хакатоны проводят на субботу и воскресенья, и по продолжительности проходят от 24 часов до 96 часов.
Некоторые хакатоны предназначены для образовательных или социальных целей, но чаще задачей хакатона является создание полноценного программного обеспечения. Каждый хакатон сфокусирован на определённой области, например, языке программирования, операционной системе, приложении, программном интерфейсе (API).
Постараюсь поделиться впечатлениями от Хакатона где я, со своей командой разработчиков учувствовал на выходных (13-14 февраля 2016 года).
Началось все с того что у нас на работе прошла шумиха что Халык Банк собирается устроить Хакатон.

Три ключевых направления для разработки и воображения:
1. центры обслуживания;
2. каналы коммуникаций;
3. новые возможности.

У меня появилось дикое желание участвовать, обсудив тему моего проекта «Прогресс очереди» с коллегами. Я накидал скетчи по проекту, команда меня дружно поддержала, во время мозгового штурма были разногласия, но в итоге пришли к общему “знаменателю”. Примерно за неделю до Хакатона мы приняли железобетонное решение участвовать побеждать и просто хорошо провести время.

hakaton obmenka.kz
Как обычно бывает, мы построили великий план, как подготовится до самого состязания, кто что разработает, чтобы там показать больше чем можем сделать физически за 20 часов кодинга. И как вы думаете, лень, работа, заботы и прочая ерунда позволила нам накидать только структуру БД, поднять домен 3-го уровня и все. Единственное что мы четко понимали это то, что на Хакатоне надо будет попотеть, договорились выспаться с пятницы на субботу, а там встретится пораньше и будь что будет.
И вот наступила суббота 13 февраля. Тут http://www.halykfintech.kz/ можно ознакомиться с графиком хакатона от halykbank.
Сам хакатон проводился в МУИТе, Казахстан город Алматы, на карте сайта было не правильно показано ГЕО расположение мероприятия, из-за чего пришлось проехать на машине лишний круг, это я к тому, что с самого начала что-то пошло не так. Оставив машину на стоянке, далее я встретился с коллегами по проекту, и мы решили собрать все в кучу, и раскидать по обязанностям и ролям в проекте.
Как только философия закончилась, нам срочно понадобилось выйти в интернет вспомнить структуру бд, скачать нашу еле готовую презентацию с облака и начинать работать, т.к. было около 10:30, У нас был целый час до выступления организаторов и представителей банка, для ознакомления участников в какую сторону собственно двигаться. Вторая проблема, с которой нам пришлось столкнуться это интернет, там везде весели вывески бесплатный wifi, но это было не правда, там не было интернета. 3G интернет с “мобилы” работал не очень хорошо, ну это уже прогресс!
Я постараюсь не грузить вас всеми своими мыслями и тонкостями моего проекта, постараюсь в двух словах:

Проект «Прогресс очередь» решал проблему контроля времени в очереди, я представлял это как прогрессбар, который будет легкодоступен, каждому клиенту банка ожидающему пока его обслужат. Реализацию решили делать на стороне web. Планировали интегрироваться с электронной очередью банка, а на мобильном телефоне клиента показывать динамически, сколько времени ему осталось ждать. С учетом пролонгации среднего времени на обслуживания и учитывая, что не все клиенты будут ждать свою очередь до конца. Мы выбрали такой проект, потому что понимали, как его реализовать и нам казалось, что круто, если каждый клиент сможет видеть, сколько он “проторчит” по времени в скучном банке.

Думаю, понятно написал о проекте, продолжим историю. В 11:30 пришла комиссия и организаторы события. Нам рассказали, какие все крутые.

Совсем забыл рассказать, что компания в которой я работаю была медиа-партнером Хакатона от Halyk Bank, т.е. на экранах телевизоров иногда мелькал логотип prodengi.kz, это вдохновляло на разработку достойного продукта.
Организаторы рассказали о достижениях банка, о направлениях в которых они хотят повысить свои показатели. Делали акцент на инновационные разработки в сфере IT. После вводной лекции была возможность задать любые вопросы касательно мероприятия. Когда все вопросы кончились, Хакатон объявили открытым.
Мы решили поехать в офис для реализации нашего продукта, т.к. не было условий для нормальной работы (нет интернета, не дали помещения нерезидентам университета). Приехав в офис, решили себя мотивировать тем, что до окончания первого спринта разработке не будем ничего кушать (по пути в офис мы пополнили инвентарь вкусняшками — китайская лапша, кола, печеньки и т.д.). Примерно после 40 минут активной разработки, мне позвонили и попросили забрать роутер. Данный роутер позволял раздавать бесплатный wifi, после авторизации телефона через sms. Поначалу данное дополнение к функционалу нашего продукта не виделось позитивным. Пришлось выйти из рабочей среды, сесть в машину и поехать в МУИТ за устройством.

hi-tech-technology-wi-fi
Нам передали “железку” без документации и каких либо разъяснений, оперируя тем что необходимо связаться с хозяином данного устройства по facebook. Получение информации об устройстве заняло не меньше часа. Устройства могло получить номер телефона, которым авторизовался пользователь для бесплатного wifi и передать его по API. Вместе с устройством нам предоставили API для интеграции с WhatsAPP. Мы запланировали, что все кто подключился к сети, отправлять им сообщение по whatsApp, о том, что напишите номер билета, и мы предоставим вам время сколько осталось ждать в очереди, это еще один способ получение информации для клиентов.
Примерно до трех ночи у нас продуктивно двигался процесс создания нашего проекта, прерываясь лишь на перекусы, и радость достижениям по проделанной работе.
Мы научились получать номер клиента с API “железки”, отправлять и получать сообщения через API whatsApp а также существенно продвинулись по основному функционалу “Прогресс очереди”.
После трех часов на нас напал “тупняк” — эффективность и продуктивность приближались к нулю, простые задачи не давали простого решения. Основной проблемой было формат времени мы производили арифметические операции в формате unixtime, при выводе на экран браузера происходили аномалии с часовыми поясами, то + 6 часов, то — 1 час времени сбивали нас с толку. Второй не мало важной проблемой было присвоение клиентам в очереди разных статусов, т.е. учитывать что клиент пришёл в окно первый, то он активен или второй после активного, проще говоря добавление клиентов в очереди давало сбои.

original
После шести утра мы окончательно “кончились” решили взять таймаут на три часа в качестве сна. Поставив будильник на девять утра, мы легли спать, надеясь на чудо.
Проснувшись до десяти утра, мы продолжили работу…

Продолжения будет во второй части.

Поделиться:

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