Створити систему для інтеграції криптоплатежів за 48 годин. Інсайти з мого першого інженерного хакатону

Усім привіт! Я Єгор, Front-end Engineer IC2 у компанії TENTENS Tech by SKELAR. Прийшов у техсферу близько чотирьох років тому, натхненний історіями про авантюристів, які гуртувались у невеликі команди й компанії з прагненням зробити цей світ кращим. Мене захоплюють люди, які, обʼєднані ідеєю, ладні витрачати всі доступні й недоступні ресурси та зрештою запускають продукти на кшталт Apple, Facebook та Microsoft.

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

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

Інсайт № 1. Приходити на хакатон без «валізи» готових рішень, проведених досліджень та сформованих гіпотез — це нормально

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

  • ефективне залучення користувачів;
  • boilerplate для запуску нових стартапів у SKELAR.

За цей час можна було провести кастомер-девелопмент, поспілкуватися з експертами та дізнатися про їхні труднощі. Пошук рішення — це творчий процес, тож учасників не обмежували в підготовці.

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

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

Інсайт № 2. Долучатися до хакатону без фізичної та моральної підготовки — не найкраще рішення

Хакатон — це спринт на 48 годин. Заздалегідь подумайте, що дає вам енергію і допомагає працювати на шалених обертах.

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

Інсайт № 3. Хакатон — це вихід із «теплої ванни»

Такі змагання — класна можливість вийти зі звичної бульбашки й почеленджити себе.

По-перше, хакатон допомагає круто наситити свій досвід новими робочими доменами. Якщо ви втомилися від постійної робити зі звичайними таблицями або CRUD API для CRM-систем, йдіть — ні, біжіть на хакатон. Для мене це була можливість долучитися до проєктування системи для інтеграції криптоплатежів з нуля.

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

Окрема крута фішка хакатону від SKELAR — запрошений викладач ораторського мистецтва. На другий день він проводив краш-тест презентацій: правив структуру пітчу, ставив невербальну комунікацію, пояснював, як утримувати увагу глядачів під час виступу, а ще добирав для кожної команди індивідуальні фішки, які б допомогли краще запам’ятатися журі. В моїй роботі розробника ця активність точно дала можливість вийти за рамки звичного.

По-друге, хочете чи ні, але ви точно збільшите свій нетворк. Та я б цього не боявся: хакатони завжди збирають розумних, талановитих і захоплених своєю справою людей, тож такі знайомства — велика цінність. Окрім учасників, корисні контакти можна знайти серед експертів, менторів та журі. І хтозна, можливо, у майбутньому ви станете колегами, партнерами або ж навіть друзями.

Загалом хакатон чудово прокачує інженерну культуру в компанії. Він ще раз нагадує, що розробники кожної компанії в SKELAR (як на early, так і late stages) — це партнери для бізнесу. Окрім навичок написання коду, ми маємо розвивати продуктове мислення. І, використовуючи свій набір інструментів (мови програмування, методології розробки й тестування, знання баз даних та інфраструктури), допомагати компанії досягати поставлених цілей.

Інсайт № 4. Найважливіше в команді — налаштувати ефективну комунікацію та вміти пріоритезувати

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

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

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

Отож командно ми визначили мінімум, який можна зробити за 48 годин:

  1. Інтегрувати в нашу систему дві відомі біржі — crypto.com і binance. Це допомогло б охопити велику кількість користувачів через популярність бірж.
  2. Створити адмінку для розуміння, скільки було здійснено успішних та неуспішних платежів і через яку біржу.
  3. Надати можливість робити відшкодування через адмінку.

Далі пішла моя найулюбленіша частина — проєктування дизайн-рішення і вибір технологій.

Хоч я і розумів, як працюють платіжні системи, але проєктувати їх з нуля було дуже цікаво. Схема роботи виглядала так:

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

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

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

Ми могли б дати значну цінність бізнесу, якби відображали корисні дані для бухгалтерів мерчанта. Наприклад, кількість успішних або неуспішних платежів, метрики з графіками, а також можливість робити відшкодування, якщо користувач захотів повернути гроші. Для цього знадобиться адмінка, яку ми і реалізували. Уся інформація в адмінці надходитиме з бекенду.

Ось яке цікаве дизайн-рішення ми спроєктували разом з командою. На мою думку, таке екстремальне проєктування сподобається кожному розробнику всіх рівнів.

А щодо технологій на front-end, для швидкої розробки нам був потрібен відповідний інструмент. Ми розглядали дві технології — React та Vue. Важливе уточнення: я однаково люблю і поважаю обидва інструменти, та React гарно підійшов для проєкту невеликого розміру. Ця бібліотека гнучка, плюс більшість коду, який ти напишеш, працюватиме — і це те, що нам було потрібно.

У більшості випадків нам доводилося закривати очі на найкращі підходи в програмуванні. На хакатоні виграє робоче рішення. Тому ми часто нехтували принципами SOLID і не використовували React + TypeScript, бо типізація нас би сповільнювала. Щоб першими дійти до фінішу, нам потрібно було працювати безперервно. Утім, ваш шлях і вибір технологій на хакатоні можуть бути зовсім іншими.

Висновки

Хакатон — це нагода випробувати себе, якщо шукаєш нові виклики. Розробники зможуть прокачати як софти, так і харди в дуже цікавих і незвичних умовах.

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

Сьогодні в Україні проводять хакатони різних масштабів у сферах бізнесу, miltech та освіти. Раджу доєднуватися як розробникам, так і нетехнічним спеціалістам: це корисно і весело.

Сподобалась стаття? Підписуйтесь на автора, щоб отримувати сповіщення про нові публікації на пошту.

👍ПодобаєтьсяСподобалось16
До обраногоВ обраному1
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Підписатись на коментарі