Kuidas saada tarkvarainseneri tööd Google'is ja teistes tipptehnoloogia ettevõtetes

Tere kõigile!

Olen juba rääkinud sellest, kuidas sain isiklikult Google'is tarkvarainseneri töökoha mõne video kaudu minu programmeerimishariduse YouTube'i kanalil CS Dojo.

Paljud inimesed küsivad minult siiski, kuidas saada tarkvarainsenerina tööd Google'is. Niisiis, siin on minu artikkel, mis selgitab strateegiat, mida ma kasutaksin.

Sama strateegia abil saate tarkvara inseneritöö saada mitte ainult Google'is, vaid ka teistes tipptehnoloogiaettevõtetes, näiteks Amazon, Microsoft ja Facebook.

Selles artiklis näitan teile 6-etapilist protsessi töökoha otsimiseks ühes neist ettevõtetest. Tee ääres kavatsen ka arutada:

  • Kuidas kõigepealt õppida koodima
  • Mida õppida pärast kodeerimise õppimist
  • Kuidas saada oma esimene kodeerimistöö või praktikakoht
  • Parimad viisid tarkvarainseneri töökohtadele kandideerimiseks
  • Kuidas oleks kõige parem valmistuda intervjuude programmeerimiseks?
  • Kas on oluline saada infotehnoloogia kraad?
  • Kas on oluline minna tippülikooli?

Olgu, alustame!

1. samm: õppige koodima

See on tarkvarainseneriks saamiseks absoluutne miinimumkvalifikatsioon.

Selle jaoks soovitaksin teil alustada interaktiivse veebisaidiga, näiteks Codecademy ja freeCodeCamp. Nendest saitidest saate õppida enamikku programmeerimise põhialustest. Kuulsin ka, et ka SoloLearn on hea.

Pärast seda kasutaksin edasiste teemade õppimiseks videoõpetusi. Soovitan selleks selliseid veebisaite nagu YouTube, Pluralsight, Lynda.com ja Udemy. Nendel veebisaitidel peaksite olema võimalik leida õpetusi sellistel teemadel nagu:

  • Veebiarendus
  • Mobiilne arendus
  • Mängu arendamine

sõltuvalt teie huvist.

Kuid oodake, millist programmeerimiskeelt peaksin kõigepealt õppima?

Minu lühike vastus oleks: valige kas JavaScript või Python, kuid see sõltub tõesti teie huvidest. Selle video küsimuses on mul pikem vastus.

2. samm: töötage mõne isikliku projekti kallal

Pärast mõne programmeerimisõpetuse järgimist peaksite õpitud õppetöö abil harjutama paar isiklikku projekti.

Selleks peaksite leidma midagi, millest olete huvitatud.

Näiteks kui teile meeldib fotograafia, siis võib-olla saate kõigi oma fotode jaoks luua portfelli saidi. Kui teile meeldib aktsiatega kauplemine, siis võib-olla saate luua süsteemi, mis analüüsib teie jaoks aktsiate graafikuid. Või kui teile meeldib probleemide lahendamine, võite proovida võistelda kodeerimisvõistlustel.

Projekti kallal töötades ehitage esmalt võimalikult palju ise. Siis, kui jänni jääte, saate teistelt abi, kasutades selleks kas veebi- või offline ressursse. Näiteks võite kasutada korstna ületäitumist konkreetsete tehniliste küsimuste esitamiseks, kui takerdute programmeerimisega seotud asjadesse.

3. samm: hankige oma esimene programmeerimistöö või praktikakoht

Kui olete loonud paar isiklikku projekti, peaksite saama oma esimese programmeerimistöö või praktika. Sellega on teil enne tipptehnoloogiaettevõtetega intervjuude alustamist teatav kogemus.

Oma esimest töökohta on võimalik saada ühes tipptehnoloogiaettevõttest, kuid palju lihtsam ja tavalisem on see kõigepealt saada vähemtuntud ettevõttest.

Parimad viisid tarkvarainseneri töökohtadele kandideerimiseks

Lihtsalt Internetis töökohale kandideerimine pole tingimata parim strateegia, sest seda teevad kõik teisedki.

Esimese programmeerimistöö saamiseks soovitaksin selle asemel kasutada LinkedIni ja inimestevahelist suhtlust.

LinkedInis leidke kõigepealt selle ettevõtte värbajad, kellega soovite töötada. Seejärel küsige neilt, kas teid kvalifitseeritakse teile huvipakkuvale ametikohale. Samuti peaksite neilt küsima, kuidas saaksite end paremini ette valmistada, kui te pole veel kvalifikatsiooni saanud.

Isiklike suhete loomiseks soovitaksin veebisaitidel nagu Meetup kohtuda kohalike ettevõtete inseneride ja värbajatega.

Oota, oota, kuid see pole veel kõik.

LinkedIni kasutamine ja inimestevaheliste võrkude loomine toimivad hästi, kui kandideerite väikeste ja keskmise suurusega ettevõtete jaoks. Olen siiski leidnud, et need strateegiad pole vähem populaarsed selliste populaarsemate ettevõtete nagu Google ja Facebook jaoks.

Nendele suurtele ettevõtetele soovitan selle asemel ühendada järgmised kolm strateegiat:

  1. Karjäärimessid ja värbamisüritused teie lähedal asuvates ülikoolides.
  2. Saate suunata sõbrad, kes töötavad ühes neist ettevõtetest
  3. Kandideeri lihtsalt veebis.

Kõigi nende strateegiate ühendamine aitab teil suurendada võimalust saada intervjuu ühega neist tipptehnoloogia ettevõtetest.

Muide, ma pole päris kindel, miks LinkedIn nende suurte ettevõtete puhul vähem efektiivne on, kuid ma arvan, et see võib olla tingitud sellest, et nad saavad liiga palju sõnumeid. Põhimõtteliselt on nad seal liiga populaarsed: P

4. samm: lugege andmestruktuurid ja algoritmid

Tipptehnoloogiaettevõtted, nagu Google ja Microsoft, küsivad oma intervjuudes sageli andmeid andmestruktuuride ja algoritmide kohta. Seega, kui te seda veel teinud pole, peaksite need õppima.

Põhitõdede saamiseks soovitaksin oma videoseriaalidel andmestruktuure ja algoritme. See kõik on YouTube'is. Olen need videod teinud selleks, et selle teemaga tutvumist oleks võimalikult lihtne teha.

Kuna selles sarjas on ainult 7 videot, vajate täpsemate teemade õppimiseks rohkem materjali.

Selle jaoks on mitu populaarset võimalust, sealhulgas:

  • Need Stanfordi kursused kursusel Coursera
  • See MIT-i kursus YouTube'is
  • Skiena algoritmi kujundamise käsiraamat (raamat)
  • Algoritmid (teine ​​raamat)

Peaksite proovima mõnda neist ja jätkama sellega, mis teile kõige rohkem meeldib.

5. samm: valmistuge ette intervjuude kodeerimiseks

Kodeerimisintervjuud sellistes ettevõtetes nagu Google ja Microsoft on rasked, kuid nende ettevalmistamine on mõneti otsekohene.

Kui olete andmestruktuuridest ja algoritmidest põhjalikult aru saanud, soovitaksin harjutamiseks järgmisi kolme ressurssi:

  • Leetcode - interaktiivne platvorm intervjuu probleemide kodeerimise harjutamiseks.
  • Cracking the Coding Intervjuu - populaarne raamat kodeerimisintervjuude kohta.
  • Igapäevane kodeerimisprobleem - meililisti, mis annab teile ühe probleemi päevas.

Pärast mõne nädala iseseisvat harjutamist peaksite hakkama tegema intervjuusid.

Kuidas teha intervjuud

Põhimõtteliselt tehke oma sõpradega paarisuhe ja pakkuge üksteisele probleeme ülalmainitud ressurssidest.

Seejärel lahendage iga probleem paberil või Google'i dokumendis. Selgitage oma sõbrale lahendust.

Harjutage kindlasti nii intervjueeritavat kui ka intervjueerijat, et näeksite intervjueerija kingades, mis tunne on olla.

Kui olete teinud umbes 20 intervjuud, peaksite olema valmis alustama intervjuusid ettevõtetega, kus soovite töötada.

6. samm: kandideerige, kandideerige ja kandideerige uuesti :)

Kasutage tipptasemel tehnoloogiaettevõtetes rakendamiseks kolme ülalnimetatud strateegiat:

  • ürituste / karjäärimesside värbamine
  • saada oma sõbrad sind suunama
  • ja veebis kandideerimine.

Kui te ei saa seda esimest korda, siis ärge muretsege. Tegelikult peaksite ootama mõningaid tõrkeid, kuna nendesse ettevõtetesse sattumine on konkurentsivõimeline.

Minu isiklikult oli mul vaja viis korda Google'isse pöörduda, enne kui ma sinna oma tarkvarainseneri töökoha maandusin.

See selleks! Siin on lühike kokkuvõte:

  • 1. samm: õppige koodima
  • 2. samm: töötage mõne isikliku projekti kallal
  • 3. samm: hankige oma esimene programmeerimistöö või praktikakoht
  • 4. samm: lugege andmestruktuurid ja algoritmid
  • 5. samm: valmistuge ette intervjuude kodeerimiseks
  • 6. samm: kandideerige, kandideerige ja kandideerige uuesti :)

Oota, kas see on tõesti nii lihtne?

Jah see on. Kõigi 6 sammu läbimine võtab siiski palju aega ja pühendumist.

Veel mõned märkused:

Kas ma pean saama infotehnoloogia kraadi?

Lühike vastus on ei. Arvutiteaduse kraadi saamine aitab aga palju. Kui võtate kindla CS-programmi, hoolitseb see enamiku sammude 1, 2, 3 ja 4 eest (koodide õppimine, isiklike projektide tegemine, esimese programmeerimistöö või praktika saamine ning andmestruktuuride ja algoritmide õppimine).

Ilma CS kraadi omandamata peate lihtsalt rohkem õppima.

Samuti pange tähele, et isegi CS-kraadiga omandamine võtab ühes nimetatud ettevõttes tarkvarainseneri töökoha saamiseks palju tööd.

Kas ma pean minema tippülikooli nagu MIT, Stanford, Carnegie Mellon jne?

Lühike vastus on jällegi eitav. Tõenäoliselt aitab see natuke, kuid pole kaugeltki vajalik.

Sellega nõustub ka Google'i endine inimeste operatsioonide vanem asepresident Laszlo Bock.

Tema kirjutatud raamatu "Work Rules!" Kohaselt eelistab Google vähemtuntud koolide tipptulemustega õpilasi kõrgemate koolide nagu MIT keskpäraste tulemustega õpilastele.

Ma arvan, et see on mõistlik, sest kui sa oled tark ja pühendunud, ei tohiks sul olla liiga suurt tähtsust, millises koolis sa käisid.

Kas mul peab olema kõrge GPA?

Lühike vastus on jällegi eitav.

Kõrge GPA omamine aitab ilmselt natuke ka intervjuu saamiseks, kuid ilmselt on palju olulisem omada kindlat praktilist kogemust ja huvitavaid projekte, mida oma CV-s näidata.

Tegelikult hoolitses Google vastavalt tööeeskirjadele! Varem kandideerijate GPA-de eest palju. Siiski on nad leidnud, et kõrge GPA omamine ei ole tugevas korrelatsioonis pikaajaliste töötulemustega. Pärast seda järeldust lõpetasid nad nii tugeva rõhuasetuse GPA-dele.

Mida ma siis vajan?

Põhimõtteliselt on kõik, mida vajate, tugevad kodeerimis- ja probleemilahendamisoskused, CS-i põhialuste hea tundmine ning huvitavad projektid ja kogemused, mida oma kokkuvõtteks näidata.

Need kõik saate üles ehitada, kui järgite 6 sammu, mida ma eespool selgitasin.

Oota, kuidas ma saan siiski hea kokkuvõtte kirjutada?

Kui soovite, võite kasutada mallina resümeed, mida kasutasin Google'i rakendamiseks.

  • Siin on PDF-versioon.
  • Siin on üks Wordi jaoks.
  • Siin on üks leht Pages.

See on tegelik kokkuvõte, mida ma kasutasin Google'is tarkvarainsenerina töökoha saamiseks. See oleks tõesti pidanud olema üks leht, nii et ma ütleksin, et minu lühikokkuvõte oli liiga pikk. Kasutage seda siiski julgelt lähtepunktina.

Täiendavad ressursid kokkuvõtte kirjutamiseks:

  • CareerCupis on selle teema kohta kena ülevaade siin.
  • Minu sõbral Zhia Hwa Chongil, kes on Twitteris tarkvarainsener, on siin selle kohta tore artikkel.

Olgu, palju õnne ja tänan teid, et lugesite seda artiklit!

Kui teil on küsimusi, palun andke mulle sellest kommentaari allpool või Instagramis või Twitteris (mõlemal @ykdojo).