To, čo som sa naučil, od interného pracovníka v službe Twitter k softwarovému inžinierovi na plný úväzok

Viac kódovania a rastu!

* Pri pohľade do kalendára * Fúha! Bolo to už šesť mesiacov ?! Prvý deň svojej stáže na Twitteri som vedel, že to bude trvať večne, kým sa pozriem na koniec tunela, ale sme tu. Som inžinier na plný úväzok v službe Twitter !! ?

Bol to určite šprint a ja som sa naučil viac, ako som si dokázal predstaviť. Som šťastná, že som mohla absorbovať väčšinu vedomostí. Teraz si chcem nájsť čas a napísať svoje skúsenosti s dokončením programu. Viem, že väčšina stáží má jednoduché cesty k zamestnaniu na plný úväzok. Chcem teda vyzdvihnúť niektoré fázy, ktorými som prešiel, úskalia, ktorým som čelil, a zamyslieť sa nad všetkým, čo som sa naučil. Ak môžem z tohto príspevku pomôcť jednej osobe na kódovacej ceste, potom →? !!

Poznámka: Ak vás zaujíma, ako som sa dostal na stáž na Twitteri, tento príbeh nájdete tu: Ako som prešiel od narukovaného letectva k softwarovému inžinierovi stážistovi @Twitter

To vzrušenie

Hneď ako som zistil, že sa budem internovať na Twitteri, cítil som sa ako najväčší motor na svete. Plný energie a pripravený dobyť akékoľvek projekty, ktoré mali tú smolu, že pristáli na mojej ceste.

Ibaže motor nie je bez zvyšku auta ničím a je nepravdepodobné, že sa ukážete ako plné auto. Aj keď ste predtým pracovali ako inžinier, v každej spoločnosti sa líšia veci. Školenie v zamestnaní však bude vaším novým najlepším priateľom. S dostatkom z toho budete križovať v krátkom čase!

Prvým krokom k vybudovaniu zvyšku vozidla bola orientácia nového prenájmu. Až tu som si uvedomil, že spoločnosť Tech XYZ nezakladá svoj stoh na projekte kalkulačky FreeCodeCamp.

Počas orientačného týždňa na Twitteri dostanú inžinieri prehľad o tom, ako Twitter funguje, a podrobnosti o tom, ako sa jednotlivé časti spájajú, aby sa tak stalo.

Spočiatku to vyvoláva bláznivý komplexný typ emócií. ? Keď sa začnete skutočne prepracovávať, bude to mať oveľa väčší zmysel. Zrazu budete pracovať na projekte a narazíte na veci, o ktorých si pamätáte, že ste ich počuli orientačne. M ake, či nemáte pocit, premýšľať o tom, chcieť, alebo vziať do úvahy, že je potrebné ponoriť sa do každého kusu stohu.

Napriek tomu sú tieto vysvetlenia na vysokej úrovni užitočné. Pomôžu vám vidieť celkový obraz a to, ako váš tím prispieva k poslaniu spoločnosti. Takže zatiaľ čo som sa usiloval začať, dať si čas, aby som sa usadil, by mi umožnilo rozbehnúť sa oveľa plynulejšie!

Nováčik

Začať v novej spoločnosti v úplne novom priemysle a robiť úplne novú prácu bol pre mňa obrovský posun. Zrazu som mal pocit, že som opäť na základnom tréningu. Keď som začínal, nevedel som, ani ako používať Mac. ? Celý život som bol človekom na PC. Je to dosť strašidelný pocit, pretože ako nový zamestnávateľ chcete poskytnúť hodnotu - a namiesto toho sa niekedy môžete cítiť dosť zbytočne. Len buďte trpezliví sami so sebou. Nemať túto trpezlivosť bola jednou z najnáročnejších vecí, s ktorými som sa musel vyrovnať, keď som prvýkrát začal.

Ako som už povedal, máte tento motor, ktorý je pripravený ísť naplno. Je však potrebné vynaložiť trochu práce, aby ste mohli ovládnuť svet! Trpezlivosť vám pomôže rýchlejšie dosiahnuť produktivitu. Pomôže vám tiež, aby ste sa pri učení necítili ako strata kyslíka. ?

Nahromadenie

Aby som si osvojil zručnosti, ktoré som potreboval, aby som bol produktívny, vedel som, že ich budem musieť rozdeliť do niekoľkých etáp. Chcel som sa najskôr naučiť najpotrebnejšie zručnosti, niektoré zručnosti zvyšujúce produktivitu atď.

Najskôr som mal problém zistiť, ktoré zručnosti v týchto fázach sa mám naučiť ako prvé. Počet vecí, ktoré sa dali naučiť, bol ohromujúci. Okolo mňa bolo len toľko novosti! Vedel som však, že iba malá časť bude zodpovedať tomu, čo som sa snažila dosiahnuť.

Pre porovnanie, nikdy som nepoužil väčšinu technológií, ktoré budem používať v nasledujúcich šiestich mesiacoch. Dobre, okrem Gita, ale okrem toho som sa cítil ako na novej planéte!

Nakoniec som sa učenie používania nového IDE stalo mojím prvým cieľom. Editor, ktorý by som používal, sa volá IntelliJ a má na sebe šialené množstvo tlačidiel a predtým som používal Atom. Takže ďalší obrovský prepínač!

Keď som bol konečne pripravený napísať nejaký kód, mojím prvým inštinktom bolo prísť na to, ako urobiť malý projekt, ktorý som dobre poznal. V podstate robím prekladový projekt s mojimi novými nástrojmi. Takže, tu som sa snažil dostať k programu helloWorld Scala (Yes I count this as a small project?) To print to the console. Mal som pocit, akoby to bol opäť jeden deň FreeCodeCampu.

Potom, čo som tento projekt uviedol do praxe, som dostal projekt s väčšou praxou. Jediným problémom bolo, že som nevedel, ako postaviť a otestovať tento projekt s mojimi novými nástrojmi. O to šialenejšie bolo, že som tento praktický projekt postavil už predtým (skracovač URL v štýle Bit.ly). Vedel som teda, ako implementovať logiku, a mohol som dokonca údaje uchovať. Ale bez Atom, NPM, MongoDB a NodeJS som bol stratený! Prinajmenšom som bol slušný, keď som sa v tomto okamihu pohyboval okolo Macu.

Učenie sa nového jazyka (Scala) a IDE (IntelliJ) súčasne ma trochu pribrzdilo. Netreba dodávať, že bol to pomalý proces, keď som sa „cítil“ produktívne.

Keď sa na to pozerám spätne, naučil som sa, že triedenie a určovanie priorít, ktoré témy sa teraz majú naučiť a ktoré sa majú neskôr venovať hlbšie, sú nesmierne užitočné. Môže byť v skutočnosti jednoduchšie vylúčiť všetky veci, ktoré sa nemusíte učiť, a sústrediť sa na to, čo zostane.

Do toho som kopal aspoň dve alebo tri veci, keď som sa obzrel späť, nemal som čas venovať sa podnikaniu. Keby som mohol začať odznova, začal by som výlučne s niekoľkými výukovými programami IntelliJ. Takto som mohol spustiť aspoň jednoduché programy a upraviť ich tak, aby experimentovali s prostredím. Viem, že to môže znieť ako nič nehovoriace, ale keď ste bombardovaní päťdesiatimi vecami, o ktorých ste nikdy nepočuli, je trochu ťažké sa cez ne prepašovať.

Nech sa vydáte ktoroukoľvek cestou, všetko sa spojí s časom. Len neprestávaj. Ide len o to, ako efektívne chcete byť! (Prius alebo Hellcat?) Než som to vedel, staval som projekty! Radosť, ktorú som cítil, bola úžasná. Písal som kód Scala, používal som IntelliJ a dokonca som používal svoj Mac bez toho, aby som Googloval, ako používať jednoduché funkcie. Určite „Z“, ale stále nie je čas na odpočinok!

Podvodník

Táto časť sa zaoberá témou, ktorú už možno mnohí zažili. Ak ste to neurobili, tu je malý heads-up, ak to raz urobíte! Táto téma je syndróm podvodníka. Má to pomerne veľa podôb, ale všetky sa vracajú k tomu, že nemajú pocit, že ste schopní. Zvláštnou časťou je, že to môžete zažiť pri dosahovaní dobrých výsledkov alebo v opakovaní.

Zažívam to takmer vždy, keď začnem pracovať na novom projekte. Rýchlo zisťujem, že takmer pre každý projekt je potrebné postupovať vpred, nech už je akýkoľvek malý. Táto medzera vo vedomostiach, ktorú mám pred každým projektom, vo mne vyvoláva pocit nedostatočnosti. To ma prirodzene vedie k otázke „Patrím sem?“ stav mysle. A verím, že som konečne prišiel na to prečo!

To, že nemám formálne vzdelanie v CS alebo dokonca výcvik v výcvikovom tábore, je kúsok toho. Teda, viem, že nie som úplný začiatočník, ale tiež viem, že mi chýbajú kúsky a základné znalosti CS. Moje vedomosti o CS sa chvíľu cítili ako kúsok švajčiarskeho syra. Postupom času som však vyplnil veľa týchto vedomostných medzier a získal viac dôvery.

Ale to neznamená, že to bol koniec pocitu, že ste podvodník! Takmer vždy, keď som prišiel zoči-voči novému projektu, znovu sa objavil syndróm podvodníka. ? Nakoniec som sa dozvedel, že tento resurfacing bol spôsobený tým, že som 0% –25% oboznámený s daným projektom alebo databázou kódov. Znie to ako typ veci, dobre, ale keď mi pridelia projekt, môj mozog by začal závodiť, aby zistil, ako to zvládnem. Môj mozog uvažuje o cieľovej čiare a zároveň vie, že nerozumiem všetkým zložitým častiam projektu. Takže môj mozog hovorí niečo ako „Bro, my vôbec netušíme, čo sa tu deje, ako to urobíme ?!“.

Po prehrabaní sa v kóde a prečítaní dokumentácie by sme sa vrátili späť k otázke „Toto mám!“. Nechajte ostatných, nech to dobehnú. ? Pre mňa je vyššie uvedená analógia hlavným dôvodom, prečo by som sa cítil a niekedy stále cítim ako podvodník. Teraz, keď tomu rozumiem viac, môžem argumentovať svojím mozgom a potom relaxovať, aby som to dobehol. Každý, kto zažije syndróm podvodníka, vie, že ho vždy „dobehneme“!

Moja rada

Teraz bola moja stáž úžasná! Naučil som sa toľko. Ale všetkým by som urobil medvediu službu, aby som vynechal najdôležitejšiu spätnú väzbu, ktorú som dostal. Samozrejme, že nie som dokonalý! ? Tu je teda zoznam najbežnejších spätných väzieb, ktoré som dostal počas mojich šiestich mesiacov interningu.

  1. Robte si poznámky (mám dobrú pamäť, ale po stretnutiach o rôznych veciach môžete na niektoré veci zabudnúť). Bolo úžasné rozprávať sa so spoluhráčmi v Slacku. Vždy som mohol posúvať nahor nepretržite a zobraziť podrobnosti. Keby som to mohol mať pri každom rozhovore. ? Ach jo, notebook alebo dokument Google.
  2. Dajte spoluhráčom pri kladení otázok viac kontextu. Mám pocit, že toto je častá záležitosť pre nových inžinierov. Občas by som kládol otázky, akoby druhá osoba pracovala v rovnakom súbore a na rovnakom riadku kódu, na akom som pracoval. Niet divu, že by to viedlo k zmätku, ak nie k nesprávnej odpovedi na moju otázku. Je to skoro ako zavolať niekomu na telefón a povedať „Hej! Môžete mi dať cestu domov? “. (Pred Google Maps, GPS a podobne, samozrejme) Ale ak poviete „Som na križovatke Blaha a Blah smeruje na západ a pokúša sa dostať domov, môžete pomôcť?“ určite môžu pomôcť oveľa viac! Ak majú mapu alias svoj vyspelejší technický mozog!
  3. Nebuďte gladiátor! Vývoj softvéru je tímový šport. Nemohol som sa však zbaviť pocitu, že sa musím preukázať. Nie, že by som nechcel pracovať ako tím, ale cítil som, že potrebujem ukázať, že projekt zvládnem sám. Jediným problémom bolo ... .. Nemusel som to robiť. Táto obsedantná misia dokázať sám seba ma prinútila získať iba to, čo považujem za jedinú veľkú negatívnu spätnú väzbu na mojej druhej stáži. Myslím tým, pokiaľ nevytvárate startup, budete mať tím, ktorý vás bude podporovať! Pracujte s nimi a všetci majú výhody!

Bonus: Okrem toho, že budete pri kladení otázok konkrétnejší, uistite sa, že kladiete aj všetky otázky, ktoré máte. Toto je veľmi užitočná rada pre nás, ktorí sa tu učíme kódovať.

Neexistuje žiadny kvíz, ktorý by vás informoval o tom, či sú vaše znalosti porovnateľné so súčasnými mladšími softvérovými inžiniermi. Úprimne povedané, neviete, čo neviete. A mám pocit, že väčšina z nás to prijíma ako pravdu .

Toto nie je problém, kým nebudete počuť niečo, čo znie ako bežné technické znalosti. Ak niekedy počujete chatovať iných inžinierov a myslíte si, „asi by som to mal vedieť?“ o tom hovorím.

Ako sa ukázalo, je to CELKOM v poriadku, ak o tom neviete. V skutočnosti niektorí starší technici kladú presnú otázku, na ktorú som myslel. Potom si uvedomíte, že každý inžinier nevie všetko. Potom uvidíte, že každý člen tímu, ktorý vie veľa, je to, čo robí tím silným. A otázky a zdieľanie urobia zvyšok! Nepoužívajte strach z toho, že téma je niečo základné, čo by ste mali vedieť. Opýtajte sa preč !!

Záver

Ak mám byť úprimný, nastupujúc na túto stáž som vôbec netušil, čo čakať. Len to, že by som niekedy napísal kód. Nikdy som nepracoval v technike alebo v tímovom prostredí vyvíjajúcom softvér.

Celkovo si myslím, že to išlo perfektne. Z úspechov, ktoré som mal, a konštruktívnej spätnej väzby, ktorú som dostal. Príchod z armády to určite urobil zaujímavým! Najmä potom, čo ste vyškolení v plnení príkazov roky a zrazu sa musíte rozhodnúť pre väčšinu svojho každodenného pracovného toku.

Ako vždy som však vedel, že na to prídem. Rovnako ako základný vojenský výcvik, keď sme boli plešatí a zmätení a museli sme prísť na náhodné veci za 1,5 sekundy. Len teraz nie som plešatý.

Z armády som sa v skutočnosti dozvedel veľa vecí, ktoré mi, ako sa cítim, v technike veľmi pomohli. To si však odložíme na ďalší príspevok. Tiež by som sa chcel poďakovať všetkým, ktorí mi pomohli na mojej ceste a mojej rodine za to, že sa im venoval čas, ktorý im chýba. Doslova som mal pocit, že ma malá dedina vychováva k tomu, aby som bola skvelým inžinierom. Som nesmierne vďačný a šťastný za podporovaný systém, ktorý mám. Ďakujem za čítanie!