Kuinka muutin uran ohjelmistosuunnittelijaksi 11 kuukaudessa (ja kuinka sinäkin voit)

Kuva NESA kirjoittanut Makers on Unsplash

Ennen kuin päätin siirtyä ohjelmistosuunnitteluun, olin markkinoija teknologiamaailmassa. Yritin melko monia markkinointityyppejä - tapahtumia, suhdetoimintaa, hakukoneoptimointia, sisällön luomista, digitaalista mainontaa, sähköpostimarkkinointia - mutta en koskaan löytänyt täydellistä sopivaa.

Viimeinen yritykseni oli henkilökohtaisen rahoituksen startup, jolla oli vahva brändin tuntemus. Heidän motto oli tyytyväisyys on kuningas. Toisin kuin useimmat teknologiayritykset, toimittajia ja toimittajia oli paljon ja ohjelmistosuunnittelijoita vain kourallinen.

Vuotta aloittamisen jälkeen yritys päätti kehittää strategiaansa. Sisältö ei enää ollut tarpeeksi. Lukuisat uudet henkilökohtaisen rahoituksen aloittajat käynnistivät tuona vuonna mobiilisovelluksia, jotka lupaavat auttaa kuluttajia seuraamaan talouttaan, oppimaan budjetoimaan, poistamaan opiskelijalainojen velat ja yhdistämään luottokorttimaksut. Haluamatta jäädä taaksepäin, yritykseni alkoi harventaa yrityksen toimituksellista puolta palkkaamalla nopeasti tuotemiehiä, insinöörejä ja suunnittelijoita.

Sisäinen tunne sai minut ymmärtämään, että oli aika vaihtaa vaihteet.

Tässä artikkelissa käydään läpi kuinka vaihdin uran ohjelmistosuunnittelijaksi alusta loppuun. Joten aloitetaan.

Vaihe 1: Tutki syventäviä ohjelmia

Aloin tutkia ohjelmistotekniikan syventäviä luokkia. Pidin siitä, että App Academy ja Hack Reactor tarjosivat molemmat ilmaisia ​​henkilökohtaisia ​​tutustumiskursseja auttaakseen tulevia opiskelijoita valmistautumaan pääsykokeensa. Kuulin myös positiivisia asioita Hackbrightista ja olen sen jälkeen tavannut useita lahjakkaita naisia, jotka osallistuivat heidän ohjelmaansa.

Viime kädessä Hack Reactor voitti minut yli, koska se tarjosi tiukan yhden kuukauden kestävän SSP-kurssin. Ohjelma on suunniteltu muuttamaan osallistujat aloittelijoista Hack Reactor Immersive -valmiiksi.

Opetussuunnitelma näytti käytännölliseltä. Se auttoi sitä, että tunsin kolme tuttavaa, jotka olivat onnistuneesti laskeneet ohjelmistosuunnittelijaroolit suoritettuaan ohjelman.

Vaihe 2: upotuskoodaus

Kun rajoitin huomioni Hack Reactoriin, minun piti valmistautua SSP: hen ja pääsykokeen suorittamiseen. Suoritin tämän suorittamalla Udacity Intro to JavaScript -kurssin yhdessä muutaman muun JavaScript-verkkokurssin kanssa.

SSP: n ja Hack Reactorin kiehtovan ohjelman välillä vietin neljä kuukautta koodaamalla jopa 6 päivää viikossa, 12 tuntia yli vuorokauden. Teroitin ongelmanratkaisutaitojani, paransin ymmärrystäni JavaScriptistä, opiskelin käyttöliittymä- ja taustakehyksiä ja harjoitin työskentelyä muiden insinöörien kanssa.

Vaihe 3: Opiskelu työnhaussa verkkokursseilla

Niin intensiivinen kuin kokemukseni Hack Reactorista, se oli vasta alkua. Minulla oli kasvava luettelo käsitteistä, joiden kanssa kamppailisin ohjelman aikana. Luettelon yläosassa olivat algoritmit ja tietorakenteet.

Ohjelmat immersiiviset ohjelmat ovat erinomaisia ​​opettamaan sinulle tarvittavia taitoja suunnittelijana tehtäessäsi. Työhaastatteluihin liittyvä koulutus on hiukan erilainen peto, ja algoritmien ja tietorakenteiden hallitseminen on usein avain tarjolla paikan päällä. Yritin hakea yrityksiä, jotka luopuvat perinteisistä valkotauluista, mutta niitä on vähän ja kaukana.

Koodaushaastattelun halkeilua pidetään viimeisenä resurssina algoritmien oppimiseen. Se ei kuitenkaan ollut henkilökohtaisesti mielestäni hyödyllisin resurssi. Sen sijaan nämä ovat resurssit, joita olen käyttänyt valmistautuessani teknisiin haastatteluihin ja paikan päällä oleviin sivustoihin:

  • CodePath - 8 viikon kurssi, joka kattaa kaikki yleisimmin esitetyt haastattelukysymykset tietorakenteista järjestelmän suunnitteluun
  • InterviewCake - opas, joka selittää algoritmisessa ajattelussa yleisimmät mallit
  • LeetCode - loputtomat käytännön ongelmat
  • Järjestelmäsuunnitteluhaastattelun grokking - selitykset kompromisseista, jotka ovat mukana yleisissä järjestelmän suunnittelukysymyksissä, kuten kuinka suunnitella Instagram
Älä koskaan lopeta oppimista

Vaihe 4: Ota neuvoja kokeneilta insinööriltä

Kysyin tonni vanhempia insinöörejä verkostoni jäseniltä neuvoja työnhaussa. Kaikki olivat ystävällisiä aikansa kanssa ja innoissaan nähdessään uudenlaisia ​​lahjakkuuksia aloittamassa teollisuutta. Tässä oli hyödyllisiä neuvoja:

  • Hanki jalka oveen: Jokaisen insinöörin on aloitettava jostakin. Monet insinöörit laskeutuivat tuotemerkkiyrityksiin työskennellessään pienillä nimettöminä. Älä huoli, jos et löydä täydellistä istuvuutta heti.
  • Kirjoita kirjoituskirjoitus uudelleen: Jos olet uusi insinööri, ansioluettelosi kirjoitetaan todennäköisesti tavalla, joka saa sinut näyttämään todella nuoremmalta. Keskity tekemiin kompromisseihin ja teknisiin päätöksiin, ei siihen, mitä olet toteuttanut.
  • Etsi mentorointimahdollisuuksia: Tavoitteena joukkue, jossa on yli 30 insinööriä, koska tämä opettaa sinulle parhaat koodauskäytännöt ja tarjoaa mentorointimahdollisuuksia. Muussa tapauksessa tiedä kuka johtajasi on ja varmista, että he voivat auttaa sinua teknisten päätösten tekemisessä (nuoret suunnittelupäälliköt heitetään usein rooliin, jolla on rajoitetusti ihmisiä tai johtamiskokemusta).
  • Työskentele henkilökohtaisten projektien parissa: Tämä osoittaa innostumistasi suunnittelusta työnhaun aikana ja antaa sinulle jotain ainutlaatuista puhua haastatteluissa.

Vaihe 5: Ohita rekrytoijien ja muiden hyödyttömät neuvot

Työnhakuni tapahtui kesällä 2018. Opiskelin virittämään paljon hyvää tarkoittavia, mutta hyödyttömiä ehdotuksia. He tulivat rekrytoijilta, insinööreiltä ja huolestuneilta ystäviltä. Tässä on joitakin niistä:

  • Alkutason insinöörien työmarkkinat ovat hidastuneet viime vuosina. Keskikokoiset yritykset palkkaavat vain ylimmälle tasolle ja ovat asettaneet jäädyttämisen nuorempien ehdokkaiden palvelukseen.
  • Markkinat eivät ole vain ylikylläisiä, mutta bootcampin tutkinnon suorittaneiden laatu on heikentynyt viime vuosina. Työn löytäminen on vaikeaa.
  • Olet vahva ehdokas, mutta yrityksellämme ei ole resursseja ohjata sinua. Pitäkää yhteyttä, me haluamme haastatella teidät uudelleen, kun sinulla on enemmän kokemusta.
  • Onnea palkkaamiseen kesällä. Kilpailet kaikkien tietokoneopiskelijoiden kanssa, joilla on kesäharjoittelu. Yritä uudelleen syksyllä, kun lisää paikkoja avautuu.
  • Onnea palkata syksyllä. Palkkaaminen hidastuu, kun yritykset lähestyvät Q4. Jos et löydä työtä kesällä, joudut odottamaan ensi vuoteen.
  • Kokeile tulla tuotepäälliköksi tai löytää harjoittelupaikka. Ehkä voit kääntyä ohjelmistosuunnitteluun, kun olet valmis.

Olen varma, että monet pyrkivät insinöörit kuulevat samanlaisia ​​palautteita. Tärkeintä on oppia virittämään se ja pysymään keskittyneenä, muuten se on helppo polttaa.

Vaihe 6: Luo tutkimussuunnitelma

Hack Reactorin jälkeen vietin paljon aikaa teknisten konseptien tarkistamiseen valmistautuessaan teknisiin näytöihin ja haastatteluihin. Tässä on minun karkea opintosuunnitelmani:

  • Opintoalgoritmit ja tietorakenteet.
  • Opintojärjestelmän suunnittelu.
  • Tee hackathon (se ei opeta sinulle suunnittelua koskevia parhaita käytäntöjä, mutta se on hauska ryhmäkokemus).
  • Luo henkilökohtainen portfolio (tai muu projekti, josta voit puhua).
  • Kirjoita muistiin kaikki haastattelukysymykset jokaiselta puhelimen näytöltä ja paikan päällä. Tarkista vastaukset, joita et tiedä.
  • Harjoittele muiden kanssa. Algoritmit ovat hauskempia, kun työskentelet niiden parissa pienessä ryhmässä. (Pramp ja CodePath olivat kaksi tapaa, joilla löysin harjoittelukumppaneita).

Vaihe 7: Luo online-läsnäolo

Tee rekrytoijien löytäminen sinusta helpoksi. Luo vankat profiilit projektikuvien kanssa ja linkkejä GitHubiin seuraavilla sivustoilla. Napsauta vapaasti linkkejä ja katso esimerkiksi esimerkkejäni (tai ota minuun yhteyttä):

  • LinkedIn
  • Palkattu
  • AngelList
  • Henkilökohtainen salkku
  • GitHub

On tärkeää näyttää mahdollisille työnantajille työsi laatu. Valokuvat, videot, linkit liveprojekteihin, hyvin dokumentoidut README: t ja puhdas koodauskäytäntö helpottavat rekrytoijien mahdollisuuksia ottaa sinuun yhteyttä.

Vaihe 8: Muista, että se on numeropeli

Olen kuullut insinöörien, uravalmentajien ja mentorien usein kieltäytyvän "Se on vain numeropeli". Viime kädessä tässä olivat numeroni:

Hakemukseni olivat enimmäkseen etuovesta, joissa oli joitain lähetyksiä, toisia rekrytoijia, jotka ottivat minuun yhteyttä, ja jotkut ilmoittivat vuokraamolta tai AngelListiltä.

Numeroiden tunteminen auttaa sinua analyyttisesti. Esimerkiksi:

  • 26% kaikista sovelluksistani (kylmä, lämmin, viittaukset) muutettiin puhelimen alkuperäisiksi näytöiksi.
  • 51% puhelimeni näytöistä muutettiin tekniseksi näytöksi tai tehtäväksi
  • 28% teknisistä näytöistäni ja toimeksiannoistani on muutettu paikan päällä

Tämän jälkeen sain tietää, että olin melko johdonmukainen saadakseni työohjelmani värväämään rekrytoijan mielenkiinnon, onnistuneella (jossa on parantamisen varaa) alustavissa puhelinkeskusteluissa ja melko heikolla osoittamalla teknisiä taitojani.

Numeroiden analysointi antoi minulle mahdollisuuden palata takaisin hakemusten hakemiseen. Sen sijaan vietin ylimääräistä aikaa harjaamalla teknisiä heikkouksia tavoitteenaan parantaa muuntoprosenttini teknisestä näytöstä paikan päällä.

Vaihe 9: Mestari paikan päällä

Kun olet onnekas laskemaan paikan päällä tai kaksi, siellä on vielä paljon hallittavaa. Henkilökohtaisesti olen löytänyt useimmat paikan päältä erittäin tyhjennys. Ne kestivät 2 - 6 tuntia ja vaihtelivat laajasti aiheista. Jotkut yritykset unohtivat antaa minulle taukoja.

Koska minua testattiin teknisen tietämyksen suhteen, pieniä puheita oli hyvin vähän ja minua grillattiin usein kysymyksillä tunteja kerrallaan.

Yksi yritys kertoi minulle, etteivät he etene kanssani eteenpäin, koska olin kamppaillut viimeisimmän kysymyksen parin tunnin onnistuneiden algoritmien jälkeen. En ole vieläkään varma siitä, mitä he ovat oppineet viimeisimmästä kysymyksestä, jota he eivät olisi voineet poistua tekniikanäytöltä tai edeltävinä tunteina, mutta palaute takertui.

Sivustoni aikana käsitellyt aiheet olivat:

  • algoritmit
  • Järjestelmäsuunnittelu
  • Luo sovellus yrityksen sovellusliittymällä
  • Koodauskieltäni koskevat tietosyvyyskysymykset (JavaScript)
  • HTML / CSS: ää koskevien tietojen syvyys
  • Tietojen syvyys kysymyksiä käyttöliittymästä
  • Eri tietokantoja koskevien tietojen syvyys (SQL / noSQL)
  • Brainteasers (ajattele SAT prep lukiosta)
  • Kloonaa ja selitä luomasi X GitHub -projekti, mitä kompromisseja teit ja mitä tekisit tulevaisuudessa toisin
  • Näytä meille 1 tunnin esitys mistä tahansa valitsemastasi aiheesta (pidä tätä punaisena lipuna, ellei työsi edellytä erityisesti asiakkaiden kanssa tekemisissä tai ideoiden jakamista)

Lajike teki hankalaa tietää mitä tutkia.

Jokaisen teknisen näytön ja paikan päällä kirjoitin tukevan luettelon kaikista kysymyksistä, joita minulta kysyttiin jokaisessa haastattelussa. Tästä tuli oppaani tuleville paikan päälle.

Kun kaipain kysymyksiä, yritin nähdä sen oppimismahdollisuutena.

Vaihe 10: Tuo välipaloja

Ehkä se on vain minä, mutta vastaaminen teknisiin kysymyksiin pyörivän uusien ihmisten joukossa saa minut nälkäiseksi.

Ensimmäisillä paikan päälläni sain asteittain pahempaa vastata kysymyksiin, kun verensokerini laski. Ei yllätys - nämä eivät johtaneet tarjoukseen.

Kolmannessa vaiheessa he aikoivat minut klo 10–14 ilman lounastaukoa, joten pyysin sitä erikseen. Tämä toimi - eräänlaisena - kunnes vuokrauspäällikkö seurasi minua lounaspaikkaan grillaamalla minua pikatukeen yli 50 JavaScript-kysymykseen. Hän jätti huomiotta (toistuvat) nopean henkisen tauon pyyntöni. Toinen no-go.

Lopuksi löysin toteuttamiskelpoisen ratkaisun - tuomalla jokaiseen haastatteluun suuri vihreä smoothie. Tämä oli paljon parempaa kuin yrittää hiipiä maapähkinäisiä M & MS-suuja suuhuni vessassa (lisäksi minua saattoi yleensä kylpyhuoneeseen niin, että se ei ollut oikein vaihtoehto).

Oikeasti. Väsynyt, mutta verisokeroitu paikan päällä 5.

Vaihe 11: Tarkenna vastauksia käyttäytymiseen liittyviin kysymyksiin ja välttää palamista

Missä näet itsesi viidessä vuodessa?

Yksi haastatteluihin kompastuista kysymyksistä oli: ”Missä näet itsesi viidessä vuodessa?” Rehellisesti sanottuna en vieläkään tiedä.

Siellä on manager-kappale ja yksittäinen avustaja-kappale.

On paljon insinööripolkuja, joita en vieläkään täysin ymmärrä - Web, mobiili, sivuston luotettavuus ja DevOps, muutamia mainitakseni.

Sitten on back-end, front-end ja full-stack. Joskus linjat näiden roolien välillä ovat selvät, joskus ne ovat epäselviä. Se, mitä olen oppinut hakuani aikana, on se, että vaikka en tiedä, minkä polun valitsen, on tiettyjä tehtäviä, joista pidän enemmän ja vähemmän kuin toiset.

En rakasta pelata pikselillä verkkosivustolla, mutta on hauskaa suunnitella mobiililaitteille. Arkkitehtuurin suunnittelu ja tietokannan perustaminen on vähän tylsiä, mutta nautin siitä, että otan suuria määriä dataa ja manipuloin sitä tai kehrän sitä mielenkiintoiseksi visualisointiin.

Joten kuka tietää, mihin lopulta pääsen. Toistaiseksi yritän tehdä hauskaa ja jännittävää.

Jotkut yleiset ajatukset

Koodaushaasteet ovat oppimismahdollisuus

Oli paljon koodaushaasteita, joita yritin, ja olin viimeinkin liian nolo, jotta voin kääntyä sisään. Sitten oli joitain, joita en lopettanut, mutta käännyin joka tapauksessa, sekä selityksen siitä, mitä virheenkorjaustoimenpiteitä olin suorittanut matkalla.

Aluksi näin epätäydelliset koodaushaasteet merkki omasta kyvyttömyydestäni - jotkut päivät ihmettelin, olisiko minua leikattu insinööriksi. Mutta niistä tuli hauskoja, kun muutin ajattelutapaani ja aloin miettiä, mitä olen jokaiselta oppinut.

Esimerkiksi yksi niistä antoi minulle syvemmän ymmärtämisen asynkronisista API-kutsuista, kun taas toinen auttoi minua ymmärtämään reunatapausten ja virheilmoitusten käsittelemisen merkityksen. Yksi opetti minulle kuinka korjata Ruby on Rails.

Ota hylkääminen askeleella

Sama koski kutakin teknistä näyttöä ja paikan päällä. Aluksi hylkäämät takertuivat ja ruokkivat epävarmuutta. Sitten hylkäämisistä tuli normaalia. Olen oppinut paljon enemmän, kun pystyin syrjäyttämään epäilykseni ja kiinnostumaan siitä, mitä voisin oppia jokaiselta insinööriltä ottaen aikaa puhua kanssani.

Tätä ei tuntenut tunteneen suurimman osan ajasta, mutta yritin

Jokaisella on erilainen tapa lähestyä ongelmia, ja minulla oli onni oppia muutamasta kymmenestä alan insinööristä haastatteluprosessin kautta.

Etsi mentori

Minulla onni, että sain all-star-mentorin koko haastatteluprosessin ajan. Kolmen kuukauden ajan mentorini soitti ja lähetti sähköpostin joka viikko kysyäkseen kuinka työnhaku eteni ja mitä estäjiä kohtasin.

Olen kuullut monien insinöörien sanovan, että mentori kuulostaa hyvältä, mutta he eivät olleet varmoja siitä, mitä kysymyksiä kysyä. Joskus puhuimme taktiikoista, kuten kuinka monta sovellusta lähetetään, kuinka kirjoittaa tehokas Git-sitoutuminen tai kuinka mennä yli ja yli koodaushaasteessa. Muina aikoina hän yksinkertaisesti muistutti minua siitä, että (monista) hylkäämisistä huolimatta minusta oli tulossa vahvempi insinööri ja siksi lähempänä löytääkseni unelmayritykseni joka päivä.

Mentori voi pitää sinut vastuullisena tavoitteisiisi, auttaa sinua läpilyönti tunneissa ja yhdistää sinut oikeisiin resursseihin syvemmälle oppimiseen. Olen kiitollinen siitä, että minulla on ollut asianajaja koko työnhakuprosessin ajan, ja odotan innolla, että voisin maksaa sen eteenpäin uuden insinöörinä!

johtopäätös

Joinakin päivinä vaihtaminen uraan tuntui paljon vaikeammalta kuin odotin. Mentorini voi varmasti todistaa, että on paljon päiviä, jolloin en ollut varma, että voisin tehdä sen.

Insinööriksi tuleminen vaati paljon vaivaa. Se tarkoitti tavoittamista ja ammatillisen verkostoni laajentamista, miellyttämistä siitä, että edessäni on valtava oppimiskäyrä, ja kaikkien nayasaarien huomioimisen. Se tarkoitti oikeiden verkkoresurssien löytämistä, jotka toimivat oppimistyylini kanssa. Se tarkoitti sen aivojen osan hiljentämistä, joka kertoi minulle, että en ole kykenevä, ja keskittyi sen sijaan uuden tiedon hankkimiseen. Joka päivä työskentelin uuden projektin parissa, opiskelin uutta algoritmia tai vastasin haastatteluun liittyviä kysymyksiä, minusta tuli parempi insinööri.

Oliko taistelu sen arvoista? Ehdottomasti.

Olen innoissani todetessani, että löysin minulle sopivan roolin, jossa voin jatkaa oppimista ja kasvamista. Ammatillinen verkostoni on vahvempi kuin koskaan, ja ennen kaikkea sain itseluottamusta tietäessäni, että voin tehdä työni unelmateni toteuttamiseksi.