Paano ako nakapasok sa ThoughtWorks o isang sample na panayam

Paano ako nakapasok sa ThoughtWorks o isang sample na panayam

Hindi ba tila kakaiba sa iyo na kapag ikaw ay malapit nang lumipat ng trabaho at kailangan mong pumasa sa isang interbyu, ang unang bagay na iniisip mo ay "kailangan mong maghanda para sa interbyu." Lutasin ang mga problema sa HackerRank, basahin ang Crack the coding interview, isaulo kung paano gumagana ang ArrayList at kung paano ito naiiba sa LinkedList. Oh oo, maaari rin silang magtanong tungkol sa pag-uuri, at malinaw na hindi propesyonal na sabihin na ang mabilisang pag-uuri ay malamang na ang pinakamahusay na pagpipilian.
Ngunit maghintay, mag-program ka ng 8 oras sa isang araw, lutasin ang mga kawili-wili at di-maliit na mga problema, at sa iyong bagong trabaho ay gagawin mo ang parehong bagay, plus o minus. Ngunit gayunpaman, upang makapasa sa isang pakikipanayam, kailangan mong maghanda, hindi man lang mahasa ang iyong pang-araw-araw na mga kasanayan, ngunit matuto ng isang bagay na hindi mo kailangan sa iyong kasalukuyang trabaho at malamang na hindi kailangan sa iyong susunod na trabaho. Sa iyong mga pagtutol na ang computer science ay nasa ating dugo, at kung gigisingin mo kami sa kalagitnaan ng gabi, obligado kaming magsulat nang nakapikit ang aming mga mata sa isang punda ng lakad sa paligid ng lapad ng isang puno nang hindi man lang namamalayan, ako ay sasagutin na kung makakakuha ako ng trabaho sa sirko, at ang pangunahing bagay na ang lansihin ay magiging eksakto ito - kung gayon marahil oo, sumasang-ayon ako. Ang kasanayang ito ay kailangang subukan.

Ngunit bakit subukan ang mga kasanayan na walang kaugnayan sa iyong kasalukuyang trabaho? Dahil lang naging uso? Dahil ginagawa ito ng Google? O dahil ang iyong magiging pinuno ng koponan ay kailangang matutunan ang lahat ng mga paraan ng pag-uuri bago ang panayam at ngayon ay naniniwala siya na "dapat alam ng bawat magaling na programmer ang pagpapatupad ng paghahanap ng palindrome sa isang string."

Well, hindi ka Google (c). Kung ano ang kayang bayaran ng Google, hindi kayang bayaran ng mga ordinaryong kumpanya. Ang Google, nang masuri ang data ng mga empleyado nito, ay dumating sa konklusyon na ang mga inhinyero na may background sa Olympiad ay mahusay sa pagharap sa mga partikular na gawain nito. Higit pa rito, sa pamamagitan ng pagdidisenyo ng kanilang proseso sa pagpili, kaya nilang ipagsapalaran na maaaring hindi sila kumuha ng ilang mahuhusay na inhinyero dahil hindi nila madaling masira ang mga problema sa matematika. Pero hindi ito problema sa kanila, maraming gustong magtrabaho sa Google, isasara ang posisyon.
Ngayon ay tumingin tayo sa labas ng bintana, at kung sa harap ng iyong opisina ang mga inhinyero na gustong magtrabaho para sa iyo ay hindi pa nakakapag-set up ng isang tent camp, at ang iyong mga developer ay mas madalas na naghahanap sa stackoverflow para sa kung ano ang susunod na Spring annotation na kailangang i-install, sa halip na ang mga intricacies ng ranking algorithm, kung gayon, tila, Panahon na para isipin mo kung dapat mong kopyahin ang Google.

Well, kung sa pagkakataong ito ay nabigo ang Google at hindi nagbigay ng sagot, ano ang dapat mong gawin? Suriin kung ano mismo ang gagawin ng developer sa trabaho. Ano ang pinahahalagahan mo sa mga developer?
Gumawa ng pamantayan para sa kung sino ang gusto mong kunin at bumuo ng mga pagsusulit na eksaktong sumusubok sa mga kasanayang ito.

ThoughtWorks

Ano ang kinalaman ng ThoughtWorks dito? Dito ko nakita ang isang halimbawa ng isang modelong panayam para sa aking sarili. Sino ang ThoughtWorks? Sa madaling salita, isa itong High-End consulting company na may mga opisina sa buong mundo, mula sa China, Singapore hanggang sa mga kontinente ng Amerika, na halos 25 taon nang kumunsulta sa larangan ng pag-unlad, ay may sariling dibisyon ng Agham, na pinamumunuan ni Martin. Fowler. Kung naghahanap ka ng isang listahan ng 10 na dapat basahin na mga libro para sa isang Software Engineer, marahil 2-3 sa mga ito ay isusulat ng mga lalaki mula sa ThoughtWorks, tulad ng Refactoring Ni Martin Fowler at Building Microservices: Designing Fine-Grained Systems ni Sam Newman o Building Evolutionary Architecture
ni Patrick Kua, Rebecca Parsons, Neal Ford.

Ang negosyo ng kumpanya ay binuo sa pagbibigay ng medyo mahal na mga serbisyo, ngunit ang customer ay nagbabayad para sa kahanga-hangang kalidad, na binubuo ng kadalubhasaan, panloob na mga pamantayan at, siyempre, mga tao. Samakatuwid, ang pagkuha ng mga tamang tao ay mahalaga dito.
Anong uri ng mga tao ang tama? Siyempre, may iba't ibang para sa lahat. Natukoy ng ThoughtWorks na ang pinakamahalagang pamantayan para sa kanilang modelo ng negosyo ng developer ay:

  • Kakayahang bumuo sa mga pares. Ito ay kakayahan, hindi karanasan o kasanayan. Walang umaasa na darating ang mga taong nagsasanay ng Pair programming sa loob ng 5 taon. Ngunit ang pagiging receptive sa opinyon ng ibang tao at ang kakayahang makinig ay isang kinakailangang kasanayan.
  • Kakayahang magsulat ng mga pagsusulit, at perpektong magsanay ng TDD
  • Unawain ang SOLID at OOP at mailapat ang mga ito.
  • Ilahad ang iyong opinyon. Bilang isang consultant, kailangan mong makipagtulungan sa mga developer ng kliyente, sa iba pang mga consultant, at walang gaanong pakinabang kung alam ng isang tao kung paano gumawa ng isang bagay nang maayos, ngunit ganap na hindi maiparating ito sa natitirang bahagi ng koponan.

Ngayon ay mahalaga na suriin ang mga partikular na kasanayang ito sa kandidato. At dito gusto kong pag-usapan ang aking karanasan sa pakikipanayam sa ThoughtWorks. Sasabihin ko kaagad na nagpunta ako sa Singapore at nakapasa, ngunit ang proseso ng pagre-recruit ay pinag-isa at hindi gaanong magkakaiba sa bawat bansa.

Stage 0. HR

Gaya ng madalas mangyari, isang 20 minutong panayam sa HR. I won't dwell on it, I'll just say that I've never met an HR person who could talk for 15 minutes about the development culture in the company, why they use TDD, why pair programming. Kadalasan, nauutal ang mga HR sa tanong na ito at sinasabing normal ang kanilang proseso: nagde-develop ang mga developer, nagsusubok ng tester, nagmamaneho ang mga manager.

Stage 1. Gaano ka kahusay sa OOP, TDD?

1.5 oras bago magsimula ang panayam, pinadalhan ako ng isang gawain na gumawa ng Mars Rover simulator.

Misyon sa Mars roverIsang squad ng mga robotic rover ang dadalhin ng NASA sa isang talampas sa Mars. Ang talampas na ito, na kakaibang hugis-parihaba, ay dapat i-navigate ng mga rover upang ang kanilang mga on-board camera ay makakuha ng kumpletong view ng nakapalibot na lupain upang maibalik sa Earth. Ang posisyon at lokasyon ng isang rover ay kinakatawan ng kumbinasyon ng x at y co-ordinate at isang titik na kumakatawan sa isa sa apat na cardinal compass point. Ang talampas ay nahahati sa isang grid upang pasimplehin ang nabigasyon. Ang isang halimbawang posisyon ay maaaring 0, 0, N, na nangangahulugang ang rover ay nasa ibabang kaliwang sulok at nakaharap sa Hilaga. Upang makontrol ang isang rover, nagpapadala ang NASA ng isang simpleng string ng mga titik. Ang mga posibleng letra ay 'L', 'R' at 'M'. Pinapaikot ng 'L' at 'R' ang rover nang 90 degrees pakaliwa o pakanan ayon sa pagkakabanggit, nang hindi gumagalaw mula sa kasalukuyang lugar nito. Ang ibig sabihin ng 'M' ay sumulong sa isang grid point, at panatilihin ang parehong heading.
Ipagpalagay na ang parisukat na direktang Hilaga mula sa (x, y) ay (x, y+1).
INPUT:
Ang unang linya ng input ay ang kanang itaas na mga coordinate ng talampas, ang ibabang kaliwang coordinate ay ipinapalagay na 0,0.
Ang natitirang bahagi ng input ay impormasyon na nauukol sa mga rover na na-deploy. Ang bawat rover ay may dalawang linya ng input. Ang unang linya ay nagbibigay ng posisyon ng rover, at ang pangalawang linya ay isang serye ng mga tagubilin na nagsasabi sa rover kung paano galugarin ang talampas. Ang posisyon ay binubuo ng dalawang integer at isang titik na pinaghihiwalay ng mga puwang, na tumutugma sa mga x at y co-ordinate at ang oryentasyon ng rover.
Ang bawat rover ay matatapos nang sunud-sunod, na nangangahulugan na ang pangalawang rover ay hindi magsisimulang gumalaw hanggang ang una ay natapos na gumalaw.
OUTPUT:
Ang output para sa bawat rover ay dapat na ang mga huling co-ordinate at heading nito.
NOTA:
Ipatupad lang ang mga kinakailangan sa itaas at patunayan na gumagana ang isang vacuum cleaner sa pamamagitan ng pagsusulat ng mga unit test para dito.
Ang paggawa ng anumang anyo ng user interface ay wala sa saklaw.
Mas pipiliin ang paglutas ng problema sa pamamagitan ng pagsunod sa TDD (Test Driven Development).
Sa maikling oras na magagamit, mas inaalala namin ang kalidad kaysa sa pagiging kumpleto.
*Hindi ko mai-post ang assignment na ipinadala sa akin, ito ay isang lumang assignment na ibinigay ilang taon na ang nakakaraan. Ngunit maniwala ka sa akin, sa panimula lahat ay nananatiling pareho.

Gusto ko lalo na bigyang pansin ang pamantayan sa pagsusuri. Ilang beses ka na nakatagpo ng isang sitwasyon kung saan ang mga bagay na mahalaga sa isang kandidato ay ganap na hindi mahalaga sa panahon ng pag-audit at vice versa. Hindi lahat ay nag-iisip ng parehong paraan tulad ng sa iyo, ngunit marami ang maaaring tanggapin at sundin ang iyong mga halaga kung ito ay malinaw na nakasaad. Kaya, mula sa pamantayan sa pagsusuri ay agad na malinaw na ang pinakamahalagang kasanayan sa yugtong ito ay

  • TDD;
  • Kakayahang gumamit ng OOP at magsulat ng mapanatili na code;
  • magkapares na kakayahan sa programming

Kaya, binigyan ako ng babala na gugulin ang 1.5 oras na iyon sa pag-iisip tungkol sa kung paano ko gagawin ang gawain, sa halip na magsulat ng code. Isusulat namin ang code nang magkasama.

Nang makausap kami, sinabi sa amin ng mga lalaki kung sino sila at kung ano ang kanilang ginagawa at nag-alok na simulan ang pag-unlad.

Sa buong panayam, ni minsan ay hindi ko naramdaman na ako ay iniinterbyu. May pakiramdam na gumagawa ka ng code sa isang team. Kung natigil ka sa isang lugar, tinutulungan nila, pinapayuhan, pinag-uusapan, kahit na nakikipagtalo sa isa't isa kung paano ito pinakamahusay na gawin. Sa panayam, nakalimutan ko kung paano suriin sa JUnit 5 na ang isang pamamaraan ay nagtatapon ng Exception - nag-alok sila na ipagpatuloy ang pagsusulat ng pagsubok, habang ang isa sa kanila ay nag-googling kung paano ito gagawin.

Literal na ilang oras pagkatapos ng panayam, nakatanggap ako ng nakabubuo na feedback - kung ano ang nagustuhan ko at kung ano ang hindi ko. Sa aking kaso, pinuri ako sa paggamit ng mga klase ng Sealed bilang alternatibo sa null object; para sa katotohanan na bago isulat ang code, isinulat ko sa pseudocode kung paano ko gustong kontrolin ang rover, at sa gayon ay nakatanggap ng sketch ng mga klase, hindi bababa sa mga kasangkot sa API ng robot.

Hakbang 2: Sabihin sa amin

Isang linggo bago ang panayam, hinilingan akong maghanda ng isang presentasyon sa anumang paksa na interesado sa akin. Ang format ay simple at pamilyar: 15 minutong pagtatanghal, 15 minutong pagsagot sa mga tanong.
Pinili ko ang Clean Architecture ni Uncle Bob. At muli akong kinapanayam ng ilang tao. Ito ang aking unang karanasan sa pagtatanghal sa Ingles, at, marahil, kung ako ay nasa isang nakababahalang sitwasyon, hindi ko na makayanan. Ngunit muli, ni minsan ay hindi ko naramdaman na nasa isang panayam ako. Ang lahat ay tulad ng dati - sinasabi ko sa kanila, nakikinig silang mabuti. Kahit na ang tradisyonal na sesyon ng tanong at sagot ay hindi tulad ng isang panayam; malinaw na ang mga tanong ay hindi hiniling na "lumubog", ngunit ang mga talagang interesado sa kanila sa aking presentasyon.

Ilang oras pagkatapos ng panayam, nakatanggap ako ng feedback - ang pagtatanghal ay lubhang kapaki-pakinabang at talagang nasiyahan sila sa pakikinig.

Stage 3. Production Quality Code

Dahil binigyan ako ng babala na ito na ang huling yugto ng mga teknikal na panayam, hiniling sa akin na dalhin ang code sa bahay sa isang production-ready na estado, pagkatapos ay ipadala ang code para sa pagsusuri at iskedyul ng mga panayam kung saan ang mga kinakailangan para sa gawain ay magbabago at ang code ay nangangailangan ng pagbabago. Sa hinaharap, maaari kong sabihin na ang pagsusuri ng code ay isinasagawa nang walang taros, hindi alam ng mga tagasuri ang posisyon kung saan nag-aaplay ang kandidato, hindi nila nakikita ang kanyang CV, hindi nila nakikita ang kanyang pangalan.

Tumunog ang telepono, at muli ay may dalawang lalaki sa kabilang panig ng monitor. Ang lahat ay pareho sa unang panayam: ang pangunahing bagay ay huwag kalimutan ang tungkol sa TDD, sabihin kung ano ang iyong ginagawa at kung bakit. Kung hindi ka pa nakapagsanay ng TDD dati, pagkatapos ay inirerekumenda kong simulan na gawin ito kaagad, hindi dahil ito ay kinakailangan sa mga kumpanya, ngunit dahil ito ay makabuluhang pinapasimple ang iyong buhay, binabawasan ang iyong antas ng stress kung gusto mo. Tandaan kung paano ka nagkaroon ng galit na galit na maghanap gamit ang isang debugger para sa isang error na maaari lamang kopyahin sa pamamagitan ng browser, ngunit hindi mo ito maaaring kopyahin sa pamamagitan ng mga pagsubok? Ngayon isipin na kakailanganin mong mahuli ang gayong pagkakamali sa panahon ng isang pakikipanayam - ikaw ay garantisadong isang pares ng mga kulay-abo na buhok. Ano ang makukuha natin sa TDD? Binago namin ang code at hindi inaasahang napagtanto na ngayon ang mga pagsubok ay pula, ngunit ano ang error na hindi namin matukoy sa unang pagkakataon? Okay, sinasabi namin ang "Oops" sa mga tagapanayam, pindutin ang Ctrl-Z at magsimulang gumawa ng maliliit na hakbang pasulong. At oo, kailangan mong bumuo ng kakayahang bumuo gamit ang TDD sa iyong sarili, ang kakayahang pumunta sa layunin upang ang iyong mga pagsusulit ay permanenteng berde, at hindi pula sa loob ng kalahating araw, dahil "marami kang refactoring." Ito ay eksaktong kaparehong kasanayan sa pagsulat ng maintainable code, o pagsulat ng productive code.

Kaya, kung gaano kahusay mabago ang iyong code ay depende sa kung anong disenyo ang nasa isip mo para magsimula, kung gaano ito kasimple, at kung gaano kahusay ang iyong mga pagsubok.

Pagkatapos ng panayam, nakatanggap ako ng feedback sa loob ng ilang oras. Sa yugtong ito, napagtanto kong malapit na akong matapos at kakaunti na lang ang natitira hanggang sa "nakilala ko si Fowler."

Stage 4. Pangwakas. Sapat na mga teknikal na tanong. Gusto naming malaman kung sino ka!

Sa totoo lang, medyo naguluhan ako sa pormulasyon na ito ng tanong. Paano mo maiintindihan kung anong uri ako ng tao sa isang oras ng pag-uusap? At higit pa rito, paano mo ito mauunawaan kapag nagsasalita ako ng isang wika na hindi ko katutubong wika, at, sa totoo lang, napakasama at nakatali sa dila. Sa mga nakaraang panayam, mas madali para sa akin ang personal na makipag-usap kaysa sagutin ang mga tanong, at ang impit ang sisihin. Hindi bababa sa isa sa mga tagapanayam ay Asian - at ang kanilang accent, well, sabihin na lang natin, ay medyo partikular sa European ear. Samakatuwid, nagpasya akong gumawa ng isang proactive na diskarte - maghanda ng isang pagtatanghal tungkol sa aking sarili at sa simula ng alok sa pakikipanayam na pag-usapan ang aking sarili sa pagtatanghal na ito. Kung sumasang-ayon sila, at least magkakaroon ng mas kaunting mga katanungan para sa akin; kung tinanggihan nila ang alok, mabuti, ang 3 oras ng aking buhay na ginugol sa isang pagtatanghal ay hindi ganoon kataas na presyo. Ngunit ano ang dapat mong isulat sa iyong presentasyon? Talambuhay - Ipinanganak doon, sa oras na iyon, nag-aral, nagtapos sa unibersidad - ngunit sino ang nagmamalasakit?

Kung mag-Google ka ng kaunti tungkol sa kultura ng Thoughtworks, makakakita ka ng artikulo ni Martin Fowler [https://martinfowler.com/bliki/ThreePillars.html] na naglalarawan sa 3 Pillars: Sustainable Business, Software Excellence, at Social Justice.

Ipagpalagay natin na ang Software Excellence ay nasuri na para sa akin. Ito ay nananatiling ipakita ang Sustainable Business at Social Justice.

Bukod dito, nagpasya akong tumuon sa huli.

Upang magsimula, sinabi ko sa kanya kung bakit ThoughtWorks - Binasa ko ang blog ni Martin Fowler noong kolehiyo, kaya mahal ko ang Clean code.

Ang mga proyekto ay maaari ding iharap mula sa iba't ibang anggulo. Gumawa din siya ng software para sa gamot na nagpasimple sa buhay ng mga pasyente, at kahit na, ayon sa mga alingawngaw, ay nagligtas ng isang buhay. Gumawa din ako ng software para sa mga bangko, na nagpadali din sa buhay ng mga mamamayan. Lalo na kung ang bangkong ito ay ginagamit ng 70% ng populasyon ng bansa. Hindi ito tungkol sa Sberbank at hindi rin tungkol sa Russia.

Gusto mong malaman ang tungkol sa akin? OK. Hobby ko ang photography, one way or another I've been holding a camera in my hands for about 10 years, may mga litrato na hindi ko masyadong nahihiyang ipakita. Gayundin, minsan, tumulong ako sa isang cat shelter: Kinunan ko ng litrato ang mga pusa na nangangailangan ng permanenteng tahanan. At sa magagandang litrato ay mas madaling maglagay ng pusa. Malamang nakakuha ako ng isang daang pusa :)

Sa huli, 80% ng aking presentasyon ay napuno ng mga pusa.

Kaagad pagkatapos ng pagtatanghal, sinulatan ako ng HR na hindi pa niya alam ang resulta ng panayam, ngunit ang buong opisina ay humanga na sa mga pusa.

Sa huli, naghintay ako ng feedback - nasiyahan ako sa lahat bilang tao.

Ngunit sa huling pag-uusap, mataktikang sinabi ng HR na napakahusay at kailangan ng Social Justice, ngunit hindi lahat ng proyekto ay ganito. At tinanong niya kung natakot ako. Sa pangkalahatan, medyo lumampas ako sa Social Justice, nangyayari ito :)

Kabuuan

Bilang resulta, ilang buwan na akong nagtatrabaho sa Singapore sa Thoughtworks, at nakikita kong napakaraming kumpanya dito ang gumagamit ng "pinakamahusay na kasanayan sa pakikipanayam" mula sa Google, gamit ang mga dahon at Whiteboard para sa coding, sa kabila ng pagkakaroon ng higit na kaalaman kaysa Spring, Symfony, RubyOnRails ( Salungguhitan kung ano ang kinakailangan) ay hindi kinakailangan sa trabaho. Ang mga inhinyero ay nagpahinga ng isang linggo bago ang isang pakikipanayam upang "maghanda."

Sa Thoughtworks, bilang karagdagan sa mga sapat na kinakailangan para sa kandidato, ang mga sumusunod na prinsipyo ay nasa unahan:
Kagalakan ng Panayam. Bukod dito, para sa magkabilang panig. Sa katunayan, kung nais mong makakuha ng pinakamahusay na mga tauhan (at sino ang hindi?), kung gayon ang isang pakikipanayam ay hindi isang merkado kung saan pinipili ang mga alipin, ngunit isang palabas kung saan parehong sinusuri ng employer at ng kandidato ang isa't isa. At kung ang isang kandidato ay nag-uugnay ng mga kaaya-ayang emosyon sa isang kumpanya, malamang na pipiliin niya ang partikular na kumpanyang ito.

Maramihang tagapanayam upang mabawasan ang bias. Sa Thoughtworks, ang pares programming ay ang de facto na pamantayan. At kung mailalapat ang kasanayang ito sa ibang mga lugar, sinusubukan ng TW na gawin ito. Sa bawat yugto, ang panayam ay isinasagawa ng 2 tao. Kaya, ang bawat tao ay sinusuri ng hindi bababa sa 8 tao, at sinusubukan ng TW na pumili ng mga tagapanayam na may iba't ibang background, iba't ibang direksyon (hindi lamang mga techies) at kasarian.

Sa huli, ang desisyon sa pag-hire ay gagawin batay sa mga opinyon ng hindi bababa sa 8 tao, at walang sinuman ang may boto sa pagboto.

Pag-hire na nakabatay sa katangian Sa halip na gumawa ng desisyon batay sa mga gusto o hindi gusto ng isang kandidato, bumuo ng isang form para sa bawat tungkulin at bawat yugto na kinabibilangan ng mga katangiang sinusuri. Kasabay nito, kapag nagtatasa, lubos na inirerekomenda na suriin ang hindi karanasan sa isang tiyak na kasanayan, ngunit ang kakayahang ilapat ito. Kaya, kung ang isang kandidato ay hindi nakapag-apply ng anumang mga kasanayan, tulad ng TDD, ngunit gayunpaman sinusubukan niyang ilapat ang mga ito, nakikinig sa payo kung paano gamitin ang mga ito nang tama, mayroon siyang bawat pagkakataon na makapasa sa interbyu.

Hindi kailangan ng Education Certificates Ang TW ay hindi nangangailangan ng anumang sertipikasyon o edukasyon sa Computer Science. Ang mga kasanayan lamang ang tinatasa.

Ito ang unang panayam ko sa mga dayuhang kumpanya na hindi ko kailangang paghandaan. Pagkatapos ng bawat yugto, hindi ako napagod, ngunit sa kabaligtaran, natutuwa ako na mailalapat ko ang pinakamahuhusay na kasanayan, na pinahahalagahan ito ng mga tao sa kabilang panig ng monitor at inilapat ang mga ito araw-araw.

Pagkatapos ng ilang buwan, masasabi kong ganap na natupad ang aking mga inaasahan. Paano naiiba ang ThoughtWorks sa isang regular na kumpanya? Sa isang regular na kumpanya maaari kang makahanap ng mabubuting developer at mabubuting tao, ngunit sa TW ang kanilang konsentrasyon ay wala sa mga chart.

Kung interesado kang sumali sa ThoughtWorks, maaari mong tingnan ang aming mga bukas na posisyon dito
Iminumungkahi ko rin na bigyang pansin ang mga kagiliw-giliw na bakante:
Pangunahing Software Engineer: Alemanya, London, Madrid, Singgapur
Senior Software Engineer: Sydney, Alemanya, Manchester, Bangkok
Software Engineer: Sydney, Barcelona, Milan
Senior Data Engineer: Milan
Quality Analyst: Alemanya Tsina
Imprastraktura: Alemanya, London, Tsile
(I would like to honestly warn you na ang link ay referral link, kung pupunta ka sa TW, makakatanggap ako ng magandang bonus). Pumili ng opisina na gusto mo, hindi mo kailangang limitahan ang iyong sarili sa Europa, pagkatapos ng lahat, bawat 2 taon ay magiging masaya ang TW na ilipat ka sa ibang bansa, dahil... ito ay bahagi ng patakarang ThoughtWorks, kaya ang kultura ay kumalat at homogenized.

Huwag mag-atubiling magtanong sa mga komento o humingi sa akin ng mga rekomendasyon.
Kung mukhang kawili-wili ang paksa, magsusulat ako tungkol sa kung paano magtrabaho sa ThoughtWorks at kung ano ang buhay sa Singapore.

Pinagmulan: www.habr.com

Magdagdag ng komento