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

Tere kõigile!

Sellest, kuidas ma isiklikult Google'is tarkvarainseneri tööle sain, olen juba rääkinud oma programmeerimiskoolituse YouTube'i kanali CS Dojo mõnes videos.

Kuid paljud inimesed küsivad minult endiselt, kuidas Google'is tarkvarainsenerina tööle saada. Nii et siin on minu artikkel, mis selgitab strateegiat, mida ma kasutaksin.

Sama strateegiat saate kasutada tarkvaratehnika töö saamiseks mitte ainult Google'is, vaid ka teistes tipptehnoloogiaettevõtetes nagu Amazon, Microsoft ja Facebook.

Selles artiklis näitan teile 6-etapilist protsessi ühe sellise ettevõtte tööle asumiseks. Teel arutlen ka:

  • Kuidas õppida kodeerimist esiteks
  • Mida õppida pärast kodeerimise õppimist
  • Kuidas saada oma esimene kodeerimistöö või praktika
  • Parimad viisid tarkvarainseneri töökohtadele kandideerimiseks
  • Kuidas kõige paremini valmistuda intervjuude programmeerimiseks
  • Kas on oluline saada arvutiteaduse kraad?
  • Kas on oluline minna tippülikooli?

Olgu, alustame!

1. samm: õppige kodeerima

See on tarkvarainseneriks saamiseks vajalik absoluutne miinimumkvalifikatsioon.

Selleks soovitan teil alustada sellist interaktiivset veebisaiti nagu Codecademy ja freeCodeCamp. Nendelt saitidelt saate õppida enamikku programmeerimise põhialustest. Kuulsin ka, et ka SoloLearn on hea.

Pärast seda kasutaksin täpsemate teemade õppimiseks videoõpetusi. Selleks soovitan veebisaite nagu YouTube, Pluralsight, Lynda.com ja Udemy. Neil veebisaitidel peaksite olema võimalik leida õpetusi järgmistel teemadel:

  • Veebiarendus
  • Mobiiliarendus
  • Mängu arendamine

sõltuvalt teie huvist.

Aga oota, mis programmeerimiskeelt peaksin kõigepealt õppima?

Minu lühike vastus oleks: vali kas JavaScripti või Pythoni, kuid see sõltub tõesti teie huvidest. Mul on selles videos pikem vastus sellele küsimusele.

2. samm: töötage mõne isikliku projektiga

Kui olete järginud mõnda programmeerimisõpetust, peaksite koostama mõned isiklikud projektid, et harjutada õpitu kasutamist.

Selleks peaksite leidma midagi, mis teid huvitab.

Näiteks kui teile meeldib fotograafia, 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 aktsiagraafikuid. Või kui teile meeldib probleemide lahendamine, võite proovida võistelda kodeerimisvõistlusel.

Kui töötate projektiga, ehitage kõigepealt nii palju kui võimalik ise. Siis, kui jänni jääte, hankige teistelt abi kas veebi- või võrguühenduseta ressursside abil. Näiteks võite kasutada Stack Overflow'i konkreetsete tehniliste küsimuste esitamiseks, kui jääte millegi programmeerimisega seotud küsimuse juurde.

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

Kui olete mõne isikliku projekti üles ehitanud, peaksite saama oma esimese programmeerimistöö või praktika. Sellega saate enne tipptehnoloogiaettevõtetega intervjueerimise alustamist teatud kogemusi.

Esimese töökoha on võimalik saada ühest tipptehnoloogiaettevõttest, kuid palju lihtsam ja tavalisem on see saada kõigepealt vähem tuntud ettevõttest.

Parimad viisid tarkvarainseneri töökohtadele kandideerimiseks

Lihtsalt veebi kaudu tööle kandideerimine pole tingimata parim strateegia, sest seda teevad peaaegu kõik teisedki.

Selle asemel soovitaksin esimese programmeerimistöö saamiseks kasutada LinkedIni ja isiklikku võrku.

LinkedInist leiate kõigepealt selle ettevõtte värbajad, kus olete huvitatud töötamisest. Seejärel küsige neilt, kas olete kvalifitseeritud huvipakkuvale ametikohale. Samuti peaksite neilt küsima, kuidas saaksite end paremini ette valmistada, kui te pole veel kvalifitseeritud.

Isikliku võrgustiku loomiseks soovitaksin veebisaitidel nagu Meetup kohtuda inseneride ja värbajatega kohalikes ettevõtetes.

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

LinkedIni ja isikliku võrgustiku kasutamine töötab hästi, kui kandideerite väikestele ja keskmise suurusega ettevõtetele. Siiski leidsin, et populaarsemad ettevõtted, näiteks Google ja Facebook, on need strateegiad vähem efektiivsed.

Nende suurte ettevõtete jaoks soovitan selle asemel kombineerida järgmised kolm strateegiat:

  1. Karjäärimessid ja värbamisüritused teie lähedal asuvates ülikoolides.
  2. Kutsu neid sõpru, kes töötavad ühes neist ettevõtetest
  3. Rakendage lihtsalt veebis.

Kõigi nende strateegiate kombineerimine aitab teil suurendada võimalust saada intervjuu ühega neist tipptehnoloogiaettevõtetest.

Muide, ma pole täpselt kindel, miks LinkedIn nende suurettevõtete puhul vähem efektiivne on, kuid arvan, et see võib juhtuda seetõttu, et neile saab liiga palju sõnumeid. Põhimõtteliselt on nad seal liiga populaarsed: P

4. samm: õppige andmestruktuure ja algoritme

Tipptehnoloogiaettevõtted nagu Google ja Microsoft esitavad intervjuudes sageli küsimusi andmestruktuuride ja algoritmide kohta. Nii et peaksite neid õppima, kui te pole seda veel teinud.

Põhitõdede õppimiseks soovitaksin oma videoseeriaid andmestruktuuride ja algoritmide kohta. See kõik on YouTube'is. Olen need videod teinud selleks, et selle teemaga tutvumine oleks võimalikult lihtne.

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

Selleks on mitu populaarset valikut, sealhulgas:

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

Proovige mõnda neist ja jätkake sellega, mis teile kõige rohkem meeldib.

5. samm: valmistuge intervjuude kodeerimiseks

Intervjuude kodeerimine sellistes ettevõtetes nagu Google ja Microsoft on keeruline, kuid nende ettevalmistamine on mõnevõrra lihtne.

Kui olete andmestruktuuridest ja algoritmidest põhjalikult aru saanud, soovitaksin praktikas kasutada neid kolme ressurssi:

  • Leetcode - interaktiivne platvorm intervjuuprobleemide kodeerimiseks.
  • Kodeerimisintervjuu krakkimine - populaarne raamat intervjuude kodeerimisest.
  • Igapäevane kodeerimisprobleem - meililist, mis pakub teile ühe probleemi päevas.

Pärast mõnenädalast iseseisvat harjutamist peaksite hakkama tegema pilkintervjuusid.

Kuidas teha mõnitavaid intervjuusid

Põhimõtteliselt ühendage oma sõbrad ja jagage üksteisele probleeme eespool nimetatud ressurssidest.

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

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

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

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

Tipptehnoloogiaettevõtete rakendamiseks kasutage kolme eespool mainitud strateegiat:

  • värbamisüritused / karjäärimessid
  • oma sõprade suunamine teid suunama
  • ja veebis taotlemine.

Kui te esimest korda sisse ei pääse, ärge muretsege. Tegelikult peaksite ootama mõningaid ebaõnnestumisi, sest nendesse ettevõtetesse sattumine on konkurentsivõimeline.

Minu jaoks oli mul vaja viis korda Google'i poole pöörduda, enne kui ma sinna oma tarkvarainseneri tööle asusin.

See selleks! Siin on kiire kokkuvõte:

  • 1. samm: õppige kodeerima
  • 2. samm: töötage mõne isikliku projektiga
  • 3. samm: hankige oma esimene programmeerimistöö või praktika
  • 4. samm: õppige andmestruktuure ja algoritme
  • 5. samm: valmistuge intervjuude kodeerimiseks
  • 6. samm: kandideerige, kandideerige ja kandige uuesti :)

Oota, kas see on tõesti nii lihtne?

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

Veel mõned märkused:

Kas ma pean saama arvutiteaduse kraadi?

Lühike vastus on eitav. Palju aitab aga informaatika kraadi omandamine. Kui võtate kindla CS-programmi, hoolitseb see suurema osa 1., 2., 3. ja 4. etapi eest (kodeerimise õppimine, isiklike projektide tegemine, esimese programmeerimistöö või praktika saamine ning andmestruktuuride ja algoritmide õppimine).

CS kraadi omandamata peate lihtsalt ise rohkem õppima.

Pange tähele, et isegi CS-kraadiga on tarkvarainseneri töökoha saamiseks ühes neist ettevõtetest palju tööd vaja.

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

Jällegi on lühike vastus eitav. See aitab ilmselt natuke, kuid pole kaugeltki vajalik.

Sama meelt on ka Google’i inimeste operatsioonide endine asepresident Laszlo Bock.

Tema kirjutatud raamatu "Work Rules!" Kohaselt eelistab Google vähem tuntud koolide tipptasemel õpilasi kui keskmiselt edukaid õpilasi tippkoolides nagu MIT.

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

Kas mul peab olema kõrge GPA?

Lühike vastus on jälle ei.

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 varem tööreeglite! Järgi kandidaatide GPA-de eest väga palju. Kuid nad on leidnud, et kõrge GPA ei ole tugevas korrelatsioonis pikas perspektiivis töökoha tulemuslikkusega. Pärast seda leidsid nad enam GPA-dele nii suurt rõhku panemata.

Mida mul siis vaja on?

Põhimõtteliselt on vaja ainult tugevat kodeerimis- ja probleemilahendamisoskust, CS-põhialuste head mõistmist ning huvitavaid projekte ja kogemusi, mida oma resümeel näidata.

Kõiki neid saate üles ehitada, kui järgite kuut sammu, mida ma eespool selgitasin.

Oota, kuidas ma siiski hea kokkuvõtte kirjutan ?

Soovi korral saate mallina kasutada jätkamist, mida kasutasin Google'i taotlemiseks.

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

See on tegelik kokkuvõte, mida kasutasin Google'is tarkvarainsenerina tööle saamiseks. See oleks pidanud olema tõesti üks leht, nii et ma ütleksin, et minu resümee oli liiga pikk. Siiski võite seda julgelt lähtepunktina kasutada.

Lisaressursid kokkuvõtte kirjutamiseks :

  • Siin on CareerCupil selle teema kohta kena ülevaade.
  • Minu sõbral Zhia Hwa Chongil, kes on Twitteri tarkvarainsener, on siin kena artikkel selle kohta.

Okei, palju õnne ja aitäh selle artikli lugemise eest!

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