QA: هکاتون

QA: هکاتون

قسمت پایانی سه گانه هکاتون. که در بخش اول من از انگیزه شرکت در چنین رویدادهایی صحبت کردم. قسمت دوم به اشتباهات برگزارکنندگان و نتایج آنها اختصاص داشت. بخش پایانی به سوالاتی پاسخ خواهد داد که در دو بخش اول نمی گنجد.

به ما بگویید چگونه شرکت در هکاتون ها را شروع کردید.
من در مقطع کارشناسی ارشد در دانشگاه Lappeenranta در حالی که به حل مسابقات در تجزیه و تحلیل داده ها پرداختم. روز معمولی من به این شکل بود: ساعت 8 بیدار شدن، چند زوج در دانشگاه، سپس مسابقات و دوره ها تا نیمه شب (در حالی که ارسال در حال شمارش است، سخنرانی ها را تماشا می کنم یا مقاله می خوانم). چنین برنامه سختی به ثمر نشست و من در مسابقه تجزیه و تحلیل داده MERC-2017 (که حتی مورد بحث قرار گرفت) برنده شدم پست در هاب). این پیروزی به من اعتماد به نفس داد و زمانی که به طور تصادفی با اطلاعاتی در مورد هکاتون SkinHack 2 در مسکو آشنا شدم، تصمیم گرفتم به دیدن پدر و مادرم بروم و در همان زمان بفهمم هکاتون چیست.

خود هکاتون بسیار خنده دار بود. دو مسیر در تجزیه و تحلیل داده ها با معیارهای واضح و مجموعه داده با جایزه 100 هزار روبلی وجود داشت. آهنگ سوم در مورد توسعه اپلیکیشن با جایزه 50 هزار نفری بود و هیچ شرکت کننده ای در آن حضور نداشتند. در یک نقطه، برگزارکننده گفت که یک پنجره با یک دکمه بدون عملکرد می تواند 50 هزار برنده شود، زیرا جایزه قابل پرداخت نیست. من شروع به یادگیری نحوه برنامه‌نویسی برنامه‌ها نکردم (من در جایی رقابت نمی‌کنم که بتوانم به راحتی «برگردانده شوم»)، اما برای من این یک پیام واضح بود که زمینه‌های هکاتون شلوغ نیست.

سپس هر دو مسیر تحلیل داده را به تنهایی حل کردم. من نشتی در داده‌ها پیدا کردم که به من امکان داد سرعت ایده‌آل را به دست بیاورم، اما ستون با نشت در داده‌های آزمایشی که دو ساعت قبل از پایان رویداد دریافت کردم نبود (به هر حال، سپس متوجه شدم که وجود ستون "هدف" در قطار به عنوان نشتی به حساب نمی آید). در همان زمان، جدول امتیازات باز شد، ارسال بدون چهره من از پنج رتبه سوم را به خود اختصاص داد، فاصله زیادی با نفر اول وجود داشت و تصمیم گرفتم زمان را تلف نکنم و رفتم.

بعد از اینکه با ذهنی تازه آنچه را که اتفاق افتاد تجزیه و تحلیل کردم، انبوهی از خطاها را یافتم (یکی از عادات من این است که به طور ذهنی آنچه را که رخ داده است با دفترچه یادداشت مرور کنم و خطاها، علت آنها و آنچه را که می‌توانست تغییر داده باشد تجزیه و تحلیل کنم - چنین میراث خوشایندی. یک بازی پوکر نیمه حرفه ای). اما یک چیز به طور قطع روشن بود - ارزش زیادی در هکاتون وجود دارد، و من به سادگی مجبور شدم آن را اجرا کنم. پس از این رویداد، من شروع به نظارت بر رویدادها و گروه ها کردم و هکاتون بعدی دیری نپایید. بعد یکی دیگه و یکی دیگه...

چرا هکاتون میکنی نه کاگلو؟
فعلا از کاگل خوشم نمیاد از یک سطح مهارتی خاص، بدون دلایل خاصی برای مشارکت، کگل نسبت به سایر فعالیت ها کمتر مفید می شود. من قبلاً خیلی شرکت کردم ، ظاهراً توانستم به نوعی "پیاده شوم".

چرا هکاتون می کنید و روی پروژه خود کار نمی کنید؟
من این ایده را دوست دارم که با دستان خودم چیز جالبی با سرعت کم درست کنم. بچه های ODS سازماندهی کردند پروژه های حیوان خانگی ODS برای همه کسانی که می خواهند آخر هفته را با افراد همفکر خود روی پروژه خود بگذرانند. فکر می کنم به زودی به آنها ملحق خواهم شد.

چگونه رویدادها را پیدا می کنید؟
منبع اصلی - hackathon.com (جهان) و چت تلگرام هکرهای روسی (روسیه). به علاوه، اعلان رویدادها در تبلیغات در شبکه های اجتماعی و لینکدین ظاهر می شود. اگر چیزی پیدا نکردید، می‌توانید اینجا را جستجو کنید: mlh.io، devpost.com، hackevents.co، hackalist.org، HackathonsNear.me، hackathon.io.

آیا قبل از شرکت، یک طرح راه حل آماده می کنید یا همه چیز در حال انجام است؟ به عنوان مثال، یک هفته قبل از هکاتون، آیا فکر می کنید: "ما در اینجا به فلان متخصص نیاز خواهیم داشت، باید به دنبال آن باشیم"؟
اگر هکاتون برای غذا باشد، بله، در حال آماده شدن هستم. چند هفته قبل، متوجه می شوم که قرار است چه کاری انجام دهم، متوجه می شوم چه کسی ممکن است مفید باشد، و تیمی از دوستان یا شرکت کنندگان از هکاتون های گذشته را جمع آوری می کنم.

آیا واقعا امکان هک هکاتون به تنهایی وجود دارد؟ اگر تیم نباشد چه باید کرد؟
هکاتون های علم داده واقعی هستند (من یک نمونه زنده از آن هستم)، من هکاتون های مواد غذایی را ندیده ام، اگرچه من نیز چنین فکر می کنم. متأسفانه، گاهی اوقات برگزارکنندگان محدودیتی را برای حداقل تعداد شرکت کنندگان در یک تیم اعمال می کنند. من فکر می کنم این به دلیل این واقعیت است که همه "تنها" به فینال نمی رسند (یعنی آنها به سادگی با اولین مشکلات ترک می کنند)؛ شرکت در یک تیم هنوز هم مانع می شود. حتی پس از این رویداد، از شما انتظار می رود که به کار روی پروژه ادامه دهید. به نتیجه رساندن پروژه با یک تیم آسان تر خواهد بود.

در کل توصیه من این است که همیشه با یک تیم شرکت کنید. اگر تیم خود را ندارید، سازمان دهندگان همیشه به شما کمک می کنند تا یکی را پیدا کنید یا ایجاد کنید.

چگونه با خستگی در طول هکاتون کنار بیایید؟
در هکاتون 2 روز به شما فرصت داده می شود تا کار کنید، یعنی 48 ساعت (30 تا 48 ساعت، برای سهولت در شمارش، 48 ساعت در نظر بگیرید). ما زمان خواب (16-20 ساعت) را حذف می کنیم و بیش از 30 ساعت باقی نمی ماند. از این تعداد، 8 ساعت (به طور متوسط) در واقع صرف کار سازنده می شود. اگر کار خود را به درستی سازماندهی کنید (خواب، تغذیه، بیرون رفتن در هوای تازه، تمرینات، دقایق تمرکز، ارتباط مناسب با تیم و تغییر فعالیت)، آنگاه می توان ساعات کاری عمیق را به 12-14 افزایش داد. پس از چنین کاری احساس خستگی خواهید کرد، اما خستگی دلپذیر خواهد بود. کدنویسی بدون خواب و استراحت، که با نوشیدنی های انرژی زا قطع می شود، دستوری برای شکست است.

آیا خطوط لوله آماده خود را برای هکاتون دارید؟ چگونه آنها را دریافت کردید، چگونه سازماندهی شده اند (آنها در پوشه هایی با فایل های .py قرار دارند، هر کدام برای کار خود، و غیره) و چگونه خودتان شروع به ایجاد آنها کنید؟
من از راه حل های کاملاً آماده از هکاتون های گذشته در موارد جدید استفاده نمی کنم، اما باغ وحش خود را از مدل ها و خطوط لوله از مسابقات گذشته دارم. من مجبور نیستم قطعات استاندارد را از ابتدا بازنویسی کنم (مثلاً رمزگذاری صحیح هدف یا یک شبکه ساده برای استخراج هدف از متن)، که باعث صرفه جویی در وقت من می شود.

در حال حاضر به نظر می رسد: برای هر مسابقه یا هکاتون مخزن مخصوص به خود در GitHub وجود دارد، نوت بوک ها، اسکریپت ها و اسناد کوچک در مورد آنچه اتفاق می افتد را ذخیره می کند. به علاوه یک مخزن جداگانه برای انواع «ترفندهای» جعبه‌ای (مانند رمزگذاری صحیح هدف با اعتبارسنجی متقابل) وجود دارد. فکر نمی کنم این شیک ترین راه حل باشد، اما در حال حاضر برای من مناسب است.

من با ذخیره تمام کدهایم در پوشه ها و نوشتن مستندات کوتاه (چرا، چیست، چگونه این کار را انجام دادم و نتیجه) شروع می کنم.

آیا تهیه یک MVP از ابتدا در این مدت کوتاه واقع بینانه است یا همه شرکت کنندگان با راه حل های آماده ارائه می شوند؟
من فقط می توانم در مورد پروژه های مرتبط با علم داده بگویم - بله، این امکان وجود دارد. MVP برای من ترکیبی از دو عامل است:

  • یک ایده قابل اجرا به عنوان یک محصول (یعنی نقاشی شده روی بوم تجاری). همیشه باید درک روشنی از اینکه چرا و برای چه کسی محصول می‌سازیم وجود داشته باشد. گاهی اوقات پروژه هایی با طراحی مستدل، اما بدون نمونه اولیه، برنده جایزه می شوند و این تعجب آور نیست. متأسفانه، بسیاری از شرکت‌کنندگان نمی‌توانند تلخی شکست را نادیده بگیرند و شکست‌های خود را به کوته‌اندیشی برگزارکنندگان نسبت می‌دهند، و همچنان در هکاتون‌های بعدی مدل‌هایی را برای شخصی ناشناس برش می‌دهند.
  • برخی از شاخص هایی که می توانید این محصول را بسازید (برنامه، کد، توضیحات خطوط لوله).

این اتفاق می افتد که یک تیم با یک راه حل آماده به یک هکاتون می آید و سعی می کند آن را با دستورالعمل های سازمان دهندگان "تطبیق دهد". چنین تیم هایی در هنگام غربالگری فنی قطع می شوند یا فقط بخشی که در سایت انجام داده اند "شمار می شود". من چنین تیم هایی را به عنوان برنده ندیده ام، اما فکر می کنم به دلیل ارزش آینده، بازی کردن برای آنها همچنان سودآور است (مخاطبین، مجموعه داده ها و غیره).

آیا نمونه هایی از آوردن صنایع دستی اجرا شده در هکاتون ها به تولید/استارت آپ وجود دارد؟
آره. سه مورد داشتم که به تولید آوردند. یک بار خودم، دو بار - با دست شخص دیگری، بر اساس ایده ها و کدی که در هکاتون نوشتم. من همچنین چند تیم را می شناسم که به عنوان مشاور به همکاری با شرکت ادامه دادند. من نتایج نهایی را نمی دانم، اما به احتمال زیاد چیزی تکمیل شده است. من خودم استارت‌آپ‌هایی را سازماندهی نکرده‌ام و نمی‌دانم کسی این کار را کرده است، اگرچه مطمئن هستم که نمونه‌هایی وجود دارد.

بعد از شرکت در بسیاری از هکاتون ها، اگر بتوانید به گذشته برگردید، چه توصیه ای به خودتان می کنید؟

  1. تاکتیک ها مهم تر از مانور هستند. هر راه حلی را به عنوان یک محصول نهایی در نظر بگیرید. یک ایده، یک لپ تاپ مشتری، یک الگوریتم هیچ ارزشی ندارند اگر مشخص نباشد چه کسی برای آن هزینه خواهد کرد.
  2. قبل از طراحی هر چیزی، به این سوال نه "چی؟"، بلکه "چرا؟" پاسخ دهید. و چطور؟". مثال: هنگام طراحی هر راه حل ML، ابتدا به الگوریتم ایده آل فکر کنید: چه چیزی به عنوان ورودی دریافت می کند، چگونه از پیش بینی های آن در آینده استفاده می شود؟
  3. بخشی از یک تیم باشید.

آنها معمولا در هکاتون ها چه چیزی را تغذیه می کنند؟
معمولا غذا در هکاتون ها ضعیف است: پیتزا، نوشیدنی های انرژی زا، نوشابه. تقریباً همیشه غذا به شکل یک بوفه (یا میز سرو) که صف بزرگی برای آن وجود دارد تنظیم می شود. آنها معمولاً در شب غذا ارائه نمی دهند، اگرچه در یکی از مسابقات در پاریس موردی وجود داشت که در آن غذا یک شبه مانده بود - چیپس، دونات و کولا. من روند فکری برگزارکنندگان را تصور خواهم کرد: "پس برنامه نویسان در آنجا چه می خورند؟ اوه، دقیقا! چیپس، دونات - همین. بیایید این آشغال ها را به آنها بدهیم.» روز بعد از برگزارکنندگان پرسیدم: «بچه ها، آیا می توان کاری متفاوت برای شب انجام داد؟ خوب، شاید مقداری فرنی؟» بعد از آن آنها به من نگاه کردند که من یک احمق هستم. مهمان نوازی معروف فرانسوی.

در هکاتون های خوب، غذا در جعبه سفارش داده می شود؛ به وعده های غذایی معمولی، گیاهی و کوشر تقسیم بندی می شود. به علاوه آنها یک یخچال با ماست و موسلی قرار می دهند - برای کسانی که می خواهند یک میان وعده بخورند. چای، قهوه، آب - استاندارد. من هکاتون Hack Moscow 2 را به خاطر می آورم - آنها از صمیم قلب به من بورشت و کتلت با پوره سیب زمینی در غذاخوری دفتر 1C به من دادند.

عقلانیت هکاتون ها به اصطلاح به حوزه حرفه ای برگزار کنندگان بستگی دارد (مثلاً بهترین هکاتون ها توسط مشاوران انجام می شود)؟
بهترین هکاتون‌ها از سوی برگزارکنندگانی بود که یا قبلاً هکاتون‌هایی را برگزار کرده بودند یا قبلاً در آن شرکت کرده بودند. شاید این تنها عاملی باشد که کیفیت رویداد به آن بستگی دارد.

چگونه بفهمیم که نوب نیستی و زمان هکاتون فرا رسیده است؟
بهترین زمان برای رفتن به هکاتون یک سال پیش است. دومین زمان بهترین هم اکنون است. پس به دنبال آن بروید، اشتباه کنید، یاد بگیرید - اشکالی ندارد. حتی یک شبکه عصبی - بزرگترین اختراع انسان از زمان افزایش چرخ و شیب بر روی درختان - نمی تواند گربه را از سگ در اولین دوره آموزش تشخیص دهد.

چه "پرچم های قرمز" بلافاصله نشان می دهد که رویداد خیلی خوب نخواهد بود و نیازی به اتلاف وقت نیست؟

  • شرح واضحی از آنچه باید انجام شود (مرتبط با هکاتون های محصول). اگر در حین ثبت نام به شما وظیفه روشنی داده شد، بهتر است در خانه بمانید. در حافظه من حتی یک هکاتون خوب با مشخصات فنی وجود نداشت. برای مقایسه: بسیار خوب - کاری در رابطه با تجزیه و تحلیل مکالمات صوتی انجام دهید. بد - یک برنامه کاربردی برای ما بسازید که بتواند یک مکالمه را به دو آهنگ صوتی جداگانه برای هر فرد تقسیم کند.
  • صندوق جایزه کوچک اگر از شما خواسته شود که «Tinder for a store online with AI» را بسازید و جایزه رتبه اول 500 یورو و حداقل اندازه تیم 5 نفر است، احتمالاً ارزش تلف کردن وقت خود را ندارد (بله، این یک هکاتون واقعی است که در مونیخ برگزار شد).
  • کمبود داده (مرتبط با هکاتون های علم داده). سازمان دهندگان معمولا اطلاعات اولیه در مورد رویداد و گاهی اوقات یک مجموعه داده نمونه را ارائه می دهند. اگر آن را ارائه نکرده اند، بپرسید، هیچ هزینه ای برای شما نخواهد داشت. اگر در عرض 2-3 مشخص نیست که چه داده هایی ارائه می شود و آیا اصلا ارائه می شود یا خیر، این یک پرچم قرمز است.
  • برگزارکنندگان جدید تنبل نباشید و اطلاعات گوگل در مورد سازمان دهندگان هکاتون. اگر برای اولین بار است که چنین رویدادی را برگزار می کنند، احتمال اینکه مشکلی پیش بیاید زیاد است. از طرف دیگر، اگر برگزار کننده و اعضای هیئت داوران قبلاً هکاتون ها را برگزار کرده باشند یا در گذشته فعالانه شرکت کرده باشند، این یک پرچم سبز است.

در یکی از هکاتون ها به من گفتند: "تو در مدت کوتاهی بهترین راه حل را داشتی، اما متاسفم، ما کار تیمی را ارزیابی می کنیم و تو به تنهایی کار کردی. حالا اگر دانش آموز یا دختری را به تیم خود بردی...»؟ آیا تا به حال با چنین بی عدالتی روبرو شده اید؟ چطور کنار آمدی؟
بله، من بیش از یک بار آن را ملاقات کرده ام. من در مورد هر اتفاقی که می افتد رواقی هستم: من هر کاری که در توانم بود انجام دادم، اگر نتیجه ای نداشت، همینطور باشد.

چرا این همه کار را می کنی؟
همه اینها فقط از سر کسالت است.

منبع: www.habr.com

اضافه کردن نظر