Před týdnem jsme hovořili o , kde nám v komentářích sdělili důležitost stáží a praktických zkušeností. S tím se nedá než souhlasit, protože teoretické znalosti je třeba upevnit praxí. Tímto příspěvkem otevíráme sérii článků o letních stážích studentů: jak se studenti dostanou na stáž, co tam dělají a proč je to dobré.
V prvním článku budu vyprávět, jak úspěšně projít všemi fázemi pohovorů a dostat se na stáž do Google.
Něco málo o sobě
Jsem student prvního ročníku magisterského studia na Peterburgském kampusu Vysoké školy ekonomické, dokončil jsem bakalářské studium na Akademickém univerzitě v oboru strojového učení. Během bakalářského studia jsem aktivně byl zapojen do sportovního programování a účastnil jsem se různých hackathonů. O těch posledních si můžete přečíst , a .
O stáži
Na úvod bych chtěl trochu přiblížit, jak taková stáž v Google vypadá zevnitř.
Každého stážistu, který přichází do Google, přiradí k nějakému týmu. To může být tým, který se zabývá vývojem interní infrastruktury, o které člověk mimo firmu nic neví, nebo produkt, který používají miliony lidí po celém světě. Takovými produkty mohou být dobře známé YouTube, Google Docs a další. Protože se vývojem těchto projektů zabývají desítky, někdy i stovky vývojářů, dostanete se do týmu, který se specializuje na nějakou užší část tohoto projektu. Například v létě 2018 jsem pracoval na Google Docs, kde jsem přidával novou funkčnost pro práci s tabulkami.
Protože jste ve firmě stážista, máte manažera, kterému se říká hostitel. To je běžný full-time zaměstnanec, který se také zabývá vývojem produktů. Pokud něco nevíte, nemůžete si s něčím poradit nebo narazíte na problémy, měli byste se obrátit na něj. Obvykle se konají týdenní one-on-one schůzky, kde můžete prodiskutovat aktuální situaci v práci na projektu nebo si popovídat o něčem úplně jiném. Kromě toho je hostitel jedním z těch lidí, kteří budou hodnotit vaši práci během stáže. Vyhodnocovat ji bude i druhý, dodatečný, revizor. A samozřejmě, jsou zainteresováni na tom, aby se vám dařilo.
V Googlu vám přispějí, ale to není jisté. Je dobrým zvykem napsat design dokument (dizdok) před tím, než začnete cokoliv dělat. Pro ty, kteří nevědí, dizdok je dokument, který shrnuje podstatu existujícího problému a také podrobné technické popisy jeho řešení. Dizdok lze psát jak pro celý produkt, tak pro určitou novou funkčnost. Přečtením této dokumentace si můžete udělat představu o tom, s jakým cílem byl produkt navržen a jak byl realizován. Často také v komentářích můžete vidět dialogy mezi inženýry, kteří diskutují o různých způsobech realizace určité části projektu. To poskytuje dobré porozumění tomu, jak bylo každé rozhodnutí učiněno.
Specifika stáže spočívají v tom, že budete mít možnost používat úžasné interní vývojové nástroje, jichž má Google obrovské množství. Po práci s nimi a po rozhovorech s mnoha lidmi, kteří předtím pracovali v Amazonu, Nvidii a dalších široce známých technologických společnostech, mohu říci, že tyto nástroje mají velké šance být nejlepšími mezi všemi, které jste kdy ve svém životě potkali. Například nástroj nazvaný Google Code Search umožňuje ne jen procházet celou kódovou základnu, historii změn každého řádku kódu, ale také nabízí možnosti navigace po kódu, na které jsme zvyklí v moderních vývojových prostředích, jako je Intellij Idea. A k tomu potřebujete jen prohlížeč! S touto výhodou souvisí i nevýhoda, že mimo Google vám budou tyto nástroje chybět.
Co se týče výhod, společnost má skvělé kanceláře, dobře se stravujete, poskytují fitness centrum, dobré pojištění a další výhody. Jen tu zanechám pár fotek z newyorské kanceláře:



Jak získat nabídku?
Přehled
Teď nadešel čas mluvit o něčem vážnějším: jak se dostat na stáž?
Tady se nebude mluvit o Googlu, ale o tom, jak to obvykle bývá. O zvláštnostech procesu výběru stážistů v Googlu napíši níže.
Proces pohovoru ve společnosti pravděpodobně bude vypadat nějak takto:
- Žádost o stáž
- Soutěž na Hackerrank / TripleByte kvíz
- Screeningový pohovor
- První technický pohovor
- Druhý technický pohovor
- Onsite pohovor
Žádost o stáž
Je jasné, že všechno začíná vašim přáním dostat se na stáž. K tomu je potřeba to vyjádřit vyplněním dotazníku na webu společnosti. Pokud máte (nebo vaši přátelé) známé, kteří tam pracují, můžete se pokusit dostat přes ně. Tato možnost je preferovaná, protože vám pomáhá odlišit se z obrovského davu ostatních studentů. Pokud taková možnost není, přihlašujte se sami.
Snažte se příliš nezoufat, když vám na email budou chodit zprávy ve stylu "jste skvělí, ale vybrali jsme jiné kandidáty". A zde mám pro vás jednu radu:

Soutěž na Hackerrank / TripleByte kvíz
Pokud se vaše životopis líbí recruiterovi – během 1-2 týdnů obdržíte email s následujícími úkoly. Pravděpodobně vám nabídnou účast na konkursu na Hackerrank, kde v daném čase budete muset řešit algoritmické úlohy, nebo na TripleByte Quiz, kde budete odpovídat na různé otázky týkající se algoritmů, vývoje softwaru a fungování nízkoúrovňových systémů. Tato fáze slouží jako prvotní filtr v procesu výběru kandidátů.
Screeningový pohovor
Pokud jste úspěšně složili tuto zkoušku, čeká vás screeningové pohovor, na kterém si budete povídat s recruiterem o vašich zájmech a o projektech, které společnost nabízí stážistům. Pokud projevíte zájem a vaše předchozí zkušenosti budou odpovídat očekáváním společnosti, dostanete zelenou. Podle mých zkušeností je toto nejvíce nepředvídatelná část celého procesu, která značně závisí na recruiterovi.
Pokud jste se těmito třemi zkouškami prošli, hlavní část náhody je už za vámi. Nyní vás čekají technické pohovory, které už více závisí na vás, a tudíž můžete více ovlivnit jejich výsledek. A to je dobré!
Technické pohovory
Dále následují technické pohovory, které se obvykle konají přes Skype nebo Hangouts. Občas se však objeví i exotičtější služby, které vyžadují instalaci dodatečného software. Proto se předem ujistěte, že na vašem počítači vše funguje.
Formát technických pohovorů se výrazně liší v závislosti na pozici, na kterou se ucházíte. Pokud jde o pozici Software Engineering Intern, pravděpodobně vám nabídnou několik algoritmických úloh, které budete muset vyřešit v nějakém online editoru kódu, například na . Mohou vám také položit otázku týkající se objektově orientovaného designu, abyste ukázali, jak dobře rozumíte návrhu softwaru. Například mohou požádat o návrh jednoduchého online obchodu. Nicméně se mi ještě nikdy nestalo, že by úkol skutečně posoudil tuto dovednost. Na konci pohovoru vám jistě dají příležitost položit otázky. Důrazně doporučuji přistupovat k tomu vážně, protože otázkami můžete ukázat svůj zájem o projekt a prokázat svou odbornost v dané oblasti. Obvykle si předem připravuji seznam potenciálních otázek:
- Jak je uspořádána práce na projektu?
- Jakou složitou úlohu jste museli řešit v poslední době?
- Jaký je přínos vývojáře pro konečný produkt?
- Proč jste se rozhodli pracovat v této společnosti?
Ne vždy vás vyslýchá osoba, se kterou poté budete pracovat. Proto vám poslední otázky mohou poskytnout přehled o tom, jak to ve společnosti funguje obecně. Pro mě je například důležité, abych měl vliv na konečný produkt.
Pokud úspěšně projdete prvním pohovorem, nabídnou vám druhé. To se od prvního liší interviewerem a příslušně i úlohami. Formát pravděpodobně zůstane stejný. Po absolvování druhého pohovoru vám mohou nabídnout i třetí.
Onsite pohovor
Pokud vám dosud neodmítli, čeká vás onsite pohovor, kdy je kandidát pozván na pohovor do kanceláře firmy. Obvykle se skládá z několika technických pohovorů a jednoho behaviorálního. Během behaviorálního pohovoru diskutujete s manažerem o vašich projektech, o rozhodnutích, která jste činili v různých situacích, a podobně. To znamená, že se tazatel snaží lépe pochopit vaši osobnost a podrobněji proniknout do vašeho zkušenostního pozadí. Některé firmy, které pořádají 3-4 technické pohovory, nabízejí místo onsite pohovoru pouze jeden behaviorální pohovor vzdáleně.
Nyní zbývá jen čekat na odpověď od recruiter. Jestli všechno proběhlo hladce, určitě dostanete e-mail s vytouženou nabídkou. Pokud nabídka nepřijde — nezoufejte. Firmy systematicky odmítají dobré kandidáty. Zkuste se ještě jednou ucházet o stáž příští rok.
Kódovací pohovor
Počkejte… Ještě jsme neprošli žádnými pohovory. Jen jsme si uvědomili, jak vypadá celý proces a nyní se musíme pořádně připravit na pohovory, abychom nepropásli šanci strávit léto příjemně a smysluplně.
Existují takové zdroje jako , a , který jsem již zmínil. Na těchto platformách můžete najít velké množství algoritmických úloh a také odesílat jejich řešení na automatickou kontrolu. To je všechno skvělé, ale připomíná mi to víc střelbu z děla na vrabce. Mnoho úloh na těchto zdrojích je navrženo na dlouhý čas řešení, vyžadují znalosti pokročilých algoritmů a datových struktur, zatímco úlohy na pohovorech obvykle nejsou tak složité a jsou navrženy na 5-20 minut. Proto v našem případě mnohem lépe vyhovuje takový zdroj, jako je , který byl vytvořen jako nástroj pro přípravu na technické pohovory. Pokud vyřešíte 100-200 úloh různé obtížnosti, s velkou pravděpodobností nebudete mít problémy během pohovoru. Zde je také další užitečný zdroj, , kde si můžete vybrat dobu trvání sezení, například 60 minut, a systém vám vybere sadu úloh, jejichž řešení obvykle zabere maximálně hodinu.
Mnozí také doporučují přečíst knihu „Já jsem si vybíral pouze některé její části. Je však třeba poznamenat, že jsem během svých školních let řešil spoustu algoritmických úloh. Pokud někdo neměl takovou zkušenost, stojí za to tuto knihu alespoň prolistovat.
Pokud jste v životě měli málo technických pohovorů v zahraničních firmách, doporučuje se absolvovat několik zkušebních. Čím více, tím lépe. Pomůže vám to cítit se během pohovoru jistěji a méně nervózně. Zkušební pohovory můžete zorganizovat na .
Behaviorální pohovory
Jak již bylo zmíněno, během behaviorálního pohovoru se dotazovatel snaží podrobněji poznat vaše zkušenosti a pochopit vaši povahu. Co když jste skvělý vývojář, ale nejste schopni pracovat v týmu? Obávám se, že mnozí s tím nebudou spokojeni. Například se vás mohou zeptat: „Jaká je vaše slabá stránka?“ Kromě podobných otázek budete vyzváni, abyste vyprávěli o projektech, ve kterých jste hráli klíčovou roli, o problémech, se kterými jste se setkali, a také o jejich řešení. Je třeba poznamenat, že na začátku technických pohovorů se vás na to také mohou zeptat. O přípravě na takové pohovory je dobře napsáno v jedné z kapitol v „Cracking the Coding Interview“.
Nyní, když je jasné, jak vypadá proces výběru stážistů obecně a jak se připravit na pohovory, je čas probrat, jak to funguje v případě Google.
Seznam dostupných stáží najdete . Pokud plánujete odjet na letní stáž, měli byste začít se přihlásit už v září.
Pohovory
Zde proces vypadá poněkud neobvykle. Budete mít screeningový pohovor a dva technické. Pokud se v nich dobře předvedete, přejdete do fáze hledání projektu. Budete muset vyplnit poměrně dlouhý dotazník, ve kterém uvedete všechny své aktuální dovednosti a vyjádříte preference ohledně tématu projektu a místa, kde chcete stáž absolvovat.
Je velmi důležité tuto anketu dobře a s pečlivostí vyplnit! Potenciální hostitelé, kteří hledají lidi do svých projektů, procházejí dostupné stážisty a pořádají pohovory s těmi kandidáty, kteří se jim líbí. Mohou filtrovat studenty podle lokace, klíčových slov, zaškrtnutí v dotazníku a třídit podle bodů z pohovorů.
Během pohovoru vypravěč mluví o projektu, na kterém budete pracovat, a také se dozví o zkušenostech kandidáta. Tento moment je skvělou příležitostí zjistit, jak bude proces práce opravdu vypadat, neboť komunikujete s osobou, která bude vaším hostitelem. Po pohovoru napíšete e-mail recruiterovi se svými dojmy o projektu. Pokud se vám projekt líbil a vy jste se líbili vypravěči, čeká vás nabídka. V opačném případě budete čekat na další telefonáty, kterých může být 2-3-4, nebo možná více a žádné nepřijdou. Je třeba zdůraznit, že i když jste pohovory prošli dobře, ale v průběhu vyhledávání projektu vás nevybrala žádná tým (a možná ani nikdo s vámi nepromluvil), pak, bohužel, zůstanete bez nabídky.
Amerika nebo Evropa?
Kromě toho se budete muset rozhodnout, kde se vaše stáž bude konat. Já jsem měl na výběr mezi USA a . A zde je důležité znát některé specifikace. Například se zdá, že do USA je obtížnější se dostat. Za prvé, budete muset projít dodatečným testem, který trvá 90 minut, kde budete řešit algoritmické úkoly, a také ještě jedním 15minutovým dotazníkem, který se snaží odhalit vaši osobnost. Za druhé, podle mé zkušenosti a zkušeností mých přátel, zájem o vás je ve fázi vyhledávání týmu méně častý. Například v roce 2017 jsem měl pouze jeden pohovor, po kterém tým vybral jiného kandidáta, a já jsem nedostal nabídku. Zatímco kolegové, kteří se hlásili do Evropy, měli 4-5 projektů. V roce 2018 mi našli tým v lednu, což je poměrně pozdě. Kluci pracovali v New Yorku, líbil se mi jejich projekt a souhlasil jsem.
Jak vidíte, se Spojenými státy je vše trochu složitější. Ale chtěl jsem se tam dostat více než do Evropy. Navíc se v USA platí více.

Co dělat poté?
Na konci stáže máte dvě možnosti:
- Získat stáž na další rok.
- Projít dvěma technickými pohovory, abyste získali práci na plný úvazek.
Tyto dvě možnosti jsou k dispozici za předpokladu, že jste úspěšně splnili svůj aktuální projekt. Pokud je tato stáž vaší první, mohou vám dokonce nabídnout práci na plný úvazek bez pohovorů.
Proto vzniká následující situace, kterou lze popsat jedním obrázkem:

Protože to byla má první stáž, rozhodl jsem se projít dvěma technickými pohovory, abych získal práci na plný úvazek. Na základě jejich výsledků mi nabídli místo a začali hledat tým, ale tuto možnost jsem odmítl, protože jsem se rozhodl dokončit magisterské studium. Google rozhodně nezmizí za 2-3 roky.
Závěr
Přátelé, doufám, že jsem srozumitelně a jasně popsal, jak vypadá cesta od studenta k internovi (a pak zpět…), a tento materiál najde svého čtenáře, kterému se ukáže jako užitečný. Jak vidíte, není to tak složité, jak by se mohlo zdát, stačí odhodit svou lenost, strachy a začít to zkoušet!
P.S. Mám tu také na Telegramu, kam se můžete podívat.
Zdroj: habr.com
