Egy héttel ezelőtt beszéltünk , ahol a kommentekben felhívták a figyelmünket a gyakornoki programok és gyakorlati tapasztalatok fontosságára. Ezzel nem lehet nem egyetérteni, hiszen az elméleti tudást gyakorlatban is meg kell erősíteni. Ezzel a bejegyzéssel indítjuk el a diákok nyári gyakornoki tapasztalatairól szóló cikkek sorozatát: hogyan jutnak el a fiatalok a gyakornoki pozíciókra, mit csinálnak ott és miért jó ez.
Az első cikkben arról fogok beszélni, hogyan lehet sikeresen végigcsinálni a felvételi folyamat minden lépését, és hogyan lehet egy gyakornoki pozícióra bekerülni a Google-nál.
Néhány szó magamról
Én egyetemi mesterszakos hallgató vagyok a HSE Szentpétervári kampuszán, ahol a gépi tanulmányok területén végeztem a bachelor képzést. Az alapképzés alatt aktívan részt vettem sportprogramozási versenyeken, valamint különböző hackathonokon. Az utóbbiról itt olvashatsz , és .
A gyakornoksról
Először szeretnék mesélni arról, hogy milyen belülről egy gyakornoki program a Google-nál.
Minden gyakornokot egy csapatba rendelnek a Google-nál. Ez lehet egy olyan csapat, amely a belső infrastruktúra fejlesztésével foglalkozik, amiről a cég kívülállói nem is tudnak, vagy egy olyan terméké, amit világszerte milliók használnak. Ilyen termékek például a világhírű YouTube, Google Docs és mások. Mivel ezeket a projekteket tucatnyi, sőt, akár száz fejlesztő készíti, egy olyan csapatba kerülsz, amely egy szűkebb részével foglalkozik. Például 2018 nyarán a Google Docs-on dolgoztam, új funkciókat adva a táblázatok kezeléséhez.
Mivel a cégnél gyakornok vagy, van egy menedzsered, akit hostnak hívnak. Ő egy normál munkaidős dolgozó, aki maga is termékfejlesztéssel foglalkozik. Ha valamit nem tudsz, nem tudsz megoldani, vagy bármilyen problémával szembesülsz, hozzá kell fordulnod. Általában heti egyéni találkozókat tartanak, ahol megbeszélheted a projekt előrehaladását, vagy beszélgethetsz valamiről, ami egyáltalán nem kapcsolódik a munkához. Ráadásul a host az egyik személy, aki értékelni fogja a gyakornoki idő alatt végzett munkádat. Ezen kívül egy második, kiegészítő értékelő is lesz. Természetesen érdekelt abban, hogy a lehető legjobban teljesíts.
A Google-nál el fogják mondani, de ez nem biztos, hogy jó szokás a dizdokk (design document) írása, mielőtt bármibe is belekezdenél. Azok számára, akik nem tudják, a dizdok egy olyan dokumentum, amelyben a meglévő probléma lényegét és a megoldás technikai leírását fogalmazzuk meg. A dizdokot írhatjuk egy egész termékre vagy akár egy új funkcióra is. Egy ilyen dokumentációt elolvasva megérthetjük, milyen céllal készült a termék, és hogyan valósították meg. Gyakran a megjegyzések között láthatjuk az mérnökök közötti párbeszédeket, akik különböző megvalósítási módszereket vitatnak meg. Ez jó megértést ad arról, hogy miért hoztak meg minden egyes döntést.
A gyakornoki program sajátossága, hogy csodálatos belső fejlesztési eszközöket kell használnod, amelyekből a Google-nál rendkívül sok van. Miután dolgoztam velük és beszélgettem sok emberrel, akik korábban az Amazonnál, az Nvidia-nál és más jól ismert technológiai vállalatoknál dolgoztak, arra a következtetésre jutottam, hogy ezek az eszközök nagy eséllyel a legjobbak között lesznek, amikkel valaha találkozol az életedben. Például a Google Code Search nevű eszköz nemcsak az egész kódalap böngészésére, a kód minden sorának változásainak nyomon követésére ad lehetőséget, hanem a kódban való navigációra is, amelyhez hozzászoktunk a modern fejlesztési környezetekben, mint például az Intellij Idea. Ehhez csupán egy böngészőre van szükséged! Az ezzel kapcsolatos hátrány azonban az, hogy a Google-on kívül hiányozni fog ez a sok eszköz.
A céges juttatásokról szólva, a cégnek klassz irodái vannak, jó az étkezés, edzőtermet biztosítanak, jó biztosítást adnak és egyéb kedvezményeket. Csak hagyok itt pár fotót a New York-i irodából:



Hogyan kapsz ajánlatot?
Áttekintés
Most eljött az idő, hogy beszéljünk valami komolyabbról: hogyan juthatsz el a gyakornoki programhoz?
Most nem a Google-ról lesz szó, hanem arról, hogy ez általában hogy működik. A Google gyakornokok kiválasztásának folyamatáról lentebb írok.
A cégnél a beszélgetési folyamat valószínűleg így fog kinézni:
- Gyakornoki pályázat
- Hackerrank / TripleByte Quiz verseny
- Szűrőinterjú
- Első technikai interjú
- Második technikai interjú
- Helyszíni interjú
Gyakornoki pályázat
Nyilvánvaló, hogy minden azzal kezdődik, hogy szeretnél gyakornoki pozícióra pályázni. Ehhez meg kell fogalmaznod ezt azzal, hogy kitöltöd a cég weboldalán található űrlapot. Ha van ismerősöd, aki ott dolgozik, érdemes lehet rajta keresztül próbálkozni. Ez a lehetőség előnyösebb, mert segít kiemelkedni a többi hallgató közül. Ha ilyen lehetőség nincs, akkor pályázz önállóan.
Próbálj meg nem túlságosan elkeseredni, amikor a postaládádba olyan levelek érkeznek, mint „nagyszerű vagy, de más jelölteket választottunk”. Van egy tanácsom számodra:

Hackerrank / TripleByte Quiz verseny
Ha a CV-d elnyerte a toborzó tetszését, akkor 1-2 héten belül kapsz egy e-mailt a következő feladattal. Valószínűleg felkérnek, hogy végezz egy tesztet a Hackerrankon, ahol egy adott idő alatt algoritmikus feladatokat kell megoldanod, vagy a TripleByte Kvízt, ahol különböző kérdésekre kell válaszolnod, amelyek az algoritmusokkal, a szoftverfejlesztéssel és az alacsony szintű rendszerek felépítésével kapcsolatosak. Ez a szakasz az első szűrő a jelöltek kiválasztási folyamatában.
Szűrőinterjú
Ha sikeresen teljesítetted a próbát, a következő lépcső a szűrőinterjú, ahol a toborzóval kell beszélned az érdeklődéseidről és a projektekről, amelyeket a cég a gyakornokoknak kínál. Ha érdeklődést mutatsz, és a korábbi tapasztalataid megfelelnek a cég elvárásainak, zöld utat kapsz. Tapasztalataim szerint ez a legváltozékonyabb pont az egész folyamatban, ami nagyon sokban függ a toborzótól.
Ha sikeresen túlléptél ezeken a három próbán, akkor a véletlenek nagy része már a múlté. Innentől a technikai interjúk következnek, amelyek már inkább tőled függenek, tehát nagyobb hatással lehetsz az eredményükre. És ez jó!
Technikai interjúk
Ezután technikai interjúk következnek, amelyeket általában Skype-on vagy Hangouts-on tartanak. De néha találkozhatsz egzotikusabb szolgáltatásokkal is, amelyek külön szoftver telepítését igénylik. Ezért előre győződj meg róla, hogy a számítógéped rendesen működik.
A technikai interjúk formátuma nagyban függ az adott pozíciótól, amelyre pályázik. Ha Software Engineering Intern pozícióról van szó, valószínűleg néhány algoritmikus feladatot kínálnak, amelyek megoldását egy online kódszerkesztőben kell kódolnia, például . Kérdéseket is feltehetnek az objektumorientált tervezésről, hogy lássák, mennyire ért a szoftvertervezéshez. Például megkérhetik, hogy tervezzon meg egy egyszerű online bolt struktúráját. Valójában soha nem találkoztam olyan feladattal, amely valóban megítélhető lenne e készség szempontjából. Az interjú végén biztosan lehetőséget kap arra, hogy kérdéseket tegyen fel. Erősen ajánlom, hogy komolyan vegye ezt, mivel a kérdések segítségével megmutathatja érdeklődését a projekt iránt, és bizonyíthatja kompetenciáját a témában. Én általában előre készítek egy listát a lehetséges kérdésekről:
- Hogyan zajlik a munka a projekten?
- Milyen nehéz feladatot kellett megoldania az utóbbi időben?
- Mi a fejlesztők hozzájárulása a végtermékhez?
- Miért döntött úgy, hogy ebben a cégben fog dolgozni?
Nem mindig az a személy interjúztat, akivel a későbbiekben dolgozni fog. Ezért az utolsó kérdések betekintést nyújthatnak abba, hogy mi történik a cégnél általában. Számomra például fontos, hogy legyen befolyásom a végtermékre.
Ha sikeresen teljesítette az első interjút, másodikat fognak kínálni. Az elsőtől az interjúztató és a feladatok tekintetében különbözni fog. A formátum valószínűleg hasonló marad. A második interjú után, lehet, hogy a harmadikat is felajánlják.
Helyszíni interjú
Ha ezidáig nem utasítottak el, akkor vár rád a helyszíni interjú, amikor a jelöltet meghívják egy interjúra a cég irodájába. Ez általában több technikai interjúból és egy viselkedésbeli interjúból áll. A viselkedésbeli interjú során az interjúztató beszélget veled a projektjeidről, arról, hogy milyen döntéseket hoztál különböző helyzetekben, és hasonlókról. Más szóval, az interjúztató próbál jobban megérteni a személyiségedet és részletesebben megismerni a tapasztalataidat. Néhány cég, amely 3-4 technikai interjút tart, az helyszíni interjú helyett ajánlhatja, hogy távolról csak egy viselkedésbeli interjút végezz.
Most már csak a toborzó válaszára kell várnod. Ha minden simán ment, akkor biztosan kapsz egy levelet a régóta várt ajánlattal. Ha nem kapsz ajánlatot, ne keseredj el. A cégek rendszeresen elutasítanak jó jelölteket. Próbálkozz még egyszer a következő évben a gyakornoki pozícióval.
Kódolási interjú
Várj csak… Még nem mentünk át semmilyen interjún. Csak megtudtuk, hogyan néz ki az egész folyamat, és most jól fel kell készülnünk az interjúkra, hogy ne mulasszuk el a lehetőséget, hogy kellemesen és hasznosan töltsük a nyarat.
Több olyan forrás létezik, mint , és , amelyet a technikai interjúk előkészítésére hoztak létre. Ha megoldasz 100-200 különböző nehézségű feladatot, nagy valószínűséggel nem lesznek problémáid az interjú során. Egy másik elérhető lehetőség a Facebook Code Lab Sok szakértő azt is ajánlja, hogy olvasd el a "
Cracking the Coding Interview" könyvet.». Jómagam azonban csak részben olvastam a könyvet. Meg kell jegyezni, hogy sok algoritmikus feladatot megoldottam iskolás éveimben. Akinek ilyen tapasztalata nem volt, annak is érdemes legalább átlapozni ezt a könyvet.
Ezenkívül, ha az életében kevés technikai interjút tartott külföldi cégeknél, javasolt néhány próbainterjút végezni. De minél több, annál jobb. Ez segíthet abban, hogy magabiztosabbnak érezze magát az interjú során, és kevésbé idegeskedjen. A próbainterjúkat a következő helyen lehet megszervezni .
Viselkedési interjúk
Ahogy már említettem, a viselkedési interjú során az interjúztató részletesebben szeretné megismerni a tapasztalatait és megérteni a karakterét. Mi van, ha Ön kiváló fejlesztő, de nem tud csapatban dolgozni? Félek, hogy sokakat ez nem kielégít. Például olyan kérdéseket is feltehetnek Önnek, mint: „Milyen gyengeségei vannak?” Az ilyen típusú kérdések mellett mesélnie kell azokról a projektekről is, amelyekben kulcsszerepet játszott, a problémákról, amelyekkel szembesült, és az azok megoldásáról. Meg kell jegyezni, hogy a technikai interjúk első perceiben is kérdezhetik erről. Az ilyen interjúk felkészüléséről nagyon jól írtak a „Cracking the Coding Interview” egyik fejezetében.
Most, hogy világos, hogyan néz ki a gyakornokok kiválasztásának folyamata általában, és hogyan készülhetünk az interjúkra, itt az ideje beszélni arról, hogyan működik ez a Google esetében.
A rendelkezésre álló gyakornoki helyek listája itt található . Ha nyári gyakornokságra készül, érdemes már szeptemberben kezdeni a jelentkezést.
Interjúk
Itt a folyamat egy kicsit szokatlanul alakul. Lesz egy előszűrő interjú és két technikai interjú. Ha ezeken jól teljesít, akkor átkerül a projektkeresés szakaszába. Ki kell töltenie egy meglehetősen hosszú kérdőívet, amelyben megadja minden jelenlegi készségét, valamint kifejezi preferenciáit a projekt témájával és a gyakornokság helyével kapcsolatban.
Nagyon fontos, hogy gondosan és odafigyeléssel töltsd ki ezt a kérdőívet! A potenciális hostok, akik embereket keresnek a projektjükhöz, átnézik a rendelkezésre álló gyakornokokat, és beszélgetéseket folytatnak azokkal a jelöltekkel, akik tetszettek nekik. Szűrhetik a diákokat hely alapján, kulcsszavak szerint, az űrlapon lévő jelölőnégyzetek alapján, és a beszélgetés során elért pontok szerint is rendezhetik őket.
A beszélgetés során az interjúztató mesél a projektről, amin dolgozni fogsz, és megismeri a jelölt tapasztalatait is. Itt kiváló lehetőség nyílik arra, hogy megtudd, milyen lesz valójában a munka folyamata, hiszen olyan személlyel beszélgetsz, aki a hostod lesz. Az interjú után levelet írsz a toborzónak az érzéseidről a projekttel kapcsolatban. Ha a projekt tetszett, és az interjúztató is kedvelt, akkor ajánlat vár rád. Ellenkező esetben további telefonhívásokra várhatsz, amelyekből lehet 2-3-4 darab, vagy akár több is, de az is lehet, hogy nem érkezik egy sem. Érdemes kiemelni, hogy még ha jól is teljesítettél az interjúkon, de a projekt keresési szakaszban egy csapat sem választott ki, (és lehet, hogy senki sem is beszélgetett veled), akkor sajnos offerek nélkül maradhatsz.
Amerika vagy Európa?
Ezen kívül el kell döntened, hogy hol fog zajlani a gyakornoki programod. Az én választásom az Egyesült Államok és . Fontos ismerni néhány sajátosságot. Például van egy érzésem, hogy az Egyesült Államokba való bejutás nehezebb. Először is, egy 90 perces, algoritmikus feladatokat megoldó plusz versenyen kell részt venned, emellett lesz még egy 15 perces kérdőív, amely az életedben rejlő személyiséget próbálja feltárni. Másodszor, tapasztalataim és barátaim tapasztalatai alapján a csapat keresési szakaszában irántad való érdeklődés ritkább. Például 2017-ben csak egy beszélgetésem volt, amely után a csapat másik jelöltet választott, így nem kaptam ajánlatot. Ezzel szemben azoknak, akik Európába pályáztak, 4-5 projektjük volt. 2018 januárjában találtak nekem csapatot, ami elég késő volt. A fiúk New Yorkban dolgoztak, tetszett a projektjük, így beleegyeztem.
Ahogy látod, az Egyesült Államokkal minden egy kicsit bonyolultabb. De jobban szerettem volna oda eljutni, mint Európába. Ráadásul az Egyesült Államokban még többet is fizetnek.

Mi a teendő ezután?
A gyakornokság végén két opciód van:
- Gyakornoki programot szerezni a következő évre.
- Két technikai interjún kell részt venni a teljes munkaidős pozíció megszerzéséhez.
Ezek a két lehetőség akkor állnak rendelkezésre, ha sikeresen teljesítetted a jelenlegi projektedet. Ha ez a gyakornoki program nem az első, akkor akár teljes munkaidős pozíciót is kaphatsz interjúk nélkül.
Ezért a következő helyzet merül fel, amelyet egy kép illusztrálhat:

Mivel ez volt az első gyakornoki programom, úgy döntöttem, hogy részt veszek két technikai interjún a teljes munkaidős pozíció megszerzéséhez. Az eredmények alapján ajánlatot kaptam, és elkezdtek csapatot keresni, de elutasítottam ezt az opciót, mert úgy döntöttem, hogy befejezem a mesterképzésemet. A Google valószínűleg nem fog eltűnni 2-3 éven belül.
Zárás
Barátok, remélem, hogy érthetően és világosan elmondtam, hogyan néz ki az út a diáktól a gyakornokig (és utána vissza…), és hogy ez az anyag eljut a megfelelő olvasóhoz, akinek hasznos lehet. Ahogy látjátok, ez nem annyira nehéz, mint amilyennek tűnik, csak le kell küzdeni a lustaságot és a félelmeket, és el kell kezdeni a próbálkozást!
P.S. Van egy a telegráfban, amelybe érdemes benézni.
Forrás: habr.com
