Hvordan man kommer på praktikplads hos Google

For en uge siden fortalte vi om vores uddannelsesprogrammer , hvor kommentarerne påpegede vigtigheden af praktikophold og praktisk erfaring. Det er der ikke noget at sige imod, da teoretisk viden skal cementeres med praktisk erfaring. Med dette indlæg åbner vi en serie artikler om sommerpraktikpladser for studerende: hvordan man kommer ind, hvad man laver der, og hvorfor det er en god ting.

I den første artikel vil jeg fortælle, hvordan man succesfuldt gennemgår alle faser af samtalerne og får en praktikplads hos Google.

Hvordan man kommer på praktikplads hos Google

Lidt om mig selv

Jeg er førstårsstuderende på kandidatuddannelsen på Peter-campus i HSE og har afsluttet bacheloruddannelsen på det Akademiske Universitet inden for maskinlæring. Under mit bachelorstudie har jeg aktivt deltageret i sportsprogrammering samt deltaget i forskellige hackathons. Man kan læse om de seneste her, her og her.

Om praktikopholdet

For at starte vil jeg gerne fortælle lidt om, hvordan et praktikophold hos Google ser ud indenfra.

Hver praktikant, der kommer til Google, bliver knyttet til et bestemt team. Det kan være et team, der arbejder med udviklingen af intern infrastruktur, som personen ikke har hørt om uden for virksomheden, eller et produkt, som millioner af mennesker bruger over hele verden. Sådanne produkter kan være de velkendte YouTube, Google Docs og andre. Da udviklingen af disse projekter involverer dusinvis, ja, hundreder af udviklere, vil du blive en del af et team, der specialiserer sig i en specifik del af det. For eksempel arbejdede jeg om sommeren 2018 med Google Docs og tilføjede ny funktionalitet til arbejde med regneark.

Da du er praktikant i virksomheden, har du en manager, som kaldes en host. Det er en almindelig fuldtidsansat, der selv arbejder med produktudvikling. Hvis der er noget, du ikke ved, ikke kan løse, eller du støder på problemer, skal du henvende dig til vedkommende. Der bliver normalt planlagt ugentlige one-on-one møder, hvor du kan diskutere den aktuelle situation i arbejdet med projektet eller snakke om noget, der slet ikke relaterer sig til arbejdet. Desuden er hosten en af de personer, der vil evaluere dit arbejde i løbet af praktikopholdet. Der vil også være en anden, ekstra reviewer. Og selvfølgelig er de interesseret i, at alt går godt for dig.

I Google vil du få hjælp, men det er ikke sikkert; det er en god vane at skrive et design dokument (design document), før du går i gang med noget. For dem der ikke ved hvad et design dokument er, så er det et dokument, der beskriver essensen af et eksisterende problem samt en detaljeret teknisk beskrivelse af hvordan det vil blive løst. Et design dokument kan skrives både for et helt produkt og for en bestemt ny funktionalitet. Ved at læse sådan dokumentation kan man forstå, hvad formålet med produktet var, og hvordan det blev realiseret. Man ser ofte dialoger mellem ingeniører i kommentarerne, som diskuterer forskellige måder at implementere en del af projektet på. Dette giver en god forståelse af, hvorfor hver beslutning blev truffet.

En særlig aspekt af praktikopholdet er, at du vil få mulighed for at bruge de fantastiske interne udviklingsværktøjer, som Google har et enormt antal af. Efter at have arbejdet med dem og talt med mange mennesker, der tidligere har arbejdet hos Amazon, Nvidia og andre velkendte teknologiske virksomheder, kan jeg konkludere, at disse værktøjer har stor sandsynlighed for at være de bedste, du nogensinde vil støde på i dit liv. For eksempel tillader et værktøj kaldet Google Code Search ikke blot at gennemse hele kodebasen og historien for hver enkelt linje kode, men giver også mulighed for navigation i koden, som vi kender det i moderne udviklingsmiljøer som Intellij Idea. Og til det har du kun en browser brug for! En ulempe ved denne funktionalitet er, at du vil mangle disse samme værktøjer uden for Google.

Når vi taler om fordele, så har virksomheden fantastiske kontorer, de serverer godt mad, tilbyder et fitnesscenter, god forsikring og andre goder. Jeg lader bare et par billeder fra kontoret i New York her:

Hvordan man kommer på praktikplads hos Google
Hvordan man kommer på praktikplads hos Google
Hvordan man kommer på praktikplads hos Google

Hvordan får man et jobtilbud?

Oversigt

Nu er det tid til at tale om noget mere alvorligt: hvordan kommer man til at få en praktikplads?

Her handler det ikke om Google, men om hvordan det generelt foregår. Jeg vil skrive om de specifikke udvælgelsesprocesser for praktikanter i Google nedenfor.

Interviewprocessen i virksomheden vil sandsynligvis se nogenlunde sådan her ud:

  1. Ansøgning til praktikplads
  2. Contest på Hackerrank/TripleByte Quiz
  3. Screening interview
  4. Første tekniske interview
  5. Andet teknisk interview
  6. Onsite interview

Ansøgning til praktikplads

Det er tydeligt, at alt starter med dit ønske om at komme i praktik. For dette skal du udtrykke det ved at udfylde ansøgningsskemaet på virksomhedens hjemmeside. Hvis du har (eller dine venner har) bekendte, der arbejder der, kan du forsøge at komme ind gennem dem. Denne mulighed er at foretrække, da den hjælper dig med at skille dig ud fra den enorme strøm af andre studerende. Hvis denne mulighed ikke er tilgængelig, så ansøg selv.

Prøv ikke at blive alt for nedslået, når du modtager e-mails med indhold som 'du er så fantastisk, men vi har valgt andre kandidater'. Og her har jeg et råd til dig:

Hvordan man kommer på praktikplads hos Google

Contest på Hackerrank/TripleByte Quiz

Hvis rekruttereren kan lide dit CV, vil du modtage en e-mail med den næste opgave inden for 1-2 uger. Sandsynligvis vil du blive bedt om at deltage i en contest på Hackerrank, hvor du skal løse algoritmiske opgaver inden for en tidsramme, eller TripleByte Quiz, hvor du skal besvare forskellige spørgsmål relateret til algoritmer, softwareudvikling og opbygning af lavniveau-systemer. Dette trin fungerer som et første filter i udvælgelsesprocessen.

Screening interview

Hvis du har bestået prøven, venter der dig et screening-interview, hvor du skal tale med rekruttereren om dine interesser og de projekter, virksomheden tilbyder praktikanter. Hvis du viser interesse, og din tidligere erfaring opfylder virksomhedens forventninger, vil du få grønt lys. Efter min erfaring er dette det mest uforudsigelige sted i hele processen, som i høj grad afhænger af rekruttereren.

Hvis du har klaret de tre prøver, er den største del af tilfældigheden allerede bag dig. Derefter kommer de tekniske interviews, som i højere grad afhænger af dig, og det betyder, at du har mere indflydelse på udfaldet. Og det er godt!

Tekniske interviews

Dernæst kommer de tekniske interviews, som normalt afholdes over Skype eller Hangouts. Men nogle gange forekommer der mere eksotiske tjenester, der kræver installation af yderligere software. Sørg derfor for at kontrollere, at alt fungerer på din computer i forvejen.

Formatet for tekniske interviews afhænger i høj grad af den stilling, du ansøger til. Hvis det handler om en stilling som Software Engineering Intern, vil du sandsynligvis få et par algoritmiske opgaver, som du skal kode i en online kodeeditor, for eksempel coderpad.io. Du kan også blive stillet spørgsmål om objektorienteret design for at vurdere, hvor godt du forstår softwaredesign. For eksempel kan du blive bedt om at designe en simpel online-butik. Faktisk har jeg aldrig stødt på en opgave, hvor det virkelig kunne vurderes, hvor godt man behersker denne færdighed. I slutningen af interviewet får du helt sikkert mulighed for at stille spørgsmål. Jeg anbefaler stærkt at tage dette seriøst, da du med spørgsmålene kan vise din interesse for projektet og demonstrere din viden om emnet. Jeg forbereder normalt på forhånd en liste over potentielle spørgsmål:

  • Hvordan foregår arbejdet med projektet?
  • Hvilken vanskelig opgave har du for nylig løst?
  • Hvad er udviklerens bidrag til det endelige produkt?
  • Hvorfor valgte du at arbejde i denne virksomhed?

Det er ikke altid, at du bliver interviewet af den person, du senere skal arbejde med. Derfor kan de sidste spørgsmål give en indikation af, hvad der sker i virksomheden generelt. For mig er det for eksempel vigtigt at have indflydelse på det endelige produkt.

Hvis du klarer den første samtale godt, vil du blive tilbudt en anden. Den vil adskille sig fra den første ved intervieweren og opgaverne. Formatet vil sandsynligvis forblive det samme. Efter den anden samtale kan der også blive tilbudt en tredje.

Onsite interview

Hvis du indtil nu ikke er blevet afvist, venter der dig et onsite interview, hvor kandidaten inviteres til samtale på virksomhedens kontor. Normalt består det af flere tekniske interviews og et adfærdsmæssigt interview. Under det adfærdsmæssige interview taler du med lederen om dine projekter, hvilke beslutninger du har truffet i forskellige situationer og lignende. Det vil sige, at intervieweren forsøger at forstå din personlighed bedre og få et mere detaljeret indblik i din erfaring. Nogle virksomheder, der holder 3-4 tekniske interviews, tilbyder i stedet for onsite-interviewet at gennemføre kun et adfærdsmæssigt interview online.

Nu er der kun tilbage at vente på svaret fra rekrutteringsansvarlig. Hvis alt er forløbet glat, skal du helt sikkert modtage en e-mail med det ventede tilbud. Hvis der ikke kommer et tilbud — skal du ikke blive ked af det. Virksomheder afviser systematisk gode kandidater. Prøv at ansøge igen til praktikken næste år.

Kodningsinterview

Vent lige… Vi har endnu ikke været til nogle interviews. Vi har kun lært, hvordan hele processen ser ud, og nu skal vi forberede os grundigt til samtalerne, så vi ikke mister muligheden for at tilbringe sommeren på en god og nyttig måde.

Der er sådanne ressourcer som Codeforces, Topcoder og Hackerrank, som jeg allerede har nævnt. På disse platforme kan man finde et stort antal algoritmiske opgaver samt indsende deres løsninger til automatisk vurdering. Det hele er fantastisk, men det minder mig snarere om at skyde med kanoner efter spurve. Mange opgaver på disse ressourcer er designet til at tage lang tid at løse, kræver viden om avancerede algoritmer og datastrukturen, mens opgaverne til interviews normalt ikke er så komplekse og er designet til 5-20 minutter. Derfor passer en sådan ressource som LeetCode, som blev skabt som et værktøj til forberedelse til tekniske interviews, langt bedre til vores tilfælde. Hvis du løser 100-200 opgaver af forskellig sværhedsgrad, er der en stor sandsynlighed for, at du ikke vil få problemer under interviewet. Blandt de værdige er også Facebook Code Lab, hvor du kan vælge varigheden af sessionen, for eksempel 60 minutter, og systemet vil vælge et sæt opgaver, som i gennemsnit tager ikke mere end en time at løse.

Mange anbefaler også at læse bogen “Cracking the Coding InterviewJeg læste kun udvalgte dele af den. Men det skal bemærkes, at jeg løste mange algoritmeopgaver i min skoletid. Hvis man ikke har den erfaring, er det alligevel værd at bladre i denne bog.

Hvis du har haft få tekniske interviews i udenlandske virksomheder, anbefales det at tage et par prøver. Men jo flere, jo bedre. Det vil hjælpe dig til at føle dig mere sikker under interviewet og mindre nervøs. Prøveinterviews kan arrangeres på Pramp.

Adfærdsmæssige interviews

Som jeg allerede nævnte, forsøger intervieweren under adfærdsmæssige interviews at få en dybere forståelse af din erfaring og din karakter. Hvad nu hvis du er en fremragende udvikler, men ikke kan arbejde i et team? Jeg frygter, at mange ikke vil acceptere det. For eksempel kan du få spørgsmålet: „Hvad er din svage side?“ Udover denne type spørgsmål vil du blive bedt om at fortælle om projekter, hvor du har haft en nøglerolle, om problemer, du er stødt på, og hvordan de blev løst. Det er værd at bemærke, at du også kan blive spurgt om dette i de første minutter af tekniske interviews. Hvordan man forbereder sig til sådanne interviews er godt beskrevet i et af kapitlerne i „Cracking the Coding Interview“.

Google

Nu, hvor det er klart, hvordan udvælgelsesprocessen for praktikantstillinger ser ud i almindelighed, og hvordan man forbereder sig til interviews, er det tid til at tale om, hvordan det fungerer i tilfælde af Google.

Listen over tilgængelige praktikpladser kan findes her. Hvis du planlægger at tage på sommerpraktik, er det en god idé at begynde at ansøge allerede i september.

Interviews

Her ser processen lidt anderledes ud. Du vil have et screening interview og to tekniske. Hvis du klarer dig godt, går du videre til stadiet med at finde et projekt. Du skal udfylde et ret langt skema, hvor du angiver alle dine nuværende færdigheder, samt dine præferencer for emnet for dit projekt og den placering, hvor du ønsker at gennemføre praktikken.

Det er meget vigtigt at udfylde denne ansøgning godt og omhyggeligt! Potentielle værter, der søger folk til deres projekter, gennemgår tilgængelige praktikanter og holder samtaler med de kandidater, de finder interessante. De kan filtrere studerende efter placering, nøgleord, markerede punkter i ansøgningen og sortere efter points fra samtaler.

Under samtalen fortæller intervieweren om projektet, som du skal arbejde på, og spørger om kandidatens erfaring. Her er der en fremragende mulighed for at finde ud af, hvordan arbejdsprocessen egentlig ser ud, da du taler med en person, der vil blive din vært. Efter samtalen skriver du en mail til rekrutteren med dine indtryk af projektet. Hvis du kunne lide projektet, og intervieweren kunne lide dig, venter et tilbud. Ellers må du forvente efterfølgende telefonopkald, som kan være 2-3-4 stykker, eller måske flere eller slet ingen. Det er værd at nævne, at selv hvis du klarede samtaler godt, men ingen hold valgte dig under projektet (og måske slet ingen talte med dig), vil du desværre ikke få et tilbud.

Amerika eller Europa?

Derudover skal du beslutte, hvor din praktik skal finde sted. Jeg havde valg mellem USA og EMEA. Og det er vigtigt at kende nogle særlige kendetegn. For eksempel er der en opfattelse af, at det er sværere at komme til USA. For det første skal du gennemføre en ekstra test, der varer 90 minutter, hvor du skal løse algoritmiske opgaver, samt endnu en 15-minutters spørgeskema, der prøver at afdække din personlighed. For det andet, ud fra min erfaring og mine venners erfaring, er der mindre interesse for dig i team-søgningsfasen. For eksempel i 2017 havde jeg kun én samtale, efter hvilken teamet valgte en anden kandidat, og jeg fik ikke et tilbud. Mens drengene, der ansøgte i Europa, havde 4-5 projekter. I 2018 fandt de et team til mig i januar, hvilket var ret sent. Drengene arbejdede i New York, jeg kunne lide deres projekt, og jeg sagde ja.

Som du kan se, er det lidt mere kompliceret med USA. Men jeg ønskede at komme dertil mere end til Europa. Desuden betaler de også bedre i USA.

Hvordan man kommer på praktikplads hos Google

Hvad skal man gøre efter?

Ved slutningen af praktikken har du to muligheder:

  • Få en praktikplads næste år.
  • Gennemgå to tekniske samtaler for at få en fuldtidsstilling.

Disse to muligheder er tilgængelige, hvis du har gjort det godt i dit nuværende projekt. Hvis dette ikke er din første praktikplads, kan du endda blive tilbudt en fuldtidsstilling uden samtaler.

Derfor opstår følgende situation, som kan beskrives med ét billede:

Hvordan man kommer på praktikplads hos Google

Da dette var min første praktikplads, besluttede jeg at gennemgå to tekniske samtaler for at få en fuldtidsstilling. På baggrund af deres resultater blev jeg tilbudt en stilling, og de begyndte at lede efter et team, men jeg afviste denne mulighed, da jeg besluttede at afslutte min kandidatuddannelse. Google forsvinder næppe om 2-3 år.

Konklusion

Venner, jeg håber, at jeg tilgængeligt og klart har forklaret, hvordan vejen fra studerende til praktikant ser ud, (og så tilbage…), og dette materiale vil finde sin læser, som vil finde det nyttigt. Som du kan se, er det ikke så svært, som det kan virke, du skal blot afvise din dovenskab, dine frygt og begynde at prøve!

P.S. Jeg har også en kanal på Telegram, som du kan tjekke ud.

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster