Hvernig ég komst í ThoughtWorks eða sýnisviðtal

Hvernig ég komst í ThoughtWorks eða sýnisviðtal

Finnst þér það ekki skrítið að þegar þú ert að fara að skipta um starf og þörfin kemur upp á að standast viðtal, þá er það fyrsta sem þú hugsar um að "þú þarft að undirbúa þig fyrir viðtalið." Leystu vandamál á HackerRank, lestu Crack kóðunarviðtalið, minntu hvernig ArrayList virkar og hvernig það er frábrugðið LinkedList. Ó já, þeir gætu líka spurt um flokkun og það væri augljóslega ófagmannlegt að segja að fljótflokkun væri líklega besti kosturinn.
En bíddu, þú forritar 8 tíma á dag, leysir áhugaverð og óléttvæg vandamál og í nýju starfi muntu gera það sama, plús eða mínus. En engu að síður, til að standast viðtal, þarftu einhvern veginn að undirbúa þig til viðbótar, ekki einu sinni skerpa á daglegri kunnáttu þinni, heldur læra eitthvað sem þú þarft ekki í núverandi starfi þínu og er ólíklegt að þú þurfir á því næsta. Á móti mótmælum þínum um að tölvunarfræði sé okkur í blóð borin og ef þú vekur okkur um miðja nótt, ber okkur að skrifa lokuð augun á koddaver gönguferð um breidd trés án þess þó að komast til meðvitundar, ég mun svara því að ef ég fengi vinnu í sirkus, og aðalatriðið mitt væri einmitt þetta - þá kannski já, ég er sammála. Þessa kunnáttu þarf að prófa.

En hvers vegna að prófa færni sem er óviðkomandi núverandi starfi þínu? Bara vegna þess að það varð í tísku? Af því að Google gerir þetta? Eða vegna þess að framtíðarteymisstjórinn þinn þurfti að læra allar flokkunaraðferðirnar fyrir viðtalið og nú telur hann að „sérhver góður forritari verði að vita utanað útfærsluna á því að finna palindrome í streng.

Jæja, þú ert ekki Google (c). Það sem Google hefur efni á geta venjuleg fyrirtæki ekki. Google, eftir að hafa greint gögn starfsmanna sinna, komst að þeirri niðurstöðu að verkfræðingar með bakgrunn í Ólympíuleikunum séu góðir í að takast á við ákveðin verkefni sín. Þar að auki, með því að hanna valferli sitt, hafa þeir efni á að taka áhættuna á því að þeir gætu ekki ráðið nokkra góða verkfræðinga vegna þess að þeir geta ekki auðveldlega brotið upp stærðfræðivandamál. En þetta er ekkert vandamál fyrir þá, það eru margir sem vilja vinna hjá Google, stöðunni verður lokað.
Nú skulum við líta út um gluggann, og ef verkfræðingarnir sem vilja vinna fyrir þig hafa ekki enn sett upp tjaldbúðir fyrir framan skrifstofuna þína og verkfræðingar þínir eru oftar að leita á stackoverflow að því hvaða næsta vorskýring þarf að setja upp, frekar en ranghala röðunaralgríma, þá er greinilega kominn tími til að þú hugsir um hvort þú ættir að afrita Google.

Jæja, ef Google mistókst að þessu sinni og gaf ekki svar, hvað ættir þú að gera? Athugaðu nákvæmlega hvað verktaki mun gera í vinnunni. Hvað metur þú í þróunaraðilum?
Gerðu viðmið fyrir hvern þú vilt ráða og þróaðu próf sem prófa nákvæmlega þessa hæfileika.

ThoughtWorks

Hvað hefur ThoughtWorks með þetta að gera? Hér fann ég dæmi um fyrirmyndarviðtal fyrir sjálfan mig. Hver eru ThoughtWorks? Í stuttu máli er þetta háþróað ráðgjafafyrirtæki með skrifstofur um allan heim, allt frá Kína, Singapúr til heimsálfa Ameríku, sem hefur sinnt ráðgjöf á sviði þróunar í um 25 ár, hefur sína eigin vísindadeild, undir forystu Martin. Fowler. Ef þú leitar að lista yfir 10 bækur sem þú verður að lesa fyrir hugbúnaðarverkfræðing, þá verða kannski 2-3 þeirra skrifaðar af strákunum frá ThoughtWorks, eins og Refactoring By Martin Fowler og Building Microservices: Designing Fine-Grained Systems eftir Sam Newman eða Building Evolutionary Architectures
eftir Patrick Kua, Rebecca Parsons, Neal Ford.

Starfsemi fyrirtækisins byggist á því að veita nokkuð dýra þjónustu en viðskiptavinurinn greiðir fyrir stórkostleg gæði sem felast í sérfræðiþekkingu, innri stöðlum og auðvitað fólki. Þess vegna er mikilvægt að ráða rétta fólkið hér.
Hvers konar fólk hefur rétt fyrir sér? Auðvitað eru mismunandi fyrir alla. ThoughtWorks hefur komist að þeirri niðurstöðu að mikilvægustu viðmiðin fyrir viðskiptamódel þróunaraðila þeirra eru:

  • Hæfni til að þróast í pörum. Það er hæfileiki, ekki reynsla eða færni. Enginn býst við því að fólk sem hefur æft Pair forritun í 5 ár komi. En að vera móttækilegur fyrir skoðunum annarra og geta hlustað er nauðsynleg kunnátta.
  • Geta til að skrifa próf og æfa helst TDD
  • Skilja SOLID og OOP og geta beitt þeim.
  • Komdu á framfæri skoðun þinni. Sem ráðgjafi þarftu að vinna með verktaki viðskiptavinarins, með öðrum ráðgjöfum, og það er ekki mikill ávinningur ef einstaklingur kann vel að gera eitthvað, en er algjörlega ófær um að koma því á framfæri við restina af teyminu.

Nú er mikilvægt að leggja mat á þessa tilteknu færni hjá umsækjanda. Og hér vil ég segja frá reynslu minni af viðtölum hjá ThoughtWorks. Ég segi strax að ég fór til Singapúr og stóðst, en ráðningarferlið er sameinað og mun ekki vera mjög mismunandi eftir löndum.

Stig 0. HR

Eins og oft vill verða, 20 mínútna viðtal við HR. Ég ætla ekki að fjölyrða um það, ég segi bara að ég hef aldrei hitt manneskju sem gæti talað í 15 mínútur um þróunarmenninguna í fyrirtækinu, hvers vegna þeir nota TDD, hvers vegna paraforritun. Venjulega, HR aðilar vilja á þessari spurningu og segja að ferlið þeirra sé eðlilegt: þróunaraðilar þróa, prófunaraðilar prófa, stjórnendur keyra.

Stig 1. Hversu góður ertu í OOP, TDD?

1.5 klukkustund áður en viðtalið hófst fékk ég sent verkefni um að búa til Mars Rover hermi.

Mars flakkara verkefniNASA á að lenda hópi vélfæravéla á hásléttu á Mars. Þetta háslétta, sem er einkennilega rétthyrnd, verða að sigla af flakkara svo að myndavélar þeirra um borð geti fengið fullkomið útsýni yfir nærliggjandi landslag til að senda aftur til jarðar. Staðsetning og staðsetning flakkara er táknuð með samsetningu x og y hnitum og bókstaf sem táknar einn af fjórum aðal áttavitapunktum. Hálendinu er skipt upp í rist til að einfalda siglingar. Dæmi um stöðu gæti verið 0, 0, N, sem þýðir að flakkarinn er neðst í vinstra horninu og snýr norður. Til að stjórna flakkari sendir NASA einfaldan streng af bókstöfum. Mögulegir stafir eru 'L', 'R' og 'M'. 'L' og 'R' láta flakkarann ​​snúast 90 gráður til vinstri eða hægri, í sömu röð, án þess að hreyfa sig frá núverandi stað. 'M' þýðir að fara fram á einn hnitapunkt og halda sömu stefnu.
Gerum ráð fyrir að ferningurinn beint norður frá (x, y) sé (x, y+1).
INNGANGUR:
Fyrsta inntakslínan er hnit efst til hægri á hálendinu, gert er ráð fyrir að hnitin neðra til vinstri séu 0,0.
Afgangurinn af inntakinu eru upplýsingar sem varða flakkara sem hafa verið settir á vettvang. Hver flakkari hefur tvær inntakslínur. Fyrsta línan gefur upp staðsetningu flakkarans og önnur línan er röð leiðbeininga sem segja flakkaranum hvernig hann eigi að kanna hálendið. Staðsetningin samanstendur af tveimur heiltölum og bókstaf sem er aðskilinn með bilum, sem samsvarar x og y hnitunum og stefnu flakkarans.
Hver flakkari verður kláraður í röð, sem þýðir að seinni flakkarinn byrjar ekki að hreyfast fyrr en sá fyrsti er búinn að hreyfa sig.
ÚTKAST:
Úttakið fyrir hvern flakkara ætti að vera lokahnit hans og stefnu.
ATHUGASEMDIR:
Einfaldlega útfærðu kröfurnar hér að ofan og sannaðu að ryksuga virkar með því að skrifa einingapróf fyrir hana.
Að búa til hvers kyns notendaviðmót er utan umfangs.
Æskilegt er að leysa vandamálið með því að fylgja TDD (Test Driven Development) nálgun.
Á þeim stutta tíma sem til er höfum við meiri áhyggjur af gæðum en heilleika.
*Ég get ekki sett inn verkefnið sem mér var sent, þetta er gamalt verkefni sem var gefið fyrir nokkrum árum. En trúðu mér, í grundvallaratriðum er allt óbreytt.

Ég vil sérstaklega vekja athygli á matsviðmiðunum. Hversu oft hefur þú lent í aðstæðum þar sem hlutir sem eru mikilvægir fyrir frambjóðanda skipta algjörlega litlu máli við endurskoðunina og öfugt. Ekki hugsa allir eins og þú, en margir geta samþykkt og fylgt gildum þínum ef þau eru skýrt tilgreind. Þannig að af matsviðmiðunum er strax ljóst að mikilvægasta færnin á þessu stigi er

  • TDD;
  • Geta til að nota OOP og skrifa viðhaldskóða;
  • para forritunarhæfileika

Svo var ég varaður við að eyða þessum 1.5 klukkustundum í að hugsa um hvernig ég ætlaði að gera verkefnið, frekar en að skrifa kóða. Við munum skrifa kóðann saman.

Þegar við komum í símann sögðu strákarnir okkur stuttlega hverjir þeir eru og hvað þeir gera og buðust til að hefja þróun.

Í öllu viðtalinu hafði ég aldrei á tilfinningunni að ég væri í viðtali. Það er tilfinning að þú sért að þróa kóða í teymi. Ef þú festist einhvers staðar hjálpa þeir, ráðleggja, ræða, jafnvel rífast hver við annan um hvernig best sé að gera það. Í viðtalinu gleymdi ég hvernig á að athuga í JUnit 5 að aðferð kastar undantekningu - þeir buðust til að halda áfram að skrifa prófið, á meðan einn þeirra var að googla hvernig ætti að gera það.

Bókstaflega nokkrum klukkustundum eftir viðtalið fékk ég uppbyggilega viðbrögð - hvað mér líkaði og hvað ekki. Í mínu tilfelli var mér hrósað fyrir að nota Sealed classa sem valkost við núll hlutinn; fyrir þá staðreynd að áður en ég skrifaði kóðann skrifaði ég í gervikóða hvernig ég myndi vilja stjórna flakkaranum og fékk þannig skissu af flokkunum, allavega þeim sem taka þátt í API vélmennisins.

Skref 2: Segðu okkur

Viku fyrir viðtalið var ég beðinn um að undirbúa kynningu um hvaða efni sem ég hef áhuga á. Formið er einfalt og kunnuglegt: 15 mínútur kynning, 15 mínútur að svara spurningum.
Ég valdi Clean Architecture eftir Bob frænda. Og aftur var ég í viðtali við nokkra. Þetta var fyrsta reynsla mín af því að kynna á ensku, og ef ég hefði verið í streituvaldandi aðstæðum hefði ég ekki getað ráðið við það. En aftur, ég hafði aldrei einu sinni á tilfinningunni að ég væri í viðtali. Allt er eins og venjulega - ég segi þeim, þeir hlusta vel. Jafnvel hefðbundin spurningatími var ekki eins og viðtal; það var ljóst að spurningarnar voru ekki lagðar til að „sökkva“, heldur þær sem virkilega höfðu áhuga á kynningu minni.

Nokkrum tímum eftir viðtalið fékk ég viðbrögð - kynningin var mjög gagnleg og þeim fannst mjög gaman að hlusta.

Stig 3. Framleiðslugæðakóði

Eftir að hafa varað við því að þetta væri síðasta stig tækniviðtala var ég beðinn um að koma kóðanum heima í framleiðslu-tilbúinn ástand, senda síðan kóðann til yfirferðar og skipuleggja viðtöl þar sem kröfurnar fyrir verkefnið myndu breytast og kóðinn myndi þarfnast breytinga. Þegar ég horfi fram á veginn get ég sagt að kóðunarskoðunin sé framkvæmd í blindni, gagnrýnendur vita ekki hvaða stöðu umsækjandinn sækir um, þeir sjá ekki ferilskrána hans, þeir sjá ekki einu sinni nafnið hans.

Síminn hringdi og aftur voru nokkrir krakkar hinum megin við skjáinn. Allt er eins og í fyrsta viðtalinu: aðalatriðið er að gleyma ekki TDD, segja hvað þú gerir og hvers vegna. Ef þú hefur ekki æft TDD áður, þá mæli ég með því að byrja að gera það strax, ekki vegna þess að það sé nauðsynlegt í fyrirtækjum, heldur vegna þess að það einfaldar líf þitt verulega, dregur úr streitustigi ef þú vilt. Manstu hvernig þú þurftir að leita með kembiforriti að villu sem aðeins er hægt að endurskapa í gegnum vafrann, en þú getur ekki endurskapað hana með prófunum? Ímyndaðu þér nú að þú þurfir að lenda í slíkum mistökum í viðtali - þér er tryggt nokkur grá hár. Hvað fáum við með TDD? Við breyttum kóðanum og áttuðum okkur óvænt á því að nú eru prófin rauð, en hver er villa sem við getum ekki fundið út í fyrsta skiptið? Allt í lagi, við segjum „Úps“ við viðmælendurna, ýttu á Ctrl-Z og byrjum að taka lítil skref fram á við. Og já, þú þarft að þróa hæfileikann til að þróa með því að nota TDD í sjálfum þér, hæfileikann til að fara í átt að markmiðinu þannig að prófin þín séu varanlega græn, en ekki rauð í hálfan dag, vegna þess að "þú ert með mikla endurstillingu." Þetta er nákvæmlega sama færni og að skrifa viðhaldskóða eða skrifa afkastamikill kóða.

Svo hversu vel hægt er að breyta kóðanum þínum fer eftir því hvers konar hönnun þú lagðir upp með til að byrja með, hversu einfalt það er og hversu góð prófin þín eru.

Eftir viðtalið fékk ég viðbrögð innan nokkurra klukkustunda. Á þessu stigi áttaði ég mig á því að ég var næstum búinn og það var mjög lítið eftir þangað til ég „hitti Fowler“.

4. stig. Úrslitaleikur. Nóg af tæknilegum spurningum. Við viljum vita hver þú ert!

Satt að segja var ég nokkuð undrandi á þessari framsetningu spurningarinnar. Hvernig geturðu skilið hvers konar manneskja ég er í klukkutíma samtali? Og enn frekar, hvernig geturðu skilið þetta þegar ég tala tungumál sem er ekki móðurmálið mitt, og satt að segja mjög ömurlegt og tungubundið. Í fyrri viðtölum var auðveldara fyrir mig persónulega að tala frekar en að svara spurningum og hreimnum var um að kenna. Að minnsta kosti einn viðmælendanna var asískur - og hreimur þeirra, við skulum bara segja, er nokkuð sérstakur fyrir evrópska eyrað. Þess vegna ákvað ég að taka frumkvæði - undirbúa kynningu um sjálfa mig og í upphafi viðtals býðst til að tala um sjálfan mig með þessari kynningu. Ef þeir eru sammála, þá verða að minnsta kosti færri spurningar fyrir mig; ef þeir hafna tilboðinu, ja, 3 klukkustundir af lífi mínu sem varið er í kynningu er ekki svo hátt verð. En hvað ættir þú að skrifa í kynninguna þína? Ævisaga - Fæddur þar, á þeim tíma, fór í skóla, útskrifaðist úr háskóla - en hverjum er ekki sama?

Ef þú gúglar aðeins um Thoughtworks menninguna finnurðu grein eftir Martin Fowler [https://martinfowler.com/bliki/ThreePillars.html] sem lýsir 3 stoðunum: Sjálfbær viðskipti, ágæti hugbúnaðar og félagslegt réttlæti.

Gerum ráð fyrir að Software Excellence hafi þegar verið athugað fyrir mig. Það á eftir að sýna sjálfbær viðskipti og félagslegt réttlæti.

Þar að auki ákvað ég að einbeita mér að því síðarnefnda.

Til að byrja með sagði ég honum hvers vegna ThoughtWorks - ég las blogg Martin Fowler aftur í háskóla, þess vegna ást mín á Clean code.

Einnig er hægt að kynna verkefni frá mismunandi sjónarhornum. Hann þróaði einnig hugbúnað fyrir læknisfræði sem einfaldaði líf sjúklinga, og jafnvel, samkvæmt sögusögnum, bjargaði einu lífi. Ég þróaði líka hugbúnað fyrir banka, sem einnig auðveldaði borgurunum lífið. Sérstaklega ef þessi banki er notaður af 70% landsmanna. Þetta snýst ekki um Sberbank og ekki einu sinni um Rússland.

Viltu vita um mig? Allt í lagi. Áhugamálið mitt er ljósmyndun, á einn eða annan hátt hef ég verið með myndavél í höndunum í um 10 ár, það eru ljósmyndir sem ég skammast mín ekki fyrir að sýna. Einnig hjálpaði ég einu sinni kattaathvarfi: Ég myndaði ketti sem þurftu varanlegt heimili. Og með góðum ljósmyndum er miklu auðveldara að setja kött. Ég myndaði líklega hundrað ketti :)

Að lokum var 80% af kynningunni minni full af köttum.

Strax eftir kynninguna skrifaði HR mér að hann vissi ekki enn niðurstöður viðtalsins, en öll skrifstofan væri þegar hrifin af köttunum.

Á endanum beið ég eftir viðbrögðum - ég var ánægður með alla sem persónu.

En í síðasta samtalinu sagði HR með háttvísi að félagslegt réttlæti væri mjög gott og nauðsynlegt, en ekki eru öll verkefni svona. Og hann spurði hvort það hræddi mig. Almennt séð fór ég aðeins of langt með félagslegt réttlæti, það gerist :)

Samtals

Fyrir vikið hef ég starfað í Singapúr hjá Thoughtworks í nokkra mánuði núna og ég sé að hér eru of mörg fyrirtæki að taka upp „bestu viðtalsvenjur“ frá Google, nota laufblöð og Whiteboard til að kóða, þrátt fyrir að hafa meiri þekkingu en Spring, Symfony, RubyOnRails (Skrifaðu undir það sem þarf) er ekki krafist í verkinu. Verkfræðingar taka sér vikufrí fyrir viðtal til að „undirbúa“.

Hjá Thoughtworks eru, auk fullnægjandi krafna til umsækjanda, eftirfarandi meginreglur í forgrunni:
Gleði við viðtal. Þar að auki, fyrir báðar hliðar. Reyndar, ef þú vilt fá besta starfsfólkið (og hver gerir það ekki?), þá er viðtal ekki markaður þar sem þrælar eru valdir, heldur sýning þar sem bæði vinnuveitandinn og umsækjandinn meta hvort annað. Og ef umsækjandi tengir skemmtilegar tilfinningar við fyrirtæki er líklegt að hann velji þetta tiltekna fyrirtæki

Margir viðmælendur til að draga úr hlutdrægni. Hjá Thoughtworks er paraforritun staðallinn í reynd. Og ef hægt er að beita þessari framkvæmd á öðrum sviðum reynir TW að gera það. Á hverju stigi er viðtalið tekið af 2 einstaklingum. Þannig er hver einstaklingur metinn af að minnsta kosti 8 einstaklingum og TW reynir að velja viðmælendur með mismunandi bakgrunn, mismunandi stefnu (ekki aðeins tæknimenn) og kyn.

Á endanum mun ráðningarákvörðunin vera tekin á grundvelli skoðunar að minnsta kosti 8 manns og enginn hefur ráðandi atkvæði.

Eiginleikamiðuð ráðning Í stað þess að taka ákvörðun út frá því hvað umsækjanda líkar við eða mislíkar, er þróað eyðublað fyrir hvert hlutverk og hvert stig sem inniheldur eiginleikana sem verið er að meta. Á sama tíma, þegar metið er, er mjög mælt með því að meta ekki reynslu af ákveðinni færni, heldur hæfni til að beita henni. Þannig að ef umsækjandi gat ekki beitt neinum hæfileikum, eins og TDD, en reynir engu að síður að beita þeim, hlustar á ráðleggingar um hvernig eigi að nota þær rétt, hefur hann alla möguleika á að standast viðtalið.

Menntunarskírteini ekki krafist TW krefst ekki vottunar eða menntunar í tölvunarfræði. Aðeins færni er metin.

Þetta er fyrsta viðtalið sem ég hef tekið við erlend fyrirtæki sem ég þurfti ekki að undirbúa mig fyrir. Eftir hvert stig fannst mér ég ekki vera uppgefin, en þvert á móti var ég ánægður með að geta beitt bestu starfsvenjunum, að fólk hinum megin við skjáinn kunni að meta það og beitti þeim á hverjum degi.

Eftir nokkra mánuði get ég sagt að væntingar mínar stóðust að fullu. Hvernig er ThoughtWorks frábrugðið venjulegu fyrirtæki? Í venjulegu fyrirtæki er hægt að finna góða þróunaraðila og gott fólk, en í TW er einbeiting þeirra ekki á töflunni.

Ef þú hefur áhuga á að ganga til liðs við ThoughtWorks geturðu skoðað lausar stöður okkar hér
Ég legg einnig til að þú fylgist með áhugaverðum lausum störfum:
Aðal hugbúnaðarverkfræðingur: Þýskaland, London, Madrid, Singapore
Yfirhugbúnaðarverkfræðingur: Sydney, Þýskaland, Manchester, Bangkok
Hugbúnaðarverkfræðingur: Sydney, Barcelona, Mílanó
Yfirmaður gagnaverkfræðingur: Mílanó
Gæðafræðingur: Þýskaland Kína
Innviðir: Þýskaland, London, Chile
(Mig langar í heiðarleika að vara þig við því að hlekkurinn er tilvísunarhlekkur, ef þú ferð á TW fæ ég góðan bónus). Veldu skrifstofu sem þér líkar, þú þarft ekki að takmarka þig við Evrópu, eftir allt saman, á tveggja ára fresti mun TW vera fús til að flytja þig til annars lands, vegna þess að... Þetta er hluti af ThoughtWorks stefnunni, þannig að menningin er dreift og einsleit.

Ekki hika við að spyrja spurninga í athugasemdunum eða biðja mig um meðmæli.
Ef efnið virðist áhugavert mun ég skrifa um hvernig það er að vinna hjá ThoughtWorks og hvernig lífið er í Singapúr.

Heimild: www.habr.com

Bæta við athugasemd