Πώς να αποκτήσετε δουλειά μηχανικού λογισμικού στο Google και σε άλλες κορυφαίες εταιρείες τεχνολογίας

Γεια σε όλους!

Έχω ήδη μιλήσει για το πώς πήρα προσωπικά δουλειά ως μηχανικός λογισμικού στο Google σε μερικά βίντεο στο κανάλι προγραμματισμού-εκπαίδευσης στο YouTube που ονομάζεται CS Dojo.

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

Μπορείτε να χρησιμοποιήσετε την ίδια στρατηγική για να αποκτήσετε δουλειά μηχανικής λογισμικού όχι μόνο στην Google, αλλά και σε άλλες κορυφαίες εταιρείες τεχνολογίας όπως η Amazon, η Microsoft και το Facebook.

Σε αυτό το άρθρο, θα σας δείξω τη διαδικασία 6 βημάτων για την απόκτηση εργασίας σε μία από αυτές τις εταιρείες. Στην πορεία, θα συζητήσω επίσης:

  • Πώς να μάθετε να κωδικοποιείτε πρώτα
  • Τι να μάθετε αφού μάθετε να κωδικοποιείτε
  • Πώς να αποκτήσετε την πρώτη σας εργασία κωδικοποίησης ή πρακτική άσκηση
  • Οι καλύτεροι τρόποι υποβολής αιτήσεων για εργασίες μηχανικού λογισμικού
  • Πόσο καλύτερα να προετοιμαστείτε για προγραμματισμένες συνεντεύξεις
  • Είναι σημαντικό να αποκτήσετε πτυχίο επιστήμης υπολογιστών;
  • Είναι σημαντικό να πας σε ένα κορυφαίο πανεπιστήμιο;

Εντάξει, ας ξεκινήσουμε!

Βήμα 1: Μάθετε να κωδικοποιείτε

Αυτό είναι το απόλυτο ελάχιστο προσόν που χρειάζεστε για να γίνετε μηχανικός λογισμικού.

Για αυτό, θα σας συνιστούσα να ξεκινήσετε με έναν διαδραστικό ιστότοπο όπως το Codecademy και το freeCodeCamp. Μπορείτε να μάθετε τα περισσότερα από τα βασικά στοιχεία προγραμματισμού από αυτούς τους ιστότοπους. Άκουσα επίσης ότι το SoloLearn είναι επίσης καλό.

Μετά από αυτό, θα χρησιμοποιούσα εκπαιδευτικά βίντεο για να μάθω πιο προηγμένα θέματα. Προτείνω ιστότοπους όπως το YouTube, το Pluralsight, το Lynda.com και το Udemy για αυτό. Σε αυτούς τους ιστότοπους, θα πρέπει να μπορείτε να βρείτε μαθήματα σε θέματα όπως:

  • Ανάπτυξη διαδικτύου
  • Κινητή ανάπτυξη
  • Ανάπτυξη παιχνιδιών

ανάλογα με το ενδιαφέρον σας.

Αλλά περιμένετε, ποια γλώσσα προγραμματισμού πρέπει να μάθω πρώτα;

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

Βήμα 2: Εργαστείτε σε μερικά προσωπικά έργα

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

Για αυτό, θα πρέπει να βρείτε κάτι που σας ενδιαφέρει να χτίσετε.

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

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

Βήμα 3: Αποκτήστε την πρώτη σας εργασία προγραμματισμού ή την πρακτική σας

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

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

Οι καλύτεροι τρόποι υποβολής αιτήσεων για εργασίες μηχανικού λογισμικού

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

Αντ 'αυτού, θα συνιστούσα τη χρήση του LinkedIn και της προσωπικής δικτύωσης για να αποκτήσετε την πρώτη σας εργασία προγραμματισμού.

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

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

Περίμενε, περίμενε, αλλά δεν είναι μόνο αυτό.

Η χρήση του LinkedIn και η προσωπική δικτύωση λειτουργούν καλά αν κάνετε αίτηση σε μικρές έως μεσαίες εταιρείες. Ωστόσο, διαπίστωσα ότι αυτές οι στρατηγικές είναι λιγότερο αποτελεσματικές για πιο δημοφιλείς εταιρείες όπως το Google και το Facebook.

Για αυτές τις μεγάλες εταιρείες, αντ 'αυτού, προτείνω να συνδυάσετε τις ακόλουθες τρεις στρατηγικές:

  1. Εκθέσεις καριέρας και εκδηλώσεις πρόσληψης σε πανεπιστήμια κοντά σας.
  2. Λάβετε αναφορά από φίλους που εργάζονται σε μία από αυτές τις εταιρείες
  3. Απλώς κάντε αίτηση στο διαδίκτυο.

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

Παρεμπιπτόντως, δεν είμαι ακριβώς σίγουρος γιατί το LinkedIn είναι λιγότερο αποτελεσματικό με αυτές τις μεγάλες εταιρείες, αλλά νομίζω ότι μπορεί να συμβαίνει επειδή λαμβάνουν πάρα πολλά μηνύματα. Βασικά, είναι πολύ δημοφιλείς εκεί: P

Βήμα 4: Μάθετε δομές δεδομένων και αλγόριθμους

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

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

Δεδομένου ότι υπάρχουν μόνο 7 βίντεο σε αυτήν τη σειρά, θα χρειαστείτε περισσότερο υλικό για να μάθετε πιο προηγμένα θέματα.

Υπάρχουν πολλές δημοφιλείς επιλογές για αυτό, όπως:

  • Αυτά τα μαθήματα του Στάνφορντ στο Coursera
  • Αυτό το μάθημα MIT στο YouTube
  • Το Εγχειρίδιο Σχεδιασμού Αλγορίθμου από τη Skiena (ένα βιβλίο)
  • Αλγόριθμοι (άλλο βιβλίο)

Θα πρέπει να δοκιμάσετε μερικά από αυτά και να συνεχίσετε με αυτό που σας αρέσει περισσότερο.

Βήμα 5: Προετοιμαστείτε για κωδικοποίηση συνεντεύξεων

Οι συνεντεύξεις κωδικοποίησης σε εταιρείες όπως η Google και η Microsoft είναι δύσκολες, αλλά είναι κάπως απλό να προετοιμαστούν για αυτές.

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

  • Leetcode - μια διαδραστική πλατφόρμα για την εξάσκηση κωδικοποίησης προβλημάτων συνέντευξης.
  • Cracking the Coding Interview - ένα δημοφιλές βιβλίο για τις συνεντεύξεις κωδικοποίησης.
  • Ημερήσιο πρόβλημα κωδικοποίησης - μια λίστα αλληλογραφίας που σας δίνει ένα πρόβλημα την ημέρα.

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

Πώς να κάνετε ψεύτικες συνεντεύξεις

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

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

Φροντίστε να εξασκηθείτε τόσο ως ερωτώμενος όσο και ως ερευνητής, ώστε να μπορείτε να δείτε πώς είναι να είστε στα παπούτσια του ερευνητή.

Μόλις κάνετε περίπου 20 ψεύτικες συνεντεύξεις, θα πρέπει να είστε έτοιμοι να ξεκινήσετε συνεντεύξεις με τις εταιρείες για τις οποίες θέλετε να εργαστείτε.

Βήμα 6: Εφαρμογή, εφαρμογή και εφαρμογή ξανά :)

Χρησιμοποιήστε τις τρεις στρατηγικές που ανέφερα παραπάνω για εφαρμογή σε κορυφαίες εταιρείες τεχνολογίας:

  • πρόσληψη εκδηλώσεων / εκθέσεων σταδιοδρομίας
  • να ζητήσετε από τους φίλους σας να σας παραπέμπουν
  • και να κάνετε αίτηση στο διαδίκτυο.

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

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

Αυτό είναι! Ακολουθεί μια γρήγορη ανακεφαλαίωση:

  • Βήμα 1: Μάθετε να κωδικοποιείτε
  • Βήμα 2: Εργαστείτε σε μερικά προσωπικά έργα
  • Βήμα 3: Αποκτήστε την πρώτη σας εργασία προγραμματισμού ή την πρακτική σας
  • Βήμα 4: Μάθετε δομές δεδομένων και αλγόριθμους
  • Βήμα 5: Προετοιμαστείτε για κωδικοποίηση συνεντεύξεων
  • Βήμα 6: Εφαρμογή, εφαρμογή και εφαρμογή ξανά :)

Περιμένετε, είναι πραγματικά τόσο απλό;

Ναι είναι. Ακόμα, χρειάζεται πολύς χρόνος και αφοσίωση για να περάσουμε και τα 6 βήματα.

Μερικές ακόμη σημειώσεις:

Χρειάζομαι πτυχίο επιστήμης υπολογιστών;

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

Χωρίς να λάβετε πτυχίο CS, απλά θα πρέπει να μάθετε περισσότερα μόνοι σας.

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

Πρέπει να πάω σε ένα κορυφαίο πανεπιστήμιο όπως το MIT, το Stanford, το Carnegie Mellon κ.λπ.;

Και πάλι, η σύντομη απάντηση είναι όχι. Μάλλον βοηθά λίγο, αλλά απέχει πολύ από το απαραίτητο.

Ο Laszlo Bock, πρώην Ανώτερος Αντιπρόεδρος της People Operations στην Google, συμφωνεί επίσης.

Σύμφωνα με το βιβλίο που έγραψε, Work Rules !, η Google προτιμά τους μαθητές με τις υψηλότερες επιδόσεις σε λιγότερο γνωστά σχολεία από τους μαθητές μέτριας απόδοσης σε κορυφαία σχολεία όπως το MIT.

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

Χρειάζομαι υψηλή GPA;

Η σύντομη απάντηση είναι όχι, ξανά.

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

Στην πραγματικότητα, σύμφωνα με τους Κανονισμούς Εργασίας!, Η Google στο παρελθόν ενδιαφερόταν πολύ για τις ΣΔΣ των υποψηφίων. Ωστόσο, διαπίστωσαν ότι η υψηλή ΣΔΣ δεν συσχετίζεται στενά με την επίτευξη μακροπρόθεσμης ισχυρής απόδοσης στο χώρο εργασίας. Μετά από αυτό το εύρημα, σταμάτησαν να δίνουν μεγάλη έμφαση στα ΣΔΣ.

Τι χρειάζομαι τότε;

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

Θα μπορείτε να δημιουργήσετε όλα αυτά αν ακολουθήσετε τα 6 βήματα που εξήγησα παραπάνω.

Περιμένετε, πώς μπορώ να γράψω ένα καλό βιογραφικό ;

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

  • Εδώ είναι η έκδοση PDF.
  • Εδώ είναι το Word.
  • Εδώ είναι αυτό για τις σελίδες.

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

Πρόσθετοι πόροι για τη σύνταξη ενός βιογραφικού :

  • Υπάρχει μια ωραία επισκόπηση σχετικά με αυτό το θέμα στο CareerCup εδώ.
  • Η φίλη μου Zhia Hwa Chong, που είναι μηχανικός λογισμικού στο Twitter, έχει ένα ωραίο άρθρο για αυτό εδώ.

Εντάξει, καλή τύχη και σας ευχαριστώ που διαβάσατε αυτό το άρθρο!

Εάν έχετε οποιεσδήποτε ερωτήσεις, ενημερώστε με σε ένα σχόλιο παρακάτω ή στο Instagram ή στο Twitter (@ykdojo και στα δύο).