Ας μιλήσουμε για συνεντεύξεις στο whiteboarding και τις πιθανές εναλλακτικές λύσεις

Δεν είναι ειδήσεις σε κανέναν ότι πολλοί μηχανικοί μισούν ερωτήσεις συνέντευξης με βάση τον πίνακα.

Είτε πρόκειται για Twitter, Medium ή LinkedIn, είναι εύκολο να βρείτε κάποιον εξαερισμό. Η φράση «η διαδικασία πρόσληψης είναι σπασμένη» χρησιμοποιείται τόσο συχνά και γίνεται κλισέ.

Δυστυχώς, μεγάλο μέρος αυτής της απογοήτευσης πέφτει στα κωφά αυτιά.

Παρά τη φήμη της οργής που το περιβάλλει, το "whiteboarding" εξακολουθεί να αποτελεί βασικό στοιχείο σε συνεντεύξεις μηχανικής λογισμικού. Μέρος αυτού οφείλεται στο γεγονός ότι οι προγραμματιστές εκφράζουν γρήγορα τη δυσαρέσκειά τους, αλλά αργά προσφέρουν καλύτερες εναλλακτικές λύσεις.

Υπάρχουν καλύτερες εναλλακτικές λύσεις;

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

Έχοντας βρεθεί στην άλλη πλευρά του τραπεζιού μόλις πριν από ένα μήνα, καταλαβαίνω πόσο ακριβής μπορεί να είναι η συνέντευξη. Όταν είναι η σειρά μου να κάνω τις ερωτήσεις, θέλω να βεβαιωθώ ότι αξιολογώ τους πιθανούς συναδέλφους μου με ακρίβεια και δικαιοσύνη.

Αυτή η κατάσταση με οδήγησε σε δύο ερωτήσεις:

  1. Οι whiteboarding συνεντεύξεις είναι η καλύτερη επιλογή;
  2. Εάν όχι, ποιες είναι οι καλύτερες εναλλακτικές λύσεις;

Σε αυτήν την ανάρτηση, θα προσπαθήσω να απαντήσω σε αυτές τις ερωτήσεις. Λάβετε υπόψη ότι αυτές είναι οι προσωπικές μου απόψεις που διαμορφώθηκαν από τη δική μου συνέντευξη.

Θα προσπαθήσω να είμαι όσο το δυνατόν πιο αντικειμενικός προσεγγίζοντας αυτήν την εργασία με πραγματικό τρόπο μηχανικής λογισμικού: εξετάζοντας όλες τις επιλογές και σταθμίζοντας τις αντισταθμίσεις τους.

Οι whiteboarding συνεντεύξεις είναι οι χειρότερες;

Το πρώτο βήμα σε αυτήν τη διαδικασία είναι να ελέγξετε τον πίνακα.

Πλεονεκτήματα:

  1. Γρήγορη και χαμηλή προσπάθεια
  2. Δεν εξαρτάται από τη γλώσσα ή τον τομέα
  3. Ξέρετε (γενικά) τι να περιμένετε
  4. Υποστήριξη κοινότητας (Glassdoor, LeetCode, Pramp και ούτω καθεξής)

Μειονεκτήματα:

  1. Η τύχη είναι ένας μεγάλος παράγοντας (αλγόριθμος λαχείας)
  2. Δεν ελέγχει απαραίτητα την ικανότητα μηχανικής
  3. Ευνοεί νέους μηχανικούς και πρόσφατους πτυχιούχους

Για εταιρείες που απαιτούν μηχανικούς να έχουν ισχυρή αντίληψη για τις βασικές αρχές CS, αλγόριθμους χαμηλού επιπέδου και δεν εξαρτώνται από βιβλιοθήκες, η συνέντευξη whiteboarding είναι τέλεια.

SpaceX, MacOS / Windows και Facebook's React δημιουργήθηκαν από μηχανικούς με τέτοιες γνώσεις. Για να λάβετε μια συνέντευξη από μια από αυτές τις εταιρείες, είναι αναμενόμενο.

Ως υποψήφιος για δουλειά, μου αρέσουν οι συνεντεύξεις στο whiteboarding. Ξέρω τι να περιμένω. Οι περισσότερες ερωτήσεις αλγορίθμων εμπίπτουν σε αυτά τα γενικά θέματα:

  • Πίνακες / Χορδές
  • Δυαδικά δέντρα
  • Συνδεδεμένες λίστες
  • DFS / BFS
  • Οπισθοδρόμηση
  • Δυναμικός προγραμματισμός

Γνωρίζοντας αυτό εκ των προτέρων σημαίνει ότι μπορώ να το μελετήσω. Και υπάρχει μια πληθώρα μελετών εργαλείων για να διαλέξετε. Η προετοιμασία τεχνικής συνέντευξης είναι μια ολόκληρη βιομηχανία από μόνη της.

Γι 'αυτόν τον λόγο οι συνεντεύξεις στο whiteboarding δεν είναι η καλύτερη επιλογή για κάθε εταιρεία. Τόσο μεγάλο μέρος καταλήγει σε τύχη, απομνημόνευση, και όποιος έχει περάσει τον περισσότερο χρόνο σπουδές.

Δεν μπορούν όλοι να μελετήσουν για μεγάλο χρονικό διάστημα για να κυριαρχήσουν αλγόριθμους.

Ήμουν τυχερός που μπορούσα και ξεπέρασα άλλους μηχανικούς που δεν μπορούσαν. Είμαι καλύτερος μηχανικός από όλους; Ίσως, αλλά δεν είμαι σίγουρος ότι η συνέντευξη στο whiteboarding είναι ο καλύτερος τρόπος για να το αποκαλύψω.

Έτσι, εάν υπάρχει αμφιβολία ότι η συνέντευξη whiteboarding είναι το καλύτερο εργαλείο για τη δουλειά, τι θα μπορούσε να είναι καλύτερο;

Ας ρίξουμε μια ματιά σε μερικές από τις εναλλακτικές λύσεις.

Κωδικοποίηση προκλήσεων μέσω υπολογιστή

Πλεονεκτήματα:

  1. Χρησιμοποιήστε έναν υπολογιστή και οικείο περιβάλλον προγραμματιστή
  2. Μπορεί να γίνει απομακρυσμένα μέσω κοινής χρήσης οθόνης
  3. Όλα τα άλλα πλεονεκτήματα των συνεντεύξεων whiteboarding

Μειονεκτήματα:

  1. Πιο αυστηρή σχετικά με τη σύνταξη και την ικανότητα λειτουργίας.
  2. Το περιβάλλον προγραμματισμού και τα πρόσθετα μπορούν να παίξουν σημαντικό παράγοντα
  3. Ίδια μειονεκτήματα των συνεντεύξεων whiteboarding

Οι προκλήσεις κωδικοποίησης σε φορητό υπολογιστή είναι ο λιγότερο αυστηρός ξάδερφος της συνέντευξης whiteboarding.

Οι υποψήφιοι έχουν το πλεονέκτημα να χρησιμοποιούν τους δικούς τους υπολογιστές. Μπορούν να γίνουν απομακρυσμένα ή σε περιβάλλον προγραμματισμού ζευγών.

Ένα ωραίο πράγμα που έχω παρατηρήσει σχετικά με αυτά είναι ότι θα είναι συνήθως πιο εύκολο από τις ερωτήσεις whiteboarding. Οι περισσότερες από τις ερωτήσεις που αφορούσα χειρισμό συμβολοσειρών ή απλούς αλγόριθμους για τους οποίους δεν θα χρειαζόταν να μελετήσει κάποιος έμπειρος μηχανικός.

Το μειονέκτημα είναι ότι υπάρχει πολύ μεγαλύτερη έμφαση στη λειτουργικότητα.

Κατά τη διάρκεια της εργασίας μου, μου ζητήθηκε το πρόβλημα της αλλαγής νομισμάτων δύο φορές. Το ένα ως πρόκληση στον πίνακα και το άλλο σε έναν συντάκτη.

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

Μέρος του λόγου που μου αρέσει το whiteboarding οφείλεται στην επιεικία. Κανείς δεν πρόκειται να εκτελέσει τη γραπτή σας λειτουργία μέσω ενός μεταγλωττιστή. Εφόσον ο ερευνητής καταλαβαίνει τι σκέφτεστε και το γράψιμο φαίνεται αρκετά καλό, έχετε πλήρη πίστωση.

Όχι έτσι με τις προκλήσεις κώδικα.

Κάποιοι μπορεί να υποστηρίξουν ότι η έμφαση στη λειτουργικότητα είναι καλύτερη, επειδή πληρώνουμε για τη σύνταξη κώδικα εργασίας. Αυτό είναι αλήθεια, αλλά δεν πληρώνουμε για να το κάνουμε σε 30-45 λεπτά σπριντ.

Ας ελπίσουμε απλώς να μην ανησυχείτε κατά τη διάρκεια συνεντεύξεων. Ένα μικρό σφάλμα που προκαλεί αποτυχημένες δοκιμές και αρκετά λεπτά εντοπισμού σφαλμάτων θα μπορούσε να είναι η διαφορά μεταξύ ενός «ισχυρού μίσθωσης» ή ενός περάσματος.

Οι προκλήσεις κώδικα εξακολουθούν να υφίστανται τις ίδιες σύντομες εμφανίσεις με το whiteboarding, επειδή πολλές από αυτές βασίζονται σε αλγόριθμους.

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

Κάντε αξιολογήσεις στο σπίτι

Πλεονεκτήματα:

  1. Μπορεί να δουλέψει πάνω του στις πιτζάμες σας
  2. Συνήθως χορηγείται πάνω από μία εβδομάδα για να δουλέψει στην εργασία
  3. Χρησιμοποιήστε το δικό σας πρόγραμμα επεξεργασίας και περιβάλλοντος προγραμματιστή
  4. Μπορεί να είναι μια νέα προσθήκη στο χαρτοφυλάκιο
  5. Συνήθως πιο διασκεδαστικό από το whiteboarding

Μειονεκτήματα:

  1. Το επίπεδο δυσκολίας μπορεί να κυμαίνεται δραστικά
  2. Πολύ περισσότερη προσπάθεια και χρονοβόρα παρά κωδικοποίηση προκλήσεων
  3. Μπορεί να εξαρτάται από τον τομέα
  4. Μπορεί να οδηγήσει σε ερπυσμό χαρακτηριστικών λόγω ανταγωνισμού
  5. Δεν αντιπροσωπεύει καθημερινή εργασία

Πολλοί μηχανικοί προτιμούν να κάνουν εργασίες στο σπίτι. Τα χρονοδιαγράμματα για την παράδοσή τους είναι συνήθως ευέλικτα και οι υποψήφιοι μπορούν να κωδικοποιήσουν. Δεν είναι τυχαίο ότι οι προγραμματιστές προτιμούν αυτό να στέκονται μπροστά από έναν πίνακα ενώ κρίνονται σιωπηλά.

Ωστόσο, οι δοκιμές στο σπίτι έχουν κάποια σημαντικά μειονεκτήματα.

Πρώτον, είναι εύκολο να χειριστούν.

Πολλές εταιρείες φιλοξενούν τις δοκιμές τους στο GitHub. Πληκτρολογήστε "Πρόκληση" ή "Δοκιμή" στην αναζήτηση GitHub και θα βρείτε πολλά. Αυτό θα δώσει στον καταλαβαίνω υποψήφιο αρκετό χρόνο για να ερευνήσει προληπτικά την πρόκληση.

Αυτό δεν είναι πραγματικά παράπονο. Λίγο περισσότερο από ένα πλεονέκτημα.

Αυτό που είναι ένα ζήτημα είναι ότι είναι αρκετά εύκολο να βρείτε απαντήσεις άλλων ανθρώπων σε αυτές τις προκλήσεις και να τις αντιγράψετε. Πολλοί μηχανικοί διατηρούν τις απαντήσεις για να αντιμετωπίσουν τις προκλήσεις στο σπίτι στα προφίλ τους στο GitHub.

Μπορείτε ακόμη και να το δοκιμάσετε μόνοι σας. Πληκτρολογήστε "Challenge" στην αναζήτηση GitHub και δείτε τι βρίσκετε.

Ζω δίπλα στα κεντρικά γραφεία του Etsy στο Μπρούκλιν και ήμουν περίεργος αν μπορούσα να βρω τις απαντήσεις σε μερικές από τις δοκιμές τους. Το "Etsy Challenge" αποκάλυψε τέσσερα. Υπήρχαν ακόμη περισσότερα στο "Etsy Test".

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

Δεύτερον, το επίπεδο δυσκολίας και ο χρόνος που απαιτείται για την ολοκλήρωση αυτών των προκλήσεων ποικίλλει πολύ.

Κατά τη διάρκεια του τελευταίου κυνηγιού εργασίας μου, μου δόθηκαν τέσσερις εργασίες στο σπίτι. Τρεις από τις εταιρείες είπαν ότι θα χρειαστούν μόνο 3-5 ώρες για να ολοκληρωθεί.

Με πήραν πολλές ημέρες.

Ο κύριος λόγος για αυτό ήταν επειδή οι προκλήσεις ήταν συχνά συγκεκριμένες στον τομέα. Απαίτησαν αρκετές ώρες έρευνας για έγγραφα API και νέες τεχνολογίες.

Η τέταρτη εταιρεία πήρε μια πρόκληση που θα μπορούσε εύκολα να πάρει μια εβδομάδα και μου έδωσε δύο ημέρες. Έπρεπε να δημιουργήσω μια λειτουργική εφαρμογή συνομιλίας που να υποστηρίζει κάθετο εντολές.

Ήταν ένα διασκεδαστικό και ενδιαφέρον έργο, αλλά μου ζήτησε να αφήσω όλα όσα έκανα για δύο ημέρες για να το ολοκληρώσω.

Εάν ένας υποψήφιος είναι αρκετά τυχερός για να πάρει συνέντευξη με πολλές εταιρείες ταυτόχρονα, μπορεί να γίνει πλήρης απασχόληση απλά δουλεύοντας σε αυτές τις προκλήσεις.

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

Συνολικά, μου αρέσει να λαμβάνω κατ 'οίκον εργασίες ως αρχική οθόνη της ικανότητας ενός υποψηφίου. Τούτου λεχθέντος, θα πρέπει να σχετίζονται με τη δουλειά που υποβάλλει ο υποψήφιος και δεν πρέπει να αφιερώσει άσεμνο χρόνο για να τελειώσει.

Με βάση το έργο / Σύμβαση προς ενοικίαση

Πλεονεκτήματα:

  1. Αποκτήστε την ευκαιρία να συνεργαστείτε με υποψήφιο / ομάδα
  2. Πληρωθείτε στη δουλειά
  3. Ξεκινήστε να εργάζεστε σε πραγματικά έργα
  4. Αξιολογούνται για το πόσο καλά εργάζεστε με τον κωδικό ομάδας και αποστολής

Μειονεκτήματα:

  1. Μακροχρόνια δέσμευση
  2. Εργασία χωρίς εγγύηση απασχόλησης
  3. Χωρίς οφέλη για την υγεία ως εργολάβος
  4. Μπορεί να βάλει τον υποψήφιο σε κακή διαπραγματευτική θέση
  5. Εξαρτάται από τη γλώσσα

Οι συνεντεύξεις βάσει έργου είναι σπάνιες. Ωστόσο, αρκετές εταιρείες βρίσκονται δίπλα τους, όπως η Basecamp και η Automatic. Καταλαβαίνω γιατί.

Αυτές οι συνεντεύξεις είναι ίσως ο πιο ακριβής τρόπος για να εκτιμήσετε την ικανότητα κάποιου και να τον αξιολογήσετε ως μέλος της ομάδας. Η εταιρεία συνεργάζεται άμεσα μαζί τους και βλέπει πώς χειρίζεται τις εργασίες σε μια ομάδα.

Ο υποψήφιος έχει επίσης την ευκαιρία να αξιολογήσει την εταιρεία και να καθορίσει εάν είναι ο τύπος περιβάλλοντος στο οποίο θα ήθελαν να εργαστούν.

Κερδίστε. Ή έτσι φαίνεται.

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

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

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

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

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

Μέχρι το τέλος μιας περιόδου σύμβασης προς ενοικίαση, ο δυνητικός υποψήφιος δεν θα έχει διαπραγματευτικές μάρκες. Δεν θα έχουν άλλες προσφορές και έχουν ήδη χύσει δεκάδες ή εκατοντάδες ώρες στα έργα τους ανάλογα με τη διάρκεια της σύμβασης.

Θα είχαν κίνητρα να πάρουν τη θέση ακόμα κι αν δεν είναι η προτιμώμενη επιλογή τους. Η εναλλακτική λύση είναι να επιστρέψετε στην αγορά εργασίας στο τετράγωνο.

Το Sunk Cost Fallacy στα καλύτερα του.

Ενώ οι συνεντεύξεις στο whiteboarding μπορεί να μην είναι ιδανικές, θα έκανα εκατό από αυτές πριν κάνω μια συνέντευξη βάσει έργου.

Ποιο είναι λοιπόν το καλύτερο;

Όπως ίσως μαντέψατε: Εξαρτάται ™.

Οι αντισταθμίσεις φαίνεται να είναι μεταξύ ταχύτητας και προσπάθειας έναντι ακρίβειας. Κάθε μέθοδος θυσιάζει τη μία για την άλλη. Εναπόκειται σε κάθε εταιρεία να κρίνει αυτές τις αντισταθμίσεις για τον εαυτό τους. Το SpaceX πιθανότατα θα έχει διαφορετική διαδικασία από τη μικρή εκκίνηση της Νέας Υόρκης.

Αυτό που είναι αλήθεια είναι ότι μια εταιρεία SaaS θα πρέπει να ζητά από τους υποψηφίους να γράψουν δυναμικούς αλγόριθμους προγραμματισμού εάν τους βοηθά να καθορίσουν τις δεξιότητες του μηχανικού. Όχι απλώς και μόνο επειδή το κάνει το Google.

Αν σχεδίαζα τη διαδικασία της συνέντευξης για την ομάδα μου στο DigitalOcean, θα χρησιμοποιούσα ένα μείγμα από αξιολογήσεις στο σπίτι και προκλήσεις κώδικα / ασκήσεις ζευγαρώματος. Θα εκτιμούσα επίσης την κατανόησή τους σχετικά με τη διαθεσιμότητα και τα κατανεμημένα συστήματα μέσω μιας συνεδρία Q&A και πρόκλησης σχεδιασμού συστήματος.

Τα καλά νέα είναι ότι η ομάδα μου το κάνει ήδη. Η σκληρή αλλά δίκαιη διαδικασία συνέντευξης της DigitalOcean ήταν ένας από τους λόγους που αποδέχτηκα την προσφορά τους. Μου απέδειξε ότι είχαν ήδη περάσει από αυτήν τη διαδικασία αυτοεξέτασης και ανακάλυψαν πώς να αξιολογούν δίκαια τους υποψηφίους τους.

Παρακαλώ επιτρέψτε μου να μάθω ποια είναι η προτιμώμενη μέθοδος συνέντευξης στα παρακάτω σχόλια!

Τέλος, για όλους εσάς τους μηχανικούς που θέλετε να δείτε τη διαδικασία της συνέντευξης να αλλάζει, αρχίστε να δημιουργείτε ιδέες. Έχω δει πάρα πολλούς μηχανικούς να μιλάνε για συνεντεύξεις στο whiteboarding για να συνεχίσουν τη διαδικασία μόλις προσληφθούν επειδή είναι πάρα πολύ δουλειά για να την αλλάξουμε.

Μην είσαι αυτό το άτομο.

Σταμάτα να παραπονιέσαι.

Βρείτε λύσεις.