Hogyan szerezhetek szoftvermérnöki állást a Google-nál és más csúcstechnikai vállalatoknál

Sziasztok!

CS Dojo nevű programozó-oktató YouTube-csatornám néhány videójában már beszéltem arról, hogy személy szerint hogyan szereztem szoftvermérnöki munkát a Google-nál.

Sokan azonban még mindig azt kérdezik tőlem, hogyan lehet elhelyezkedni a Google-nál szoftvermérnökként. Tehát itt van a cikkem, amely elmagyarázza az általam alkalmazott stratégiát.

Ugyanezt a stratégiát alkalmazhatja szoftvermérnöki munka megszerzésére nemcsak a Google-nél, hanem más csúcstechnológiai vállalatoknál is, mint az Amazon, a Microsoft és a Facebook.

Ebben a cikkben bemutatom Önnek a 6 lépéses eljárást, amellyel munkát találhat az egyik vállalatnál. Útközben azt is megvitatom:

  • Hogyan kell elsajátítani a kódolást
  • Mit kell megtanulni a kódolás megtanulása után
  • Hogyan szerezheti meg első kódolási munkáját vagy szakmai gyakorlatát
  • A szoftvermérnöki munkákra történő jelentkezés legjobb módjai
  • Hogyan lehet a legjobban felkészülni az interjúk programozására
  • Fontos számítástechnikai végzettség megszerzése?
  • Fontos, hogy felsőbb egyetemre menjek?

Oké, kezdjük!

1. lépés: Tanuljon kódolni

Ez az abszolút minimális képesítés, amelyre szüksége van ahhoz, hogy szoftvermérnök legyen.

Ehhez azt javaslom, hogy kezdjen el egy olyan interaktív weboldallal, mint a Codecademy és az freeCodeCamp. Ezekről a webhelyekről tanulhatja meg a programozás alapjainak nagy részét. Azt is hallottam, hogy a SoloLearn is jó.

Ezt követően videó oktatóanyagok segítségével tanulnék haladóbb témákat. Ehhez olyan weboldalakat ajánlok, mint a YouTube, a Pluralsight, a Lynda.com és az Udemy. Ezeken a webhelyeken képesnek kell lennie oktatóanyagok megtalálására a következő témákban:

  • webfejlesztés
  • Mobil fejlesztés
  • Játékfejlesztés

érdeklődésétől függően.

De várjon, milyen programozási nyelvet tanuljak meg először?

Rövid válaszom a következő lenne: válasszon JavaScriptet vagy Python-ot, de ez valóban az Ön érdeklődésétől függ. Erre a kérdésre hosszabb válaszom van ebben a videóban.

2. lépés: Dolgozzon néhány személyes projekten

Miután betartott néhány programozási oktatóanyagot, össze kell állítania néhány személyes projektet, hogy gyakorolhassa a tanultak felhasználását.

Ehhez találnia kell valamit, ami érdekli az építését.

Például, ha kedveli a fotózást, talán elkészíthet portfólió oldalt az összes fotóhoz. Ha szereted a részvények kereskedését, akkor talán fel tudsz építeni egy olyan rendszert, amely elemzi a részvénydiagramokat számodra. Vagy, ha élvezi a problémamegoldást, megpróbálhat versenyezni egy kódoló versenyen.

Amikor egy projekten dolgozik, először a lehető legtöbbet készítse el saját maga. Ezután, ha elakad, kérjen segítséget másoktól akár online, akár offline források segítségével. Például a Stack Overflow segítségével konkrét, technikai kérdéseket tehet fel, ha valami programozással kapcsolatos dolog elakad.

3. lépés: Szerezzen meg első programozói állást vagy szakmai gyakorlatot

Miután elkészített néhány személyes projektet, képesnek kell lennie arra, hogy megszerezze első programozási munkáját vagy szakmai gyakorlatát. Vele van némi tapasztalata, mielőtt interjút kezdene a csúcstechnológiai vállalatokkal.

Első munkáját az egyik csúcstechnológiai vállalatnál szerezheti be, de sokkal könnyebb és gyakoribb, ha először egy kevésbé ismert cégnél szerzi be.

A szoftvermérnöki munkákra történő jelentkezés legjobb módjai

A puszta online állásra való jelentkezés nem feltétlenül a legjobb stratégia, mert nagyjából ezt teszi mindenki más is.

Ehelyett javasolnám a LinkedIn és a személyes hálózat használatát az első programozási feladat megszerzéséhez.

A LinkedIn oldalon először keresse meg annak a cégnek a toborzóit, amelynél érdekel. Ezután kérdezd meg tőlük, hogy képes lennél-e megszerezni az érdeklődő pozíciót. Azt is meg kell kérdezned tőlük, hogyan tudnád jobban felkészülni, ha még nem vagy képesített.

A személyes hálózatépítéshez olyan webhelyeket ajánlok, mint a Meetup, hogy találkozzanak mérnökökkel és toborzókkal a helyi vállalatoknál.

Várj, várj, de ez még nem minden.

A LinkedIn és a személyes hálózatok használata jól működik, ha kis és közepes méretű vállalatokhoz jelentkezik. Megállapítottam azonban, hogy ezek a stratégiák kevésbé hatékonyak olyan népszerűbb vállalatoknál, mint a Google és a Facebook.

E nagy cégek helyett inkább a következő három stratégia ötvözését javaslom:

  1. Karrier vásárok és toborzó rendezvények a közeli egyetemeken.
  2. Keresse meg azokat a barátokat, akik ezeknél a vállalatoknál dolgoznak
  3. Egyszerűen jelentkezzen online.

Mindezen stratégiák ötvözése segít növelni az interjúk esélyét az egyik csúcstechnológiai céggel.

Egyébként nem vagyok egészen biztos abban, hogy a LinkedIn miért kevésbé hatékony ezeknél a nagy cégeknél, de szerintem azért lehet, mert túl sok üzenetet kapnak. Alapvetően túl népszerűek ott: P

4. lépés: Ismerje meg az adatszerkezeteket és az algoritmusokat

Az olyan csúcstechnológiai vállalatok, mint a Google és a Microsoft interjúik során gyakran tesznek fel kérdéseket az adatszerkezetekkel és az algoritmusokkal kapcsolatban. Tehát meg kell tanulnod őket, ha még nem tetted meg.

Az alapok elsajátításához ajánlom az adatstruktúrákról és algoritmusokról szóló videósorozatomat. Mindez a YouTube-on található. Azért készítettem ezeket a videókat, hogy a lehető legkönnyebben megismerjem ezt a témát.

Mivel ebben a sorozatban csak 7 videó található, több anyagra lesz szükséged a haladóbb témák megismeréséhez.

Számos népszerű lehetőség van erre, többek között:

  • Ezek a Stanford kurzusok a Coursera-n
  • Ez az MIT tanfolyam a YouTube-on
  • A Skiena algoritmus-tervezési kézikönyve (könyv)
  • Algoritmusok (egy másik könyv)

Próbáljon ki néhányat ezekből, és folytassa azzal, amelyik a legjobban tetszik.

5. lépés: Készüljön fel az interjúk kódolására

Az olyan interjúk kódolása, mint a Google és a Microsoft, nehéz, de kissé egyszerű előkészíteni őket.

Miután megértette az adatszerkezeteket és az algoritmusokat, a következő három forrást ajánlom a gyakorlatra:

  • Leetcode - interaktív platform az interjúproblémák kódolásához.
  • A kódolási interjú feltörése - népszerű könyv az interjúk kódolásáról.
  • Napi kódolási probléma - egy levelezőlista, amely napi egy problémát jelent.

Miután néhány hétig egyedül gyakorolt, el kell kezdenie a modellinterjúk készítését.

Hogyan készítsünk gúnyos interjúkat

Alapvetően párosítson barátaival, és adjon problémákat egymásnak a fent említett forrásokból.

Ezután oldja meg az egyes problémákat papíron vagy egy Google-dokumentumon. Magyarázza el a megoldását barátjának.

Győződjön meg arról, hogy gyakorolja mind az interjúalany, mind a kérdező kérdést, hogy lássa, milyen érzés az interjúztató cipőjében lenni.

Ha körülbelül 20 álinterjút készít, készen kell állnia arra, hogy interjút kezdjen azzal a céggel, amelyben dolgozni szeretne.

6. lépés: Jelentkezés, alkalmazás és újbóli alkalmazás :)

Használja a fent említett három stratégiát a csúcstechnológiai vállalatokra:

  • toborzó rendezvények / karrier vásárok
  • rávenni a barátaidat, hogy utaljanak téged
  • és online jelentkezés.

Ha nem jut be először, ne aggódjon. Valójában számolnia kell néhány kudarccal, mivel ezekbe a vállalatokba való belépés versenyképes.

Nekem személy szerint ötször kellett jelentkeznem a Google-hoz, mielőtt ott lettem a szoftvermérnöki munkámban.

Ez az! Itt egy gyors összefoglaló:

  • 1. lépés: Tanuljon kódolni
  • 2. lépés: Dolgozzon néhány személyes projekten
  • 3. lépés: Szerezzen meg első programozói állást vagy szakmai gyakorlatot
  • 4. lépés: Ismerje meg az adatszerkezeteket és az algoritmusokat
  • 5. lépés: Készüljön fel az interjúk kódolására
  • 6. lépés: Jelentkezés, alkalmazás és újbóli alkalmazás :)

Várj, tényleg ilyen egyszerű?

Igen, ez az. Ennek ellenére sok idő és odaadás szükséges mind a 6 lépés teljesítéséhez.

Néhány további megjegyzés:

Számítástechnikai diplomát kell szereznem?

A rövid válasz nem. Számítástechnikai végzettség megszerzése azonban sokat segít. Ha szilárd CS programot vesz igénybe, akkor az az 1., 2., 3. és 4. lépés nagy részét (kódolás megtanulása, személyes projektek elvégzése, első programozói munkájának vagy szakmai gyakorlatának megszerzése, valamint adatstruktúrák és algoritmusok megtanulása) viseli.

CS fokozat megszerzése nélkül csak saját magának kell többet megtudnia.

Kérjük, vegye figyelembe, hogy még CS végzettség mellett is sok munkát igényel, hogy szoftvermérnök állást kapjon az egyik vállalatnál.

Olyan felsőoktatásba kell mennem, mint az MIT, a Stanford, a Carnegie Mellon stb.?

Ismét a rövid válasz nem. Valószínűleg segít egy kicsit, de korántsem szükséges.

Bock László, a Google People Operations volt vezető alelnöke is egyetért ezzel.

Az általa írt, a Work Rules! Című könyv szerint a Google a kevésbé ismert iskolák legjobban teljesítő diákjait részesíti előnyben a közepesen teljesítő diákokkal szemben az olyan felsőbb iskolákban, mint az MIT.

Szerintem ennek van értelme, mert ha okos és odaadó vagy, akkor nem kellene túl sokat számítania, melyik iskolába jártál.

Magas GPA-val kell rendelkeznem?

A rövid válasz ismét nem.

A magas GPA valószínűleg segít egy kicsit az interjú elkészítésében is, de valószínűleg sokkal fontosabb, hogy szilárd gyakorlati tapasztalataink és érdekes projektjeink legyenek az önéletrajzban.

Valójában a Work Rules! Szerint a Google korábban nagyon törődött a jelöltek GPA -ival. Megállapították azonban, hogy a magas GPA nem áll szorosan összefüggésben az erős munkahelyi teljesítménnyel hosszú távon. E megállapítás után abbahagyták, hogy ekkora hangsúlyt fektessenek a GPA-kra.

Mi kell akkor?

Alapvetően csak erős kódolási és problémamegoldó készségekre van szükséged, a CS alapjainak jó megértésére, valamint érdekes projektekre és tapasztalatokra, amelyek bemutatásra kerülnek az önök összefoglalójában.

Mindezeket felépítheti, ha követi a fent leírt 6 lépést.

Várjon, mégis hogyan írhatnék összefoglalót ?

Ha szeretné, használhatja az önéletrajzot, amelyet korábban a Google-hez alkalmaztam, sablonként.

  • Itt a PDF verzió.
  • Itt van a Word.
  • Itt van a Pages.

Ez az a tényleges összefoglaló, amellyel szoftvermérnökként dolgoztam a Google-nál. Valójában egy oldalnak kellett volna lennie, ezért azt mondanám, hogy az önéletrajzom túl hosszú volt. Ennek ellenére nyugodtan használja kiindulópontként.

További források az önéletrajz elkészítéséhez :

  • Van egy szép áttekintés erről a témáról a CareerCup oldalon.
  • Zhia Hwa Chong barátomnak, aki a Twitter szoftvermérnöke, itt van egy szép cikke erről.

Oké, sok sikert, és köszönöm, hogy elolvasta ezt a cikket!

Ha bármilyen kérdése van, kérjük, tudassa velem az alábbi megjegyzésben, vagy az Instagramon vagy a Twitteren (@ykdojo mindkét oldalon).