ProHoster > блог > Навіны інтэрнэту > Нешта абавязкова пойдзе не так, і гэта нармальна: як выйграць хакатон камандай з трох чалавек.
Нешта абавязкова пойдзе не так, і гэта нармальна: як выйграць хакатон камандай з трох чалавек.
Якім складам вы звычайна ходзіце на хакатоны? Першапачаткова мы заяўлялі аб тым, што ідэальная каманда складаецца з пяці чалавек - кіраванца, двух праграмістаў, дызайнера і маркетолага. Але досвед нашых фіналістаў паказаў, што выйграць хакатон можна маленькім складам з трох чалавек. З 26 каманд, якія перамаглі ў фінале, 3 спаборнічалі і выйгралі мушкецёрскім складам. Як ім гэта ўдалося - чытайце далей.
Мы паразмаўлялі з капітанамі ўсіх трох каманд і зразумелі, што ў стратэгіі іх паводзін ёсць шмат агульнага. Героі гэтай пасады — каманды PLEXeT (Стаўрапаль, намінацыя Мінкамсувязі), "Кампазітны ключык" (Тула, намінацыя Міністэрства інфарматызацыі і сувязі Рэспублікі Татарстан) і Jingu Digital (Екацярынбург, намінацыя Мінпрамгандлю). Для тых, каму цікава - кароткае апісанне каманд схавалі пад кат. Апісанні камандPLEXeT
У камандзе тры чалавекі – распрацоўшчык (вэб, C++, кампетэнцыі ў ИБ), дызайнер і кіраванец. Да рэгіянальнага хакатона знаёмыя не былі. Каманду сабраў капітан на аснове вынікаў анлайн-тэставання. Кампазітны ключык
У камандзе тры распрацоўшчыкі-калегі — fullstack з дзесяцігадовым вопытам у ІТ, backend і mobile і backend з ухілам у базы дадзеных. Jingu Digital
Каманда складаецца з двух праграмістаў – backend і AR/Unity, а таксама дызайнера, які таксама адказваў за менеджмент каманды. Перамаглі ў намінацыі Мінпрамгандлю
Выбірайце задачу, якая блізкая да вашых кампетэнцый
Памятаеце, быў такі вершык «драмгурток, кружок па фота, а яшчэ мне спяваць паляванне»? Думаю, што шмат каму знаёма гэтае пачуццё — калі цікава ўсё навокал, хочацца і ў сваім кірунку па-новаму сябе паказаць, і новую галіну/сферу распрацоўкі памацаць. Выбар тут залежыць толькі ад мэт вашай каманды і гатовасці ісці на рызыку - зможаце прыняць сваю памылку, калі раптам на сярэдзіне хакатона зразумееце, што выцягнуць гэтую задачу нерэальна? Эксперыменты з разраду «не мацаю ў мабільнай распрацоўцы, але чым чорт не жартуе» - на аматара. Ці той вы аматар?
Арцём Кошка (ashchuk), каманда «Кампазітны ключык»: «Мы першапачаткова задумвалі паспрабаваць што-небудзь новенькае. На рэгіянальным этапе паспрабавалі і некалькі nuget пакетаў, да якіх ніяк рукі не даходзілі, і Яндэкс.Хмара. На фінале разгарнулі CockroachDB у Kubernetes, паспрабавалі накаціць на яго міграцыі з дапамогай EF Core. Нешта добра пайшло, нешта ня надта. Так што мы і новаму навучыліся, і сябе праверылі, і пераканаліся ў надзейнасці правераных падыходаў»..
Як абраць задачу, калі разбягаюцца вочы:
Падумайце, якія кампетэнцыі патрэбныя, каб вырашыць гэты кейс, і ці ёсць яны ва ўсіх чальцоў каманды
Калі кампетэнцый не хапае - ці зможаце вы іх кампенсаваць (прыдумаць іншы шлях рашэння, хутка навучыцца новаму)
Правядзіце кароткі рэсерч рынку, для якога будзеце рабіць прадукт
Пралічыце канкурэнцыю - на які трэк / кампанію / задачу пойдзе больш за ўсё людзей
Адкажыце на пытанне: што будзе драйвіць вас мацней за ўсё?
Алег Бахтадзэ-Карнавухаў (PLEXeT), каманда PLEXeT: «Мы прымалі рашэнне на дзесяцігадзіннай перасадцы ў аэрапорце - як раз у момант прызямлення нам на пошту ўпаў пералік трэкаў і кароткія фармулёўкі заданняў. Я адразу вылучыў штукі чатыры задачы, якія мне як праграмісту цікавыя і па якіх зразумелы план дзеянняў пасля старту - што трэба зрабіць і як мы будзем гэта рабіць. Потым прыкінуў задачы кожнага члена каманды і ацаніў узровень канкурэнцыі. У выніку выбіралі паміж задачамі Газпрома і Мінкамсувязі. У нашага дызайнера бацька працуе з нафтагазам - мы яму патэлефанавалі і задалі пытанні па галіне. У выніку зразумелі, што так, цікава, але чагосьці прынцыпова новага мы прапанаваць не зможам і па кампетэнцыях сапраўды не выцягнем, таму што занадта шмат галіновай спецыфікі трэба ўлічваць. У выніку рызыкнулі і пайшлі на першы трэк».
Дыяна Ганіева (dirilean), каманда Jingu Digital:«У рэгіянальным этапе ў нас было заданне, звязанае з сельскай гаспадаркай, а на фінале – AR/VR у прамысловасці. Выбіралі ўсёй камандай, каб кожны чалавек змог рэалізаваць свае здольнасці. Пасля адсейвалі тое, што нам падалося не такім цікавым».
Рабіце хатнюю працу
І мы зараз не пра нарыхтоўкі кода - займацца такім наогул бессэнсоўна. Размова ідзе пра камунікацыю ў камандзе. Калі вы яшчэ не згуляліся, не навучыліся разумець адзін аднаго і дамаўляцца, збярыцеся пару разоў загадзя і змадэлюйце хакатон, ці хаця б стэлефануецеся, каб прагаварыць асноўныя моманты, прадумаць план дзеянняў, абгаварыць моцныя і слабыя бакі адзін аднаго. Можна нават знайсці які-небудзь кейс і паспрабаваць яго вырашыць - хоць бы схематычна, на ўзроўні "як прыйсці з пункта А ў пункт B".
За гэты абзац мы рызыкуем налавіць мінусаў у карму і каментароў, маўляў, як жа так, вы нічога не разумееце, а як жа рызыка, драйв, адчуванне, што цяпер з першаснага булёна (прывітанне, урокі біялогіі) народзіцца прататып.
Так, НС.
Імправізацыя і драйв добрыя толькі калі становяцца толькі невялікім адступленнем ад стратэгіі - інакш занадта вялікія рызыкі выдаткаваць час на разграбанне хаосу і выпраўленне памылак, замест таго каб папрацаваць, паесці ці паспаць.
Алег Бахтадзэ-Карнавухаў, каманда PLEXeT: «Нікага з чальцоў маёй каманды я да конкурсу не ведаў - абраў і запрасіў іх, грунтуючыся на кампетэнцыях і ацэнках на этапе анлайн-тэставання. Калі мы выйгралі рэгіянальны хакатон і зразумелі, што нам яшчэ ехаць разам у Казань і дарабляць праект хакатона ў Стаўрапалі, вырашылі, што будзем збірацца і трэніравацца. Да фіналу мы сустрэліся два разы - знаходзілі рандомную задачу і вырашалі яе. Нешта накшталт кейс-чэмпіянату. І ўжо на гэтым этапе мы ўбачылі праблему ў камунікацыі і размеркаванні задач – пакуль Паліна (дызайнер) і Леў (менеджэр) думалі над карпаратыўным стылем, фічамі прадукта, шукалі дадзеныя па рынку, у мяне заставалася шмат вольнага часу. Так мы зразумелі, што трэба браць намінацыю больш складана (не выхваляюся, проста ў асноўным нам трапляліся задачы, звязаныя з вэбам, а мне гэта на раз-два) і мне трэба больш залучацца ў працоўныя працэсы. У выніку на фінале падчас папярэдняга рэсерчу я займаўся матэматычным мадэляваннем, распрацоўваў алгарытмы».
Арцём Кошка, каманда «Кампазітны ключык» : «Мы рыхтаваліся хутчэй маральна, пра нарыхтоўку кода гаворкі нават не ішло. Яшчэ загадзя размеркавалі ролі ў камандзе — мы ўтрох усе праграмісты (у нас fullstack і два backend, плюс я крыху шару ў мабільнай распрацоўцы), але было зразумела, што камусьці давядзецца ўзяць на сябе ролі дызайнера і кіраванца. Вось так неўзаметку для сябе я стаў тимлидом, паспрабаваў сябе ў ролі бізнэс-аналітыка, дакладчыка і presentation maker. Думаю, калі б мы загадзя гэта не прагаварылі, то ў нас не атрымалася б правільна размеркаваць час, і на фінальную абарону мы б не выйшлі».
Дыяна Ганіева, Jingu Digital:«Да хакатон не рыхтаваліся, таму што лічым, што праекты на хаках павінны быць зроблены з нуля - гэта сумленна. Загадзя, на этапе выбару трэкаў, у нас быў гатовы агульны канцэпт таго, што жадаем зрабіць»..
На адных распрацоўшчыках не выехаць
Дыяна Ганіева, каманда Jingu Digital: «У нас у камандзе трое спецыялістаў у розных абласцях. На мой погляд, гэта ідэальны склад для хакатона. Кожны заняты сваёй справай і няма скрыжаванняў і дзяльбы задач. Яшчэ адзін чалавек быў бы лішнім».
Статыстыка паказала, што сярэдні склад нашых каманд - ад 4 да 5 чалавек, сярод якіх (у лепшым выпадку) адзін дызайнер. Прынята лічыць, што трэба ўзмацняць каманду распрацоўшчыкамі розных масцяў - каб і ў базу змагчы, і "машынкай" здзівіць калі што. У лепшым выпадку, яшчэ прымацоўваюць з сабой дызайнера (не крыўдуйце, мы вас кахаем!), прэзентацыя і інтэрфейсы самі сябе не адмалююць, у рэшце рэшт. Ролю кіраванца грэбуюць яшчэ часцей - звычайна гэтую функцыю бярэ на сябе капітан каманды, распрацоўшчык па сумяшчальніцтве.
І гэта ў корані няслушна.
Арцём Кошка, каманда «Кампазітны ключык»: «У нейкі момант мы пашкадавалі, што не ўзялі ў каманду профільнага спецыяліста. Калі з дызайнам мы яшчэ неяк змаглі зладзіцца, то з бізнэс-планам і іншымі стратэгічнымі рэчамі было складана. Яркі прыклад - калі трэба было палічыць мэтавую аўдыторыю і аб'ём рынку, TAM, SAM ».
Алег Бахтадзэ-Карнавухаў, каманда PLEXeT: «Уклад распрацоўніка ў прадукт - гэта далёка не 80% працы, як прынята лічыць. Нельга сказаць, што рабятам было прасцей - на іх ляжаў амаль увесь асноўны масіў задач. Мой код без інтэрфейсаў, прэзентацыі, відэа, стратэгіі - проста набор знакаў. Калі б у камандзе замест іх былі яшчэ распрацоўшчыкі, мы б, напэўна, справіліся, але ўсё б выглядала менш прафесійна. Асабліва прэзентацыя - гэта наогул палова поспеху, як мне здаецца. За час абароны і потым у рэальным жыцці за пару хвілін ніхто не паспее зразумець, ці сапраўды працуе твой прататып. Калі захапішся схемамі, то ніхто не будзе цябе слухаць. Перабераш з тэкстам — усё зразумеюць, што ты сам не ведаеш, што галоўнае ў тваім прадукце, як яго падаць і каму ён патрэбен».
Тайм-мэнэджмент і адпачынак
Памятаеце, як у мультфільмах дзяцінства тыпу «Тома і Джэры» героі ставілі сабе запалкі пад павекі, каб яны не зачыняліся? Прыкладна таксама выглядаюць нявопытныя (ці занадта захопленыя) удзельнікі хакатонаў.
На хакатоне лёгка страціць сувязь з рэальнасцю і адчуванне часу - атмасфера размяшчае да нястрымнага кодынгу без перапынкаў на адпачынак, сон, качанне дурня ў гульнявым пакоі, зносіны з партнёрамі ці наведванне майстар-класаў. Калі ставіцца да гэтага як да чэмпіянату свету ці алімпіяды, то так, магчыма, так і варта сябе паводзіць. Насамрэч няма.
Арцём Кошка, каманда «Кампазітны ключык»: «У нас было шмат чак-чака, вельмі шмат - пасярэдзіне нашага стала з яго была пабудавана вежа, яна падтрымлівала нам баявы дух і падмацоўвала вугляводамі ў патрэбны момант. Адпачывалі і працавалі амаль увесь час разам, паасобку не адпачывалі. А вось спалі па-рознаму. Андрэй (fullstack-распрацоўшчык) любіць спаць днём, Дзяніс і я – ноччу. Таму з Дзянісам я больш працаваў днём, а з Андрэем уначы. А сам спаў у перапынках. Нейкай сістэмы працы і пастаноўкі задач у нас не было - хутчэй усё было спантанна. Але нам гэта не мяшала, таму што мы добра адзін аднаго разумеем і дапаўняем. Тут дапамагло тое, што мы калегі і цесна маем зносіны. Я - былы стажор Андрэя, а Дзяніс прыйшоў у кампанію маім стажорам».
А вось, дарэчы, тая самая гара чак-чака.
Пісьменны тайм-мэнэджмент амаль усе апытаныя намі ўдзельнікі назвалі галоўным крытэрам поспеху на хакатоне. Што гэта значыць? Вы размяркоўваеце задачы так, што ў вас застаецца час і на сон, і на ежу, і задачы выконваюцца не ў рэжыме павалілася, а ў камфортным для кожнага ўдзельніка каманды тэмпе.
Алег Бахтадзэ-Карнавухаў, каманда PLEXeT: «У нас была задача не працаваць як мага больш гадзін, а заставацца прадуктыўнымі як мага даўжэй. Хоць мы і спалі па 3-4 гадзіны ў дзень, нам гэта, здаецца, удалося. Мы маглі схадзіць у гульнявы пакой ці патусіць на стэндах партнёраў, вылучыць нармальны час на ежу. У другі дзень пастараліся максімальна разгрузіць Льва, каб ён выспаўся і паспеў прывесці сябе ў парадак перад выступам. Нам дапамаглі рэпетыцыі хакатона, бо мы ўжо разумелі, як трэба размеркаваць задачы, і сінхранізацыя распарадку дня - елі, спалі і не спалі мы ў адзін і той жа час. У выніку працавалі як адзіны механізм».
Не ведаем, як гэтай камандзе ўдалося працягнуць на хакатон Глаз Агамота, але ў выніку яны нават паспелі зняць відэа аб праекце і падрыхтаваць раздатку.
Некалькі парадаў па тайм-мэнэджменце на хакатоне:
Ідзіце ад вялікага да малога - біце задачы на невялікія блокі.
Хакатон - гэта марафон. Што самае галоўнае ў марафоне? Старацца бегчы ў адзіным тэмпе, інакш да канца дыстанцыі звалішся. Старайцеся працаваць з прыкладна аднолькавай інтэнсіўнасцю і не даводзіць сябе да знямогі.
Загадзя падумайце, што будзе ўваходзіць у задачы кожнага ўдзельніка і колькі ў яго спатрэбіцца на гэта часу. Дапаможа пазбегнуць сюрпрызаў, калі да дэдлайна паўгадзіны, а ў вас не гатовы вялікі кавалак працы.
Звярайце каардынаты, каб скарэкціраваць аб'ём задач. Адчуваеце, што ідзеце добра і нават застаецца час? Выдатна - яго можна выдаткаваць на сон або дапрацоўку прэзентацыі.
Не зацыкляйцеся на дэталях, працуйце шырокімі мазкамі.
Адарвацца ад працы складана, таму спецыяльна выдзяляйце сабе час на сон, адпачынак або патупіць. Можна ставіць будзільнікі, напрыклад.
Выдзяляйце час на падрыхтоўку і рэпетыцыю прамовы. Гэта абавязкова для ўсіх і заўжды. Пра гэта мы расказвалі ў адным з мінулых пастоў.
А яшчэ ёсць вось такое альтэрнатыўнае меркаванне. Вы за які варыянт - катаванне кодынгам або вайна вайной, а абед па раскладзе?
Дыяна Ганіева, каманда Jingu Digital: «У нас кожны чалавек у камандзе адказвае за нешта адно, замяніць нас было няма кім, таму працаваць пазменна не маглі. Калі зусім не заставалася сіл сышлі гадзіны па тры ў залежнасці ад аб'ёму прац, які яшчэ застаўся за ўдзельнікам. Патусіць часу не было ад слова зусім, мы не марнуем на гэты каштоўны час. Прадуктыўнасць падтрымлівалі хоць і кароткім, але сном, і смачнасцямі з гарбатай - ніякіх энергетыкаў ці кавы».
Пад катом схавалі некалькі карысных спасылак, калі хочацца пагрузіцца ў тэму тайм-мэнэджменту. Яна і ў звычайным жыцці спатрэбіцца - паверце аўтару гэтай пасады, які вечна спазняецца 🙂 Для заваёўнікаў часу - Эфектыўныя методыкі кіравання часам сабрала ў блогу "Неталогіі" менеджэр праектаў "Лабараторыі Касперскага": клік
- Добры артыкул для пачаткоўцаў на Cossa: клік
Паспрабуйце вылучыцца
Вышэй мы пісалі пра каманду, якая зрабіла раздатку для абароны праекту. У сваім трэку яны былі такія адны, і мы ўпэўненыя, што сярод 3500+ удзельнікаў больш такіх не знайшлося.
Вядома, гэта не стала галоўнай прычынай іх перамогі, але дадатковы плюс дакладна прынесла - як мінімум, сімпатыю экспертаў. Вылучацца можна па-рознаму — адны нашыя пераможцы кожны выступ пачынаюць з жарту аб тым, што яны зрабілі бомбу (каманда імя Сахарава, прывітанне!).
Падрабязна спыняцца на гэтым не будзем, а проста падзелімся кейсам каманды PLEXeT - нам здаецца, ён варты стаць жартам пра сына мамінай сяброўкі.
Алег Бахтадзэ-Карнавухаў, каманда PLEXeT:«Мы разумелі, што ідзем з апярэджаннем і вырашылі - будзе крута прыйсці на перадабарону з раздаткай. У праекце шмат тэхнічных дэталяў, тлумачэнняў алгарытмаў, якія ў прэзентацыю ўвогуле ніяк. А паказаць жадаецца. Экспэрты ідэю падтрымалі і нават дапамаглі аптымізаваць. Першы варыянт яны нават глядзець не сталі, сказалі, што такое палатно ніколі не будуць чытаць. На абаронах мы былі такія адны».
Нешта абавязкова пойдзе не так, і гэта нармальна
На хакатоне, як і ў звычайным жыцці, заўсёды ёсць месца вушакам. Нават калі здаецца, што ты ўсё прадугледзеў - хто з нас не спазняўся на самалёт / іспыт / вяселле проста таму, што аўтамабілі вырашылі ўстаць у корак, эскалатар - зламацца, а пашпарт - забыцца дома?
Алег Бахтадзэ-Карнавухаў, каманда PLEXeT:«Я з Палінай усю ноч рабіў прэзентацыю, а ў выніку яе забылі скінуць на кампутар у залі, дзе праходзіла абарона. Мы спрабуем адкрыць з флэшкі, і антывірус успрымае файл як вірус і зносіць яе. У выніку ўдалося ўсё запусціць толькі за хвіліну да канца нашага выступу. Мы паспелі паказаць відэа, але ўсё роўна вельмі знерваваліся. Падобная гісторыя здарылася з намі на перадабароне. У нас не запускаўся прататып, кампутары Паліны і Льва завіслі, а мой я чамусьці пакінуў у ангары, дзе сядзеў наш трэк. І хоць эксперты раніцай бачылі нашу працу, мы выглядалі як каманда дзівакоў з раздаткай, прыгожымі словамі, але без прадукта. Улічваючы, што маю працу над матмадэлямі многія ўдзельнікі ўспрымалі як "сядзіць чагосьці малюе, у кампутар не глядзіць", сітуацыя была не вельмі".
Прагучыць банальна, але ўсё, што вы можаце зрабіць у гэтай сітуацыі - выдыхнуць. Гэта ўжо адбылося. Не, вы не адны такія, касячаць усё. Нават калі гэта фатальная памылка - затое гэта досвед. І яшчэ падумайце, а ці палічыць чалавек, які вас ацэньвае, гэты выпадак факапам?
Дзяліцеся ў каментарах, якім складам вам камфортней працаваць на хакатоне (і ў людзях, і ў адмыслоўцах) і як будуеце працэсы ў камандзе.