💳 Термінова новина! Trustee Plus — найкраще рішення для розрахунку криптою 👉

Тру кодінг, який ми заслужили. Айтівець із команди NIX про користь хакатонів

Може здатися, що у програмуванні немає місця креативу. Та будь-який розробник вам заперечить: в IT креатив — це про винахідливість. Громіздкий код замінити одним рядком і при цьому не зламати програму? Типовий приклад, коли технічний підхід межує з креативним.

Залишити коментар
Тру кодінг, який ми заслужили. Айтівець із команди NIX про користь хакатонів

Може здатися, що у програмуванні немає місця креативу. Та будь-який розробник вам заперечить: в IT креатив — це про винахідливість. Громіздкий код замінити одним рядком і при цьому не зламати програму? Типовий приклад, коли технічний підхід межує з креативним.

Часто на проєктах технології та план роботи чітко визначені вимогами продукту чи замовником. Де ж айтівцям шукати натхнення та розвивати в собі креативність? На хакатонах! Власним досвідом участі і проведення подібного заходу ділиться Артур Бакулін, Java Department Lead в IT-команді NIX.

Артур Бакулін, фото тут і далі — NIX

Моє зацікавлення хакатонами почалося з Google Hash Code. Це один із найбільших у світі івентів для розробників. Інженери збираються власними командами, щоб в онлайні позмагатися з колегами з інших країн. Усі ламають голову над задачами від Google. Єдиної правильної відповіді немає. Вам дають файли з вхідними даними, а результат треба прописати кодом самостійно. Мова програмування підійде будь-яка. Перемагає та команда, яка швидше запропонує найоптимальніше рішення. Тут все вирішують здібності розробника та креативний підхід до задачі.

Хакатони допомагають мислити нестандартно

Цей формат стовідсотково додає мисленню гнучкості. Як учасник подібних івентів я не раз бачив, що розробникам іноді буває складно зрушити з місця. Подумати, як то кажуть, out of the box. Усе тому, що зазвичай у роботі ми працюємо над проєктом за певною інструкцією — від техліда, замовника чи попередньої команди розробки. Знаємо, що і за чим робити, на який результат очікувати. На цьому шляху також можна проявити кмітливість і запропонувати клієнту якусь нову фічу. Кожен замовник буде тільки радий покращити свою розробку. Та масштаби таких пропозицій мають свої обмеження.

Наприклад, навряд чи ми будемо для логістичної компанії вигадувати формулу, яка розраховує дистанцію руху. Ми, звісно, можемо її оптимізувати, покращити чи реалізувати цю формулу на певній мові програмування.

На хакатоні ж рішення не мають жодних обмежень. Політ інженерної думки й креатив можливий у всьому — від інструментів і бібліотек до підходів на рівні архітектури. 

Мова програмування неважлива. Маєш протокол та інструменти зі щоденної роботи. Залишається тільки написати алгоритм. Фішка в тому, що ти ніколи не підготуєшся до змагання завчасно. Доведеться пригадати все, що знаєш і вмієш у програмуванні. Рішення прийде лише в процесі брейнстормінгу.

Саме відсутність плану та усталених рамок дозволяє розробнику дивитися на задачу під різними кутами. А отже — мислити нестандартно. Інколи, зробивши навіть незначний крок у бік, реально змінити продукт на краще. А ще під час хакатону можна навчитися краще декомпозувати задачі. Тобто розбивати їх на менші та вирішувати покроково.

NIXathon: битва алгоритмів, у якій перемагає людина

Восени минулого року ми в Java департаменті провели власний хакатон. Завданням було створити сервіс коротких посилань. Вічна класика співбесід. Та й взагалі добре тренує логічне мислення. Після успішного івенту я зрозумів, що його цілком реально розширити на всю команду NIX. Так ми почали працювати над концептом для нашого NIXathon. І тут одразу поставили собі задачу «із зірочкою» — залучити до змагання не тільки розробників, а й усіх бажаючих.

Підготовку розділили на два напрями. Технічна частина змагань — безпосередньо для команд-розробників. А інша — для тих, кому для участі не потрібно писати код. Ми вирішили, що було б класно поєднати доволі популярні зараз задачі на алгоритми та просту покрокову гру — «Чотири в ряд» або Connect four. Для цього навіть підняли окрему інфраструктуру. На виконання завдання відводилося 4 години, як і в класичному хакатоні.

Як проходило змагання

Двоє гравців із різними кольоровими ідентифікаторами намагалися розташувати на віртуальному полі 4 фішки в ряд (по вертикалі, горизонталі чи діагоналі). Ціль — зробити це швидше за суперника.

«Де ж тут про алгоритми?», — спитаєте ви. Саме їх мали написати команди розробників NIX для цієї гри. Після успішного проходу тестів алгоритми допускалися до змагання між собою. Щоб учасники не скористалися готовим рішеннями з просторів Git’а або chatGPT, ми поставили всім додаткову умову. На відміну від класичної гри, у цьому випадку хакатонці мали здолати певні перешкоди на ігровому полі.

Ці перешкоди змінювались рандомно в кожному раунді. Тому можу запевнити: переможців серед алгоритмів визначали чесним і прозорим шляхом.

Для інших гравців (не розробників NIX) задача була простішою, але не менш цікавою. Вони змагались між собою і тим самим формували власний рейтинг. Кращого гравця визначала автоматизована система. Таким чином ми позбувалися суб'єктивного оцінювання. А задля більшої видовищності ми вирішили провести «Суперфінал», де у чесному двобої зійшлися переможець від алгоритмів і від людей.

Абсолютним переможцем NIXathon’у все ж таки стала людина. 

Тож скільки б не хайпували довкола «розумних» технологій, спритність алгоритмів все одно залежатиме від умінь програмістів. Можливо, тому що за алгоритмами завжди стоятимуть розробники. А, може, тому що здатність мислити нестандартно властива людині, а не коду.

Загалом до організаторів ми залучили більше 15-ти фахівців із різних відділів. Серед них були розробники, тестувальники, дизайнери та проєктні менеджери. Таким чином хакатон об'єднав хлопців і дівчат із різними навичками і поглядами на програмування. І як підтвердили результати, із дуже професійним підходом до кодингу. З досвідом це відчуття дуже важливо берегти й розвивати в собі.

Айтівці називають це «тру кодінг»

Для айтівця круто вміти вправно маніпулювати логікою й передбачати, як зміни в коді можуть позначитися на майбутній роботі системи. Для цього не треба глибоко розбиратися у бізнес-домені, у ролях користувачів або сек’юріті. Це задача суто на рівні коду. Тут важливіше слідувати фундаментальним принципам програмування. 

Якщо ти гарний спеціаліст, то спираючись на свої знання зможеш запропонувати клієнту програмну логіку, яка найбільше підійде його бізнесу.

Тобі буде легше знайти компроміс і вирішити проблему замовника чи проєкту.

Саме в цьому й проявляється креатив розробника. Ти робиш продукт гнучким. Бо давайте не забувати, що IT — це передусім бізнес. Кожне нове, креативне рішення має відповідати запитам користувачів. Потреби людей можуть часто змінюватись, тому добре, коли система легко підлаштовується під них.

Що треба врахувати для проведення IT-хакатону? Поради від команди NIX

Якщо хочете влаштувати хакатон, для початку пам’ятайте про такі кроки:

  1. Задача повинна бути цікавою та зрозумілою всім. І затятим, багаторічним кодерам, і тим, хто лише пару років працює в IT.
  2. Упевніться, що маєте достатньо експертизи для коректного оцінювання відповідей. Або оберіть альтернативні рішення (наприклад, «змагання» рішень між собою).
  3. Заздалегідь підготуйте інфраструктуру — єдиний віртуальний простір для змагання. Як правило, всі здатні гарно маніпулювати for-ами та if-ами, щоб написати певний алгоритм. Нехай розробники почуваються впевнено й одразу поринуть у пошук кращого рішення в знайомій екосистемі.

Як бачите, для кожного айтівця хакатон — це ефективний і цікавий спосіб прокачати свій професійний рівень, стати кращим і в роботі, і в спілкуванні з командою. Це можливість дізнатися більше про вміння своїх колег та й себе проявити в новому, неочікуваному амплуа.

УЧАСТЬ В АЗАРТНИХ ІГРАХ МОЖЕ ВИКЛИКАТИ ІГРОВУ ЗАЛЕЖНІСТЬ. ДОТРИМУЙТЕСЯ ПРАВИЛ (ПРИНЦИПІВ) ВІДПОВІДАЛЬНОЇ ГРИ.
Ліцензія видана ТОВ "СЛОТС Ю.ЕЙ." на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 15.09.23 (рішення КРАІЛ №245 від 31.08.2023); ТОВ "СЛОТС Ю.ЕЙ." – на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 26.04.2021 (рішення КРАІЛ №150 від 12.04.2021); ТОВ «СПЕЙСИКС» – на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 08.02.2021 (рішення КРАІЛ №34 від 02.02.2021); ТОВ «ГЕЙМДЕВ» – на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 16.02.2021 (рішення № 47 від 10.02.2021).
Читайте також
«Вони зависли в новинах і геть не думали про роботу». Президент NIX розповів, як дав «батьківського прочухана» працівникам в перші дні війни
«Вони зависли в новинах і геть не думали про роботу». Президент NIX розповів, як дав «батьківського прочухана» працівникам в перші дні війни
«Вони зависли в новинах і геть не думали про роботу». Президент NIX розповів, як дав «батьківського прочухана» працівникам в перші дні війни
Back-end developer NIX створив систему, яка видаляє сторонні Telegram-акаунти
Back-end developer NIX створив систему, яка видаляє сторонні Telegram-акаунти
Back-end developer NIX створив систему, яка видаляє сторонні Telegram-акаунти
IT на сторожі миру.
Як команда NIX допомагає українській армії та постраждалим
IT на сторожі миру. Як команда NIX допомагає українській армії та постраждалим
IT на сторожі миру. Як команда NIX допомагає українській армії та постраждалим
24 лютого Росія розгорнула широкомасштабну війну в Україні. Наші воїни боронять мир на фронті, а волонтери допомагають і у гарячих точках, і в тилу. Серед тих, хто підтримує армію та постраждалих — харківська IT-команда NIX.  
«Нахуй робота, всім все пофіг коли війна». Керівництво NIX Solutions розіслало лист співробітникам і роз'яснило з ким збирається співпрацювати надалі, а з ким попрощається
«Нахуй робота, всім все пофіг коли війна». Керівництво NIX Solutions розіслало лист співробітникам і роз'яснило з ким збирається співпрацювати надалі, а з ким попрощається
«Нахуй робота, всім все пофіг коли війна». Керівництво NIX Solutions розіслало лист співробітникам і роз'яснило з ким збирається співпрацювати надалі, а з ким попрощається

Хочете повідомити важливу новину? Пишіть у Telegram-бот

Головні події та корисні посилання в нашому Telegram-каналі

Обговорення
Коментарів поки немає.