Σχετικά με το ρόλο των δοκιμαστικών εργασιών στη ζωή ενός προγραμματιστή

Πόσες τεχνικές συνεντεύξεις είχατε στη ζωή σας;

Τα τελευταία πέντε χρόνια, έχω παρακολουθήσει 35 τεχνικές συνεντεύξεις κάθε είδους και ιδιαιτερότητας που μπορεί να φανταστεί κανείς - από νεοφυείς επιχειρήσεις του Καζακστάν για τη συλλογική αγορά κρέατος για το χειμώνα έως γερμανικές και αμερικανικές υπηρεσίες fintech και τράπεζες. με έμφαση στον προγραμματισμό, την παράδοση και τη διαχείριση· απομακρυσμένο και στο γραφείο? περιορισμένη και απεριόριστη χρονικά· αγχωτικό και χαλαρό, σε διάφορες γλώσσες.

Αυτό, σε συνδυασμό με τις ~ 20 συνεντεύξεις που έκανα ο ίδιος ως εργοδότης - επαρκής αριθμός για να γίνω ο βασιλιάς των συνεντεύξεων για να κάνω την ακόλουθη παρατήρηση (αρχικά εντελώς αφανής) και να εδραιωθώ σε αυτήν: Είμαι πεπεισμένος ότι σε μεγάλο βαθμό χάρη σε τόσες συνεντεύξεις, αρχίζει να μοιάζει με οριακή συνήθεια, μελέτησα το stack μου σε επαγγελματικό επίπεδο και έγινα ειδικός στον ανταγωνισμό, παρά το γεγονός ότι είχα ήδη εργαστεί στην ανάπτυξη ιστοσελίδων για 10 χρόνια.

Αυτό το άρθρο απευθύνεται σε προγραμματιστές που βρίσκονται στην αρχή του ταξιδιού τους και δεν έχουν εξαντλήσει ακόμα το βάθος των γνώσεών τους. Σε αυτό, θέλω να επεκτείνω τη διατριβή σχετικά με τα κολοσσιαία εκπαιδευτικά οφέλη των δοκιμαστικών εργασιών και των τεχνικών ερωτήσεων που γίνονται σε συνεντεύξεις - και να προσκαλέσω όλους στο νεογραμμένο bot τηλεγραφήματος μου ActualizeBot, όπου, σύμφωνα με το σχέδιό μου, μπορείτε να πάρετε μια τεχνική συνέντευξη τουλάχιστον κάθε μέρα μέχρι να τελειώσουν. Και για να μην τελειώνουν, μπορείτε επίσης να μοιραστείτε μια ενδιαφέρουσα τεχνική εργασία, ερώτηση ή μια χρήσιμη/διασκεδαστική κατάσταση που βιώσατε κατά τη διάρκεια μιας συνέντευξης.

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

Γιατί η ποιότητα των θεμελιωδών γνώσεών μας αφήνει πολλά περιθώρια;

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

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

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

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

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

Σε σχέση με τη μητρική μου JavaScript, υπάρχει ένα καλό παράδειγμα - αν δεν είχε εμφανιστεί το React.JS, το 98% των προγραμματιστών JavaScript θα συνέχιζαν επιτυχώς να ζουν σε μακάρια άγνοια για το τι είναι bind - περισσότερα από 20 χρόνια μετά την εμφάνισή του - και θα συνέχιζαν να μπερδευτείτε , να λαμβάνετε ερωτήσεις σχετικά με αυτό στις συνεντεύξεις και μόνο όσοι επινοούν όλες αυτές τις εξαιρετικά αφηρημένες βιβλιοθήκες, πλαίσια και ενότητες θα συνέχιζαν να εργάζονται με αυτό. Σήμερα, χάρη στην αντίδραση, ο αριθμός αυτός έχει μειωθεί στο 97%.

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

Ποιες είναι οι συνέπειες της έλλειψης θεμελιωδών γνώσεων μιας γλώσσας;

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

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

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

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

ActualizeBot

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

Το bot έχει επί του παρόντος 3 απλές λειτουργίες:

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

Επί του παρόντος, οι ακόλουθες γλώσσες είναι διαθέσιμες για επιλογή: JavaScript, Java, Python, PHP, MySQL. Η επιλογή είναι κάπως περιορισμένη λόγω των ορίων της κατανόησής μου. Ελπίζω να προσθέσω σε αυτήν τη λίστα με τη βοήθεια της κοινότητας της habra.

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

Εν συντομία για την τεχνική υλοποίηση

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

Το πλαίσιο είναι χτισμένο με βάση το Telegraf.JS και το TypeScript, η πρώτη του έκδοση zero-zero, εξοπλισμένη με ένα παράδειγμα χρήσης, μπορεί να προβληθεί στη διεύθυνση github και δοκιμάστε το αμέσως. Σύντομα θα ανεβάσω την έκδοση 0.0.2, διευρυμένη και χτενισμένη για ένα άτομο από το εξωτερικό, και θα αφιερώσω ένα ξεχωριστό άρθρο σε αυτό (τον κορμό). Θα χαρώ αν αποδειχθεί ότι είναι τόσο σχετικό για κάποιον όσο είναι για μένα.

Λοιπόν, πόσες συνεντεύξεις έπρεπε να παρακολουθήσετε;
Είμαι σίγουρος ότι έχεις κάτι να πεις!

Πηγή: www.habr.com

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