Kuinka sain harjoittelun Shopifyssä

Haastattelujakso vuoden 2018 kesäharjoitteluille on vihdoin ohi. Yli kuukauden haastattelujen ja testien jälkeen useissa yrityksissä aion liittyä Shopifysta Back-end Developer Intern -harjoittajana.

Tässä artikkelissa haluan viedä sinut läpi prosessini hakemiseen, valmisteluun ja haastatteluun Shopifyssä. Haluan myös jakaa kanssasi joitain vinkkejä, joita käytän hakiessani ja haastatellessani työpaikkoja.

Nopea esittely

Olen tällä hetkellä perustutkinto-opiskelija Concordian yliopistossa Montrealissa, Kanadassa. Olen päättämässä kolmannen vuoden ohjelmistotekniikan alalta.

Olen myös osa COOP-ohjelmaa, joka vaatii minua suorittamaan kolme harjoittelua koko kandidaatin tutkintoni ajan. Kaksi ensimmäistä harjoitteluni olivat Ubisoftissa ja Vigilantissa.

Viimeinen harjoitteluni tapahtuu kesällä, ja työskentelen Shopifyssä Montrealissa.

Mikä on Shopify?

Yksinkertaisesti sanottuna Shopify-alustan avulla yritykset ja yksityishenkilöt voivat helposti myydä kauppatavaraa verkossa.

Shopify opastaa sinut myymälän perustamisen, varastosi hallinnoinnin, erilaisten maksutapojen hyväksymisen ja toimituksen läpi. Kaupassa on jopa myyntipistejärjestelmä (POS)!

Mitä tulee Shopifyssä työskentelyyn, he ovat voittaneet Glassdoorin parhaan työpaikan Kanadassa 2017. Heillä tiedetään myös olevan loistavia ihmisiä omalla alallaan.

Hakuprosessi

Shopifyssä on ainutlaatuinen rekrytointiprosessi harjoittelijoille, ja se on selvää hakuprosessista alkaen.

Hakemuksen jättämiseksi minun täytyi suorittaa kolme tehtävää.

1. Shopify-myymälän luominen

Ensimmäisenä tehtävänä oli luoda kuvitteellinen Shopify-myymälä. Se oli tapa tutustua ympäristöön ja ymmärtää, mitä kauppiaat käyvät läpi luodakseen verkkokaupan rintaman.

Loin japanilaisen makeiset ja leivonnaiset. Halusin tehdä jotain, joka oli hieman omaperäisempi kuin tyypillinen muoti-, kauneus- tai elektroniikkaliike.

Mielestäni tämän vaiheen salaisuus on luoda kuvitteellinen tarina kauppasi ympärille. Sitten myymälän ja sen varastomallin tulisi tulla luonnostaan.

2. Teknisen haasteen suorittaminen

Back-end Developer Intern -asemaan liittyi tekninen haaste.

Haasteena oli luoda validoija graafin tietorakenteelle. Päätin käyttää sitä Pythonilla.

Pidin todella siitä, kuinka haaste liittyi Shopify-alustaan ​​(tai ainakin näytti siltä olevan) sen sijaan, että olisin merkityksetön algoritminen ongelma.

Uskon, että tältä osin on äärimmäisen tärkeää tehdä yksinkertainen ratkaisu. Koska ongelman ratkaisemiseen on niin monia tapoja, on ratkaisevan tärkeää tehdä ratkaisustasi intuitiivinen ja hyvin dokumentoitu . Käytin hyvin Python-käskyjä sen saavuttamiseksi.

Lopuksi, älä mene pidemmälle kuin ongelman vaatimukset, jos se tarkoittaa ratkaisun monimutkaisemista. Se vain satuttaa sinua.

3. Vastaaminen sovelluskysymyksiin

Hakuprosessin viimeinen vaihe oli vastaaminen joihinkin kysymyksiin.

Kirjoitin työstä, jonka haluaisin tehdä harjoittelun aikana, sekä siitä, miten kokemukseni oli koko hakuprosessin ajan. Kirjoitin myös idean Hack Days -tapahtumalle (Shopifyn neljännesvuosittaiselle hackathonille).

Pyysin paljon vaivaa vastaamaan näihin kysymyksiin. Kuten missä tahansa sovelluksessa, siihen tekemäsi ponnistelumäärä osoittaa selvästi, kuinka kiinnostunut olet työskentelemisestä siellä.

On myös tärkeää olla rehellinen siitä, mitä kirjoitat, ja osoittaa intohimosi vastauksissasi.

Hack Days -ideasta yritä miettiä jotain, joka olisi voinut parantaa työelämääsi aiempien harjoittelujen ja kokemusten aikana. Ajattele muita näkökohtia kuin itse työ. Tee siitä hauskaa!

Haastatteluprosessi

Muutaman viikon odottamisen jälkeen sain sähköpostiviestin haastatteluprosessin aloittamiseksi!

Haastatteluprosessini jaettiin kahteen osaan: elokuvatarinan videopuhelu ja tekninen haastattelu paikan päällä.

Elämäntarina

Elokuvani videopuhelu kesti noin 45 minuuttia ja olin rekrytoijan kanssa Talent Acquisition -tiimistä.

Ymmärrykseni mukaan elämäntarinan tarkoituksena on, että rekrytoija tuntee sinut henkilökohtaisemmalla tasolla. He haluavat tietää, mitä ansioluettelosi ei sano. Puhuin aiheista, kuten matkoistani, kiinnostuksen kohteistani, harrastuksistani, aikaisemmista kokemuksistani (ei mitään teknistä) ja siitä, miten kehitin intohimoani ohjelmointiin.

Tämä oli yksi suosikkini osista prosessia. Se oli hyvin rento, ja tuntui vain tavata joku uusi ja jakaa elämäsi tarina!

Vaikka haastatteluprosessin tässä osassa ei ollut mitään valmistautumista, tein luettelon kaikista aiheista, joista halusin puhua. Pidin sitä ruudullani varmistaakseni, että en unohtanut mainita mitään, mitä pidin tärkeänä.

Mielestäni tärkeimmät tekijät elämäntarinan aikana ovat olla rehellisiä , pysyä rentoina ja todella tietää elämäsi tarina . Katso sitä keskusteluna!

Paikan päällä tekninen

Pari viikkoa myöhemmin sain sähköpostin aikatauluttaakseni paikan päällä tapahtuvan haastattelun. Se oli tarkoitus jakaa kahteen osaan: henkilökohtainen projekti-analyysi ja tekninen ongelma. Minua haastateltiin kaksi kehittäjää.

Ensinnäkin minun piti tuoda projekti, jossa olin tehnyt huomattavan määrän työtä.

Tuolloin suunnittelin aloittavan projektin korjaamaan jokapäiväisessä elämässäni ollut ongelma: käyttämään liian paljon rahaa ravintoloiden ruokiin.

Halusin luoda Alexa-sovelluksen Amazon Echo -laitteelleni, joka on tietoinen nykyisistä ainesosista ja ehdottaa reseptejä sen perusteella, mitä minulla on varastossa. Se oli täydellinen tilaisuus lyödä kaksi lintua yhdellä kivellä.

Halusin kuitenkin lyödä myös kolmatta lintua. Halusin oppia Ruby on Rails -sovelluksen hyvin kauan. Koska Shopifyn käyttöympäristö on rakennettu kiskojen päälle, ajattelin, että olisi hieno idea käyttää kiskoja Alexa-sovelluksen tekemiseen.

Suoritin nopeasti SoloLearn Ruby -kurssin ja opin Ruby on Railsin perusteet virallisesta Aloitusoppaasta.

Sitten käytin vasta opittua tietämystäni Alexa-jääkaapin valmistamiseen!

Haastattelun tässä osassa minua pyydettiin esittelemään projektini kaikilta osin. Kävin koodin läpi ja näytin, kuinka toteutin erilaisia ​​elementtejä. Minua kysyttiin myös suunnittelupäätöksistäni.

On sanomattakin selvää, mutta sinun pitäisi todella tuntea projektisi sisältä ja ulkoa, jotta pystyt vastaamaan kaikkiin sitä koskeviin kysymyksiin. Se voi auttaa valmistelemaan etukäteen joitain asiakirjoja (erityisesti kaavioita), jotta voidaan näyttää erilaisia ​​näkökohtia, kuten infrastruktuuri, tietokantakaavio tai käyttämäsi sovellusliittymä.

Esimerkiksi, toin tämän kaavion osoittaakseni, kuinka palvelimeni kommunikoi Amazon Echon kanssa:

Mielestäni on myös hyödyllistä, jos pystyt tuomaan projektin, jonka voit esitellä. On vaikea ymmärtää työn merkitystä, jos et pysty osoittamaan tulosta.

Paikalla tapahtuneen haastattelun toisessa osassa minun piti ratkaista tekninen ongelma.

Minulle kerrottiin etukäteen, että tämä ei olisi algoritmi kirjoittaa taululle (jee!). Sen sijaan se oli ongelma, jonka minun piti tehdä suunnittelupäätökset ratkaistavaksi.

Tässä osassa suosittelen todella oppimaan lisää järjestelmän suunnittelusta . Sinulla pitäisi olla idea siitä, miten järjestetään verkko- ja mobiilisovellukset, miten suunnitellaan tietokantamalli, miten todennetaan ja niin edelleen.

Jotkut näistä aiheista opitaan ohjelmistotekniikan tutkinnon aikana, mutta toiset eivät. Suosittelen tarkistamaan Hired In Techin System Design -harjoitusleiri ja korkea skaalautuvuus. Molemmat ovat erinomaisia ​​lähteitä oppia järjestelmän suunnittelusta ja nähdä, kuinka suuret yritykset suunnittelevat sovelluksiaan. Kiinnitä huomiota kompromisseihin, jotka tulevat jokaisen suunnittelupäätöksen yhteydessä.

Kun työskentelet järjestelmän suunnitteluongelmien parissa, varmista, että olet aina selkeästi esittänyt oletuksesi ja ymmärtänyt vaatimukset .

Älä myöskään ole ujo kysyäksesi kysymyksiä! Sinulla on kaksi kehittäjää huoneessa kanssasi, ja sinulla on oikeus saada ajoittain apua. On yhtä tärkeää kysyä oikeita kysymyksiä kuin vastata niihin (sinulla on Google joka tapauksessa).

Lopuksi, ajattele aina ääneen .Haastattelijoiden on erittäin tärkeää tietää mielipiteesi.

Yritän ajatella ääneen mahdollisimman paljon tällaisten ongelmien aikana, vaikka ajatteluni olisi väärä. Jos se on kuitenkin väärin, on tärkeää, että ymmärrän sen ja korjaan itseni.

Tarjous

Noin viikkoa myöhemmin Shopify otti minuun yhteyttä tarjouksen kanssa ja hyväksyin sen!

Takeaways

Nautin todella sekä hakemuksen että haastatteluprosessin ainutlaatuisuudesta. Se antoi minulle mahdollisuuden esitellä muutakin kuin vain teknisiä taitojani!

Tässä on yhteenveto artikkelissa jakamistani vinkeistä:

  • Laita itsesi kauppiaan kenkiin, kun luot verkkokauppaa, ja uppoudu heidän kuvitteelliseen tarinaansa
  • Kun teet teknistä haastetta, etsi yksinkertaisuutta ja dokumentoi se hyvin
  • Kun kirjoitat vastauksia hakukysymyksiin, ponnistele paljon, ole rehellinen ja osoita intohimosi
  • Ole elämäntarinan aikana itsesi ja tunne elämäsi tarina
  • Tuo paikan päällä projekti, jonka tunnet hyvin, ja tiedä miksi suunnittelit sen samalla tavalla kuin teit
  • Ilmoita teknisestä ongelmasta oletuksesi ja vaatimuksesi ja ajattele ääneen

Kiitos kun lukit artikkelini!

Lisää päivityksiä seuraa minua Twitterissä.