Kako dobiti posao softverskog inženjera u Googleu i drugim vrhunskim tehnološkim tvrtkama

Pozdrav svima!

Već sam pričao o tome kako sam osobno dobio posao softverskog inženjera u Googleu u nekoliko videozapisa na svom YouTube programsko-obrazovnom kanalu pod nazivom CS Dojo.

Međutim, mnogi me ljudi i dalje pitaju kako dobiti posao u Googleu kao softverski inženjer. Dakle, evo mog članka koji objašnjava strategiju koju bih koristio.

Istu strategiju možete koristiti za dobivanje posla softverskog inženjeringa ne samo u Googleu, već i u drugim vrhunskim tehnološkim tvrtkama poput Amazona, Microsofta i Facebooka.

U ovom članku pokazat ću vam 6 koraka za pronalazak posla u jednoj od ovih tvrtki. Usput ću razgovarati i o:

  • Kako uopće naučiti kodirati
  • Što naučiti nakon učenja kodiranja
  • Kako dobiti svoj prvi posao kodiranja ili praksu
  • Najbolji načini za prijavljivanje za poslove softverskog inženjera
  • Kako se najbolje pripremiti za programske intervjue
  • Je li važno steći zvanje informatike?
  • Je li važno ići na vrhunsko sveučilište?

Ok, krenimo!

1. korak: naučite kodirati

Ovo je apsolutno minimalna kvalifikacija koja vam je potrebna da biste postali softverski inženjer.

Zbog toga bih vam preporučio da započnete s interaktivnim web mjestima poput Codecademy i freeCodeCamp. Većinu osnova programiranja možete naučiti s ovih web stranica. Također sam čuo da je i SoloLearn dobar.

Nakon toga koristio bih video tutorijale kako bih naučio naprednije teme. Za to preporučujem web stranice kao što su YouTube, Pluralsight, Lynda.com i Udemy. Na ovim web stranicama trebali biste moći pronaći vodiče o temama poput:

  • Web razvoj
  • Mobilni razvoj
  • Razvoj igara

ovisno o vašem interesu.

Ali čekajte, koji programski jezik trebam prvo naučiti?

Moj kratki odgovor bio bi, odaberite JavaScript ili Python, ali to stvarno ovisi o vašim interesima. Imam duži odgovor na ovo pitanje u ovom videu.

Korak 2: Radite na nekoliko osobnih projekata

Nakon što slijedite nekoliko tutorijala iz programiranja, trebali biste izraditi nekoliko osobnih projekata kako biste vježbali koristeći ono što ste naučili.

Za to biste trebali pronaći nešto što vas zanima gradnja.

Na primjer, ako volite fotografiju, možda možete izraditi web mjesto s portfeljem za sve svoje fotografije. Ako volite trgovati dionicama, možda možete izgraditi sustav koji za vas analizira karte dionica. Ili, ako uživate u rješavanju problema, možete se pokušati natjecati u natjecanju u kodiranju.

Kada radite na projektu, prvo gradite što više sami. Zatim, ako zapnete, potražite pomoć drugih pomoću mrežnih ili izvanmrežnih resursa. Na primjer, Stack Overflow možete koristiti za postavljanje određenih tehničkih pitanja ako zapnete u nečemu što se odnosi na programiranje.

Korak 3: Nabavite svoj prvi posao programiranja ili praksu

Nakon što napravite nekoliko osobnih projekata, trebali biste dobiti svoj prvi posao programiranja ili praksu. Pomoću nje imat ćete određeno iskustvo prije nego što započnete razgovore s vrhunskim tehnološkim tvrtkama.

Prvi posao možete dobiti u nekoj od vrhunskih tehnoloških tvrtki, no daleko je lakše i uobičajenije ga prvo dobiti u manje poznatoj tvrtki.

Najbolji načini za prijavljivanje za poslove softverskog inženjera

Jednostavno prijavljivanje za posao putem interneta nije nužno najbolja strategija, jer to uglavnom čine svi ostali.

Umjesto toga, preporučio bih da koristite LinkedIn i osobno umrežavanje da biste dobili svoj prvi posao programiranja.

Na LinkedInu prvo pronađite regrutere tvrtke u kojoj ste zainteresirani za rad. Zatim ih pitajte biste li bili kvalificirani za poziciju koja vas zanima. Također biste ih trebali pitati kako se možete bolje pripremiti ako još niste kvalificirani.

Za osobno umrežavanje preporučio bih web stranice poput Meetupa za upoznavanje inženjera i regrutera u lokalnim tvrtkama.

Čekaj, čekaj, ali to nije sve.

Korištenje LinkedIna i osobno umrežavanje dobro funkcionira ako se prijavljujete malim i srednjim tvrtkama. Međutim, otkrio sam da su ove strategije manje učinkovite za popularnije tvrtke kao što su Google i Facebook.

Umjesto toga, za ove velike tvrtke preporučujem kombiniranje sljedeće tri strategije:

  1. Sajmovi karijera i regrutacijski događaji na sveučilištima u vašoj blizini.
  2. Neka vas preporuče prijatelji koji rade u nekoj od ovih tvrtki
  3. Jednostavno se prijavite putem interneta.

Kombinacija svih ovih strategija pomoći će vam da povećate šanse za intervju s jednom od ovih vrhunskih tehnoloških tvrtki.

Inače, nisam točno siguran zašto je LinkedIn manje učinkovit s tim velikim tvrtkama, ali mislim da bi to moglo biti zato što dobivaju previše poruka. Uglavnom, tamo su previše popularni: P

Korak 4: Naučite strukture podataka i algoritme

Vrhunske tehnološke tvrtke poput Googlea i Microsofta u svojim intervjuima često postavljaju pitanja o strukturi podataka i algoritmima. Dakle, trebali biste ih naučiti ako još niste.

Kako bih naučio osnove, preporučio bih svoju video seriju o strukturi podataka i algoritmima. Sve je to na YouTubeu. Napravio sam ove videozapise kako bih što jednostavnije upoznao ovu temu.

Budući da u ovoj seriji postoji samo 7 videozapisa, trebat će vam više materijala da biste naučili naprednije teme.

Postoji nekoliko popularnih opcija za to, uključujući:

  • Ovi tečajevi na Stanfordu na Courseri
  • Ovaj MIT tečaj na YouTubeu
  • Priručnik za dizajn algoritma, Skiena (knjiga)
  • Algoritmi (druga knjiga)

Isprobajte nekoliko od njih i nastavite s onim koji vam se najviše sviđa.

Korak 5: Pripremite se za kodiranje intervjua

Intervjui za kodiranje u tvrtkama poput Googlea i Microsofta su teški, ali donekle je jednostavno pripremiti se za njih.

Nakon što dobro razumijete strukture podataka i algoritme, preporučio bih ova tri resursa za vježbanje:

  • Leetcode - interaktivna platforma za vježbanje problema s kodiranjem intervjua.
  • Cracking the Coding Interview - popularna knjiga o kodiranju intervjua.
  • Svakodnevni problem kodiranja - mailing lista koja vam daje jedan problem dnevno.

Nakon što ste samostalno vježbali nekoliko tjedana, trebali biste početi raditi lažne intervjue.

Kako raditi lažne intervjue

U osnovi, uparite se sa svojim prijateljima i zadajte si probleme iz resursa koje sam gore spomenuo.

Zatim svaki problem riješite na papiru ili na Google dokumentu. Objasnite svoje rješenje svom prijatelju.

Obavezno vježbajte i kao sugovornik i kao anketar kako biste mogli vidjeti kako je biti na mjestu intervjuera.

Kad odradite 20-ak lažnih intervjua, trebali biste biti spremni za razgovor s tvrtkama u kojima želite raditi.

Korak 6: Prijavite se, primijenite i prijavite ponovo :)

Koristite tri gore spomenute strategije za primjenu na vrhunske tehnološke tvrtke:

  • regrutiranje događaja / sajmova karijere
  • natjerati prijatelje da vas upute
  • i prijave putem interneta.

Ako ne stignete prvi put, ne brinite. U stvari, trebali biste očekivati ​​neke neuspjehe jer je ulazak u bilo koju od ovih tvrtki konkurentan.

Za mene osobno trebao sam se pet puta prijaviti za Google prije nego što sam tamo zaposlio svoj posao softverskog inženjera.

To je to! Evo kratkog sažetka:

  • 1. korak: naučite kodirati
  • Korak 2: Radite na nekoliko osobnih projekata
  • Korak 3: Nabavite svoj prvi posao programiranja ili praksu
  • Korak 4: Naučite strukture podataka i algoritme
  • Korak 5: Pripremite se za kodiranje intervjua
  • Korak 6: Prijavite se, primijenite i prijavite ponovo :)

Čekaj, je li stvarno tako jednostavno?

Da je. Ipak, potrebno je puno vremena i predanosti da biste prošli svih 6 koraka.

Još nekoliko napomena:

Trebam li steći zvanje informatike?

Kratki odgovor je negativan. Međutim, stjecanje diplome informatike puno pomaže. Ako uzmete solidan CS program, on će se pobrinuti za većinu koraka 1, 2, 3 i 4 (učenje programiranja, izrada osobnih projekata, dobivanje prvog posla za programiranje ili praksu te učenje struktura podataka i algoritama).

Bez polaganja CS-a, samo ćete morati više naučiti sami.

Također, imajte na umu da je čak i sa CS diplomom potrebno puno rada da bi se dobio posao softverskog inženjera u jednoj od ovih tvrtki.

Trebam li ići na vrhunsko sveučilište poput MIT-a, Stanforda, Carnegiea Mellona itd.?

Opet, kratki je odgovor negativan. Vjerojatno malo pomaže, ali daleko je od nužde.

S tim se slaže i Laszlo Bock, bivši viši potpredsjednik odjela za ljudske operacije u Googleu.

Prema knjizi koju je napisao, Work Rules !, Google preferira učenike s najboljim rezultatima u manje poznatim školama od učenika s osrednjim uspjehom u vrhunskim školama poput MIT-a.

Mislim da ovo ima smisla, jer ako ste pametni i predani, ne bi trebalo biti previše važno u koju ste školu išli.

Moram li imati visoki prosjek prosjeka?

Kratki odgovor je opet, ne.

Imati visok GPA vjerojatno pomalo pomaže i za dobivanje intervjua, ali vjerojatno je mnogo važnije imati solidno praktično iskustvo i zanimljive projekte koje ćete pokazati u svom životopisu.

Zapravo, prema Pravilima rada! Google je u prošlosti mnogo brinuo o prosjeku prosjeka ocjena kandidata. Međutim, otkrili su da visoki prosjek prosjeka prosječnih bodova nije u velikoj korelaciji s dugoročnim snažnim performansama na radnom mjestu. Nakon tog nalaza, prestali su stavljati tako snažan naglasak na ocjene.

Što mi onda treba?

U osnovi, sve što vam treba su snažno kodiranje i vještine rješavanja problema, dobro razumijevanje osnova CS-a i zanimljivi projekti i iskustvo koje ćete pokazati u svom životopisu.

Sve ćete to moći izraditi ako slijedite 6 koraka koje sam gore objasnio.

Čekajte, kako mogu napisati dobar životopis ?

Ako želite, možete upotrijebiti životopis koji sam koristila za Google kao predložak.

  • Evo PDF verzije.
  • Evo jednog za Word.
  • Evo onog za Pages.

To je stvarni životopis koji sam koristila da bih dobila posao u Googleu kao softverski inženjer. To bi doista trebala biti jedna stranica, pa bih rekao da je moj rezime bio predugačak. Ipak, slobodno ga koristite kao početnu točku.

Dodatni resursi za pisanje rezimea :

  • Ovdje je lijep pregled o ovoj temi na CareerCup-u.
  • Moja prijateljica Zhia Hwa Chong, koja je softverski inženjer na Twitteru, ovdje ima lijep članak o tome.

U redu, sretno i hvala vam što ste pročitali ovaj članak!

Ako imate pitanja, javite mi u komentaru ispod ili na Instagramu ili Twitteru (@ykdojo na oba).