QA: Hackathons

QA: Hackathons

Το τελευταίο μέρος της τριλογίας του hackathon. ΣΕ το πρώτο μέρος Μίλησα για το κίνητρο να συμμετέχω σε τέτοιες εκδηλώσεις. Το δεύτερο μέρος αφιερώθηκε στα λάθη των διοργανωτών και στα αποτελέσματά τους. Το τελευταίο μέρος θα απαντήσει σε ερωτήσεις που δεν χωρούσαν στα δύο πρώτα μέρη.

Πες μας πώς ξεκίνησες να συμμετέχεις σε hackathons.
Σπούδασα για μεταπτυχιακό στο Πανεπιστήμιο της Lappeenranta ενώ λύνω διαγωνισμούς στην ανάλυση δεδομένων. Η τυπική μου μέρα έμοιαζε κάπως έτσι: σηκώνομαι στις 8, μερικά ζευγάρια στο πανεπιστήμιο, μετά διαγωνισμοί και μαθήματα μέχρι τα μεσάνυχτα (ενώ μετράει η υποβολή, παρακολουθώ διαλέξεις ή διαβάζω άρθρα). Ένα τόσο αυστηρό πρόγραμμα απέδωσε καρπούς και κέρδισα τον διαγωνισμό ανάλυσης δεδομένων MERC-2017 (ο οποίος συζητήθηκε ακόμη και ανάρτηση στο hub). Η νίκη μου έδωσε αυτοπεποίθηση και όταν κατά λάθος έπεσα σε πληροφορίες για το Hackathon SkinHack 2 στη Μόσχα, αποφάσισα να επισκεφτώ τους γονείς μου και ταυτόχρονα να μάθω τι είναι το hackathon.

Το ίδιο το hackathon αποδείχθηκε αρκετά αστείο. Υπήρχαν δύο κομμάτια για την ανάλυση δεδομένων με σαφείς μετρήσεις και ένα σύνολο δεδομένων με χρηματικό έπαθλο 100 ρούβλια. Το τρίτο κομμάτι αφορούσε την ανάπτυξη εφαρμογών με έπαθλο 50 και δεν υπήρχαν συμμετέχοντες. Κάποια στιγμή, ο διοργανωτής είπε ότι ένα παράθυρο με κουμπί χωρίς λειτουργικότητα θα μπορούσε να κερδίσει 50 χιλιάδες, επειδή το έπαθλο δεν μπορούσε να πληρωθεί. Δεν άρχισα να μαθαίνω πώς να προγραμματίζω εφαρμογές (δεν διαγωνίζομαι όπου μπορώ εύκολα να με «αναποδογυρίσουν»), αλλά για μένα ήταν ένα ξεκάθαρο μήνυμα ότι τα πεδία στα hackathons δεν είναι γεμάτα.

Έπειτα έλυσα και τα δύο κομμάτια ανάλυσης δεδομένων μόνος μου. Βρήκα μια διαρροή στα δεδομένα που μου επέτρεψε να πάρω την ιδανική ταχύτητα, αλλά η στήλη με τη διαρροή δεν ήταν στα δεδομένα δοκιμής που έλαβα δύο ώρες πριν από το τέλος της εκδήλωσης (παρεμπιπτόντως, τότε κατάλαβα ότι η παρουσία μιας στήλης «στόχου» στο τρένο δεν υπολογίζεται ως διαρροή). Ταυτόχρονα, άνοιξε το leaderboard, η υποβολή μου χωρίς πρόσωπο πήρε την τρίτη θέση από τις πέντε, υπήρχε μεγάλη διαφορά από την πρώτη και αποφάσισα να μην χάσω χρόνο και αποχώρησα.

Αφού ανέλυσα με φρέσκο ​​μυαλό τι συνέβη, βρήκα ένα σωρό λάθη (μία από τις συνήθειές μου είναι να περιηγούμαι νοερά στο τι συνέβη με το σημειωματάριο και να αναλύω τα σφάλματα, την αιτία τους και τι θα μπορούσε να είχε αλλάξει - μια τόσο ευχάριστη κληρονομιά ενός ημι-επαγγελματικού παιχνιδιού πόκερ). Αλλά ένα πράγμα ήταν ξεκάθαρο - υπάρχει μεγάλη αξία στα hackathons, και έπρεπε απλώς να το εφαρμόσω. Μετά από αυτό το γεγονός, άρχισα να παρακολουθώ εκδηλώσεις και ομάδες και το επόμενο hackathon δεν άργησε να έρθει. Μετά άλλο ένα και άλλο...

Γιατί κάνεις hackathons και όχι Kaglo;
Δεν μου αρέσει ο Kagle αυτή τη στιγμή. Από ένα συγκεκριμένο επίπεδο δεξιοτήτων, χωρίς συγκεκριμένους λόγους συμμετοχής, το kagle γίνεται λιγότερο χρήσιμο από άλλες δραστηριότητες. Συμμετείχα πολύ στο παρελθόν, προφανώς κατάφερα με κάποιο τρόπο να «κατέβω».

Γιατί να κάνετε hackathon και να μην εργάζεστε στο δικό σας έργο;
Μου αρέσει η ιδέα να φτιάξω κάτι δροσερό με τα χέρια μου με αργό ρυθμό. Τα παιδιά από την ODS οργανώθηκαν ODS έργα κατοικίδιων ζώων για όλους όσους θέλουν να περάσουν το Σαββατοκύριακο δουλεύοντας το έργο τους με ομοϊδεάτες. Νομίζω ότι σύντομα θα ενταχθώ μαζί τους.

Πώς βρίσκετε τα γεγονότα;
Κύρια πηγή - hackathon.com (κόσμος) και συνομιλία με τηλεγράφημα Ρώσοι χάκερ (Ρωσία). Επιπλέον, οι ανακοινώσεις συμβάντων εμφανίζονται σε διαφημίσεις στα κοινωνικά δίκτυα και στο linkedin. Αν δεν βρείτε τίποτα, μπορείτε να ψάξετε εδώ: mlh.io, devpost.com, hackevents.co, hackalist.org, HackathonsNear.me, hackathon.io.

Ετοιμάζετε ένα σχέδιο λύσης πριν συμμετάσχετε ή όλα αποφασίζονται εν κινήσει; Για παράδειγμα, μια εβδομάδα πριν από το hackathon, πιστεύετε: «Θα χρειαστούμε κάποιον ειδικό εδώ, θα πρέπει να τον ψάξουμε»;
Αν το hackathon είναι για φαγητό, ναι, ετοιμάζομαι. Λίγες εβδομάδες πριν, καταλαβαίνω τι πρόκειται να κάνω, καταλαβαίνω ποιος μπορεί να είναι χρήσιμος και συγκεντρώνω μια ομάδα φίλων ή συμμετεχόντων από προηγούμενα hackathons.

Είναι πραγματικά δυνατό να χακάρεις μόνος σου ένα hackathon; Τι να κάνετε αν δεν υπάρχει ομάδα;
Τα hackathons της επιστήμης δεδομένων είναι αληθινά (είμαι ένα ζωντανό παράδειγμα αυτού), δεν έχω δει hackathons για παντοπωλεία, αν και το πιστεύω επίσης. Δυστυχώς, μερικές φορές οι διοργανωτές επιβάλλουν ένα όριο στον ελάχιστο αριθμό συμμετεχόντων σε μια ομάδα. Νομίζω ότι αυτό οφείλεται στο γεγονός ότι δεν φτάνουν όλοι οι «μοναχικοί» στους τελικούς (δηλαδή απλά φεύγουν με τις πρώτες δυσκολίες), η συμμετοχή σε μια ομάδα εξακολουθεί να κρατά πίσω. Ακόμη και μετά την εκδήλωση, αναμένεται να συνεχίσετε να εργάζεστε για το έργο. Θα είναι πιο εύκολο να πραγματοποιηθεί το έργο με μια ομάδα.

Γενικά η συμβουλή μου είναι να συμμετέχεις πάντα με ομάδα. Εάν δεν έχετε τη δική σας ομάδα, οι διοργανωτές θα σας βοηθούν πάντα να βρείτε ή να δημιουργήσετε μια.

Πώς αντιμετωπίζετε την κούραση κατά τη διάρκεια ενός hackathon;
Στο hackathon σας δίνονται 2 ημέρες για να δουλέψετε, δηλαδή 48 ώρες (30-48 ώρες, ας πάρουμε 48 για ευκολία στη μέτρηση). Αφαιρούμε τον χρόνο για ύπνο (16-20 ώρες), αφήνοντας όχι περισσότερο από 30. Από αυτές, οι 8 ώρες (κατά μέσο όρο) θα δαπανηθούν πραγματικά για παραγωγική εργασία. Εάν οργανώσετε σωστά την εργασία σας (ύπνος, διατροφή, έξοδος στον καθαρό αέρα, ασκήσεις, λεπτά προσοχής, σωστή επικοινωνία με την ομάδα και εναλλαγή δραστηριοτήτων), τότε οι βαθιές ώρες εργασίας μπορούν να αυξηθούν σε 12-14. Μετά από μια τέτοια δουλειά θα αισθάνεστε εξαντλημένοι, αλλά θα είναι ευχάριστη κούραση. Η κωδικοποίηση χωρίς ύπνο και διαλείμματα, που διακόπτεται από ενεργειακά ποτά, είναι συνταγή αποτυχίας.

Έχετε δικούς σας έτοιμους αγωγούς για hackathons; Πώς τα αποκτήσατε, πώς είναι οργανωμένα (βρίσκονται σε φακέλους με αρχεία .py, το καθένα για τη δική του εργασία κ.λπ.) και πώς να ξεκινήσετε να τα δημιουργείτε μόνοι σας;
Δεν χρησιμοποιώ εντελώς έτοιμες λύσεις από προηγούμενα hackathon σε νέα, αλλά έχω τον δικό μου ζωολογικό κήπο με μοντέλα και αγωγούς από προηγούμενους διαγωνισμούς. Δεν χρειάζεται να ξαναγράψω τυπικά κομμάτια από την αρχή (για παράδειγμα, σωστή κωδικοποίηση στόχου ή ένα απλό πλέγμα για την εξαγωγή πρόθεσης από κείμενο), κάτι που μου εξοικονομεί πολύ χρόνο.

Αυτή τη στιγμή μοιάζει με αυτό: για κάθε διαγωνισμό ή hackathon υπάρχει το δικό του repo στο GitHub, αποθηκεύει σημειωματάρια, σενάρια και μικρή τεκμηρίωση για το τι συμβαίνει. Επιπλέον, υπάρχει ένα ξεχωριστό repo για όλα τα είδη "κόλπα" σε κουτί (όπως η σωστή κωδικοποίηση στόχου με διασταυρούμενη επικύρωση). Δεν νομίζω ότι αυτή είναι η πιο κομψή λύση, αλλά προς το παρόν μου ταιριάζει.

Θα ξεκινούσα αποθηκεύοντας όλο τον κώδικά μου σε φακέλους και γράφοντας σύντομη τεκμηρίωση (γιατί, τι, πώς το έκανα και το αποτέλεσμα).

Είναι ρεαλιστικό να προετοιμάζετε έναν MVP από την αρχή σε τόσο σύντομο χρονικό διάστημα ή όλοι οι συμμετέχοντες έρχονται με έτοιμες λύσεις;
Μπορώ να πω μόνο για έργα που σχετίζονται με την επιστήμη δεδομένων - ναι, είναι δυνατό. Το MVP για μένα είναι ένας συνδυασμός δύο παραγόντων:

  • Μια βιώσιμη ιδέα που παρουσιάζεται ως προϊόν (δηλαδή ζωγραφισμένη σε έναν επαγγελματικό καμβά). Θα πρέπει πάντα να υπάρχει σαφής κατανόηση του γιατί και για ποιον φτιάχνουμε ένα προϊόν. Μερικές φορές έργα με καλά τεκμηριωμένο σχεδιασμό, αλλά χωρίς πρωτότυπο, κερδίζουν βραβεία και αυτό δεν προκαλεί έκπληξη. Δυστυχώς, πολλοί συμμετέχοντες δεν μπορούν να αγνοήσουν την πικρία της ήττας και να αποδώσουν τις αποτυχίες τους στη μυωπία των διοργανωτών, συνεχίζοντας να κόβουν μοντέλα για κάποιον άγνωστο στα επόμενα hackathons.
  • Κάποια ένδειξη ότι μπορείτε να φτιάξετε αυτό το προϊόν (αίτηση, κωδικός, περιγραφή αγωγών).

Συμβαίνει μια ομάδα να έρθει σε ένα hackathon με μια έτοιμη λύση και να προσπαθήσει να την «προσαρμόσει» στις οδηγίες των διοργανωτών. Τέτοιες ομάδες αποκόπτονται κατά τη διάρκεια του τεχνικού ελέγχου ή «μετράται» μόνο το μέρος που έκαναν στον ιστότοπο. Δεν έχω δει τέτοιες ομάδες ως νικητές, αλλά πιστεύω ότι εξακολουθεί να είναι κερδοφόρο για αυτές να παίζουν λόγω της μελλοντικής αξίας (επαφές, σύνολα δεδομένων κ.λπ.).

Υπάρχουν παραδείγματα μεταφοράς χειροτεχνιών που εφαρμόζονται σε hackathons στην παραγωγή/εκκίνηση;
Ναί. Είχα τρεις περιπτώσεις όταν το έφεραν στην παραγωγή. Μια φορά ο ίδιος, δύο φορές - με τα χέρια κάποιου άλλου, με βάση τις ιδέες και τον κώδικα που έγραψα στο hackathon. Γνωρίζω επίσης μερικές ομάδες που συνέχισαν να συνεργάζονται με την εταιρεία ως σύμβουλοι. Δεν ξέρω τα τελικά αποτελέσματα, αλλά πιθανότατα κάτι ολοκληρώθηκε. Δεν έχω οργανώσει ο ίδιος startups και δεν ξέρω ότι έχει οργανώσει κανείς, αν και είμαι σίγουρος ότι υπάρχουν παραδείγματα.

Αφού συμμετείχε σε πολλά hackathons, τι συμβουλή θα έδινες στον εαυτό σου αν μπορούσες να γυρίσεις τον χρόνο πίσω;

  1. Οι τακτικές είναι πιο σημαντικές από τους ελιγμούς. Σκεφτείτε κάθε λύση ως ένα τελικό προϊόν. Μια ιδέα, ένας φορητός υπολογιστής Jupiter, ένας αλγόριθμος δεν αξίζουν τίποτα αν δεν είναι ξεκάθαρο ποιος θα το πληρώσει.
  2. Πριν σχεδιάσετε οτιδήποτε, απαντήστε στην ερώτηση όχι «τι;», αλλά «γιατί;» Και πως?". Παράδειγμα: όταν σχεδιάζετε οποιαδήποτε λύση ML, σκεφτείτε πρώτα τον ιδανικό αλγόριθμο: τι λαμβάνει ως είσοδο, πώς χρησιμοποιούνται οι προβλέψεις του στο μέλλον;
  3. Γίνε μέλος μιας ομάδας.

Τι τρέφονται συνήθως στα hackathons;
Συνήθως το φαγητό στα hackathons είναι φτωχό: πίτσα, ενεργειακά ποτά, σόδα. Σχεδόν πάντα το φαγητό οργανώνεται σε μπουφέ (ή τραπέζι σερβιρίσματος) στο οποίο υπάρχει τεράστια ουρά. Συνήθως δεν παρέχουν φαγητό τη νύχτα, αν και υπήρχε περίπτωση σε έναν διαγωνισμό στο Παρίσι όπου τα τρόφιμα αφέθηκαν όλη τη νύχτα - πατατάκια, ντόνατς και κόλα. Θα φανταστώ τη διαδικασία σκέψης των διοργανωτών: «Τι τρώνε λοιπόν εκεί οι προγραμματιστές; Α, ακριβώς! Τσιπς, ντόνατς - αυτό είναι όλο. Ας τους δώσουμε αυτά τα σκουπίδια». Την επόμενη μέρα ρώτησα τους διοργανωτές: «Παιδιά, είναι δυνατόν να κάνουμε κάτι διαφορετικό για τη βραδιά; Λοιπόν, ίσως λίγο χυλό;» Μετά από αυτό με κοίταξαν σαν να ήμουν ηλίθιος. Διάσημη γαλλική φιλοξενία.

Στα καλά hackathons, το φαγητό παραγγέλνεται σε κουτιά· υπάρχει διαχωρισμός σε κανονικά, χορτοφαγικά και kosher γεύματα. Επιπλέον, βάζουν ψυγείο με γιαούρτια και μούσλι - για όσους θέλουν να φάνε ένα σνακ. Τσάι, καφές, νερό - στάνταρ. Θυμάμαι το hackathon Hack Moscow 2 - με τάισαν εγκάρδια μπορς και κοτολέτες με πουρέ πατάτας στην καντίνα του γραφείου 1C.

Η λογική των hackathons εξαρτάται, ας πούμε, από την επαγγελματική σφαίρα των διοργανωτών (για παράδειγμα, τα καλύτερα hackathons διεξάγονται από συμβούλους);
Τα καλύτερα hackathons ήταν από διοργανωτές που είτε είχαν διοργανώσει hackathons στο παρελθόν είτε συμμετείχαν σε αυτά πριν. Ίσως αυτός είναι ο μόνος παράγοντας από τον οποίο εξαρτάται η ποιότητα της εκδήλωσης.

Πώς να καταλάβετε ότι δεν είστε noob και ότι ήρθε η ώρα για ένα hackathon;
Η καλύτερη στιγμή για να πάτε σε ένα hackathon είναι πριν από ένα χρόνο. Η δεύτερη καλύτερη στιγμή είναι τώρα. Γι' αυτό, κάντε λάθη, μάθετε - δεν πειράζει. Ακόμη και ένα νευρωνικό δίκτυο - η μεγαλύτερη εφεύρεση του ανθρώπου από τότε που ο τροχός και η κλίση ανεβαίνουν πάνω από τα δέντρα - δεν μπορεί να διακρίνει μια γάτα από έναν σκύλο στην πρώτη εποχή της εκπαίδευσης.

Ποιες «κόκκινες σημαίες» υποδεικνύουν αμέσως ότι η εκδήλωση δεν θα είναι πολύ καλή και δεν χρειάζεται να χάνουμε χρόνο;

  • Μια σαφής περιγραφή του τι πρέπει να γίνει (σχετικό για hackathons προϊόντων). Εάν κατά την εγγραφή σας δοθεί μια ξεκάθαρη εργασία, τότε είναι καλύτερα να μείνετε στο σπίτι. Στη μνήμη μου δεν υπήρχε ούτε ένα καλό hackathon με τεχνικές προδιαγραφές. Για σύγκριση: Εντάξει - κάντε μας κάτι σχετικό με την ανάλυση των ακουστικών συνομιλιών. Κακό - δημιουργήστε μας μια εφαρμογή που θα μπορούσε να χωρίσει μια συνομιλία σε δύο ξεχωριστά κομμάτια ήχου για κάθε άτομο.
  • Μικρό ταμείο βραβείων. Αν σας ζητηθεί να φτιάξετε το "Tinder for a online store with AI" και το έπαθλο για την πρώτη θέση είναι 500 ευρώ και ελάχιστο μέγεθος ομάδας 5 ατόμων, μάλλον δεν αξίζει να χάσετε τον χρόνο σας (ναι, αυτό είναι ένα πραγματικό hackathon που ήταν που πραγματοποιήθηκε στο Μόναχο).
  • Έλλειψη δεδομένων (σχετική για τα hackathons της επιστήμης δεδομένων). Οι διοργανωτές παρέχουν συνήθως βασικές πληροφορίες για την εκδήλωση και μερικές φορές ένα δείγμα δεδομένων. Αν δεν το έχουν προσφέρει, ρωτήστε, δεν θα σας κοστίσει τίποτα. Εάν εντός 2-3 δεν είναι ξεκάθαρο ποια δεδομένα θα δοθούν και αν θα παρασχεθούν καθόλου, αυτό είναι κόκκινο.
  • Νέοι διοργανωτές. Μην είστε τεμπέληδες και πληροφορίες Google σχετικά με τους διοργανωτές του hackathon. Αν διοργανώνουν μια τέτοια εκδήλωση για πρώτη φορά, υπάρχει μεγάλη πιθανότητα κάτι να πάει στραβά. Από την άλλη πλευρά, εάν ο διοργανωτής και τα μέλη της κριτικής επιτροπής έχουν ήδη διοργανώσει hackathons ή έχουν συμμετάσχει ενεργά στο παρελθόν, αυτό είναι μια πράσινη σημαία.

Σε ένα hackathon μου είπαν: «Είχες την καλύτερη λύση σε σύντομο χρονικό διάστημα, αλλά συγγνώμη, αξιολογούμε την ομαδική εργασία και δούλεψες μόνος σου. Τώρα, αν έπαιρνες έναν μαθητή ή ένα κορίτσι στην ομάδα σου...»; Έχετε συναντήσει ποτέ τέτοια αδικία; Πώς τα κατάφερες;
Ναι, το έχω συναντήσει περισσότερες από μία φορές. Είμαι στωικός για όλα όσα συμβαίνουν: έκανα ό,τι περνούσε από το χέρι μου, αν δεν πέτυχε, ας είναι.

Γιατί τα κάνεις όλα αυτά;
Όλα αυτά είναι απλά από βαρεμάρα.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο