Amit megtanultam a Twitter gyakornokától a teljes munkaidős Twitter szoftvermérnökként

További kódolás és növekedés!

* A naptárat nézve * Hú! Már hat hónapja ?! Twitter-szakmai gyakorlatom első napján tudtam, hogy örökké tart, mire meglátjuk az alagút végét, de itt vagyunk. Teljes munkaidős mérnök vagyok a Twitteren !! ?

Mindenképpen sprint volt, és többet tanultam, mint amennyit el tudtam képzelni. Boldog vagyok, hogy a tudás nagy részét fel tudtam szívni. Most szeretnék időt szakítani arra, hogy megírjam a program befejezésével kapcsolatos tapasztalataimat. Tudom, hogy a legtöbb gyakornoki program egyszerű utat vezet a teljes munkaidős foglalkoztatáshoz. Ezért szeretném kiemelni néhány fázist, amin átestem, buktatókat, amelyekkel szembesültem, és átgondolni mindent, amit megtanultam. Ha ebben a bejegyzésben segíthetek egy embert a kódolási útjában, akkor →? !!

Megjegyzés: Ha kíváncsi arra, hogy miként jutottam el a Twitter-szakmai gyakorlatra, akkor ez a történet itt található: Hogyan léptem át a besorozott légierőtől a szoftvermérnök gyakornokához @Twitter

Az izgalom

Amint megtudtam, hogy internálni fogok a Twitteren, úgy éreztem magam, mint a világ legnagyobb motorja. Tele energiával, és készen áll arra, hogy meghódítson minden olyan projektet, amely elég szerencsétlen volt ahhoz, hogy az utamon landoljon.

Kivéve, hogy a motor semmi más az autó többi része nélkül, és nem valószínű, hogy teljes autóként fog megjelenni. Még akkor is, ha korábban mérnökként dolgozott, vannak dolgok, amelyek társaságonként változnak. De a munkahelyi képzés lesz az új legjobb barátod. Egy jó kis adaggal pillanatok alatt cirkálhat!

Az első lépés az autó többi részének építése felé az Új bérlés orientáció volt. Itt jöttem rá, hogy a Tech Company XYZ nem a FreeCodeCamp kalkulátor projekt alapján veszi alapul a veremét.

A Twitteren tartott orientációs héten a mérnökök áttekintést kapnak a Twitter működéséről, és részleteket adnak arról, hogy a darabok hogyan valósulnak meg.

Eleinte ez egy őrülten összetett típusú érzelmet vált ki. ? Miután ténylegesen elkezd dolgozni, sokkal több értelme lesz. Hirtelen dolgozni fog egy projekten, és olyan dolgokkal találkozik, amelyekről tájékozódva emlékszik vissza. M AKE meg róla, nem érzi magát, gondoljon, akar, vagy fontolja meg annak szükségességét, hogy belevetik magukat a minden darabja a verem.

Ezek a magas szintű magyarázatok mégis hasznosak. Segítenek abban, hogy lássa az összképet, és hogy csapata hogyan járul hozzá a vállalat küldetéséhez. Tehát bár alig vártam, hogy elinduljak, időm adása magamnak a letelepedésre lehetővé tette volna, hogy sokkal gördülékenyebben lépjek fel!

A kezdő

Kezdve egy új cég egy teljesen új iparág csinál egy teljesen új feladat volt egy hatalmas váltás számomra. Hirtelen úgy éreztem, hogy újból alapképzésen vagyok. Amikor elkezdtem, nem is tudtam, hogyan kell használni a Mac-et. ? Egész életemben PC-s ember voltam. Elég ijesztő érzés, mert új bérletként értéket akar nyújtani - és helyette néha elég haszontalannak érezheti magát. Csak legyél türelmes magadhoz. Ennek a türelemnek a hiánya volt az egyik legnagyobb kihívás, amellyel el kellett kezdeni.

Mint mondtam, megvan ez a motor, amely készen áll a teljes kialudásra. De van egy kis munka, amelyet be kell fektetni, mielőtt átvehetnéd a világot! A türelem segít abban, hogy gyorsabban termeljen. Ez is segít abban, hogy ne érezze magát oxigénpazarlásnak, miközben tanul. ?

A felhalmozódás

A termelékenységhez szükséges készségek fejlesztése érdekében tudtam, hogy szakaszokra kell bontanom őket. Először a legszükségesebb készségeket szerettem volna megtanulni, néhány termelékenységnövelő készséget stb.

Eleinte az volt a kérdésem, hogy kitaláljam, melyik készséget kell elsajátítani ezekben a szakaszokban. A megtanulható dolgok száma elsöprő volt. Annyi újdonság volt körülöttem! Tudtam azonban, hogy csak egy kis töredéke lesz releváns annak, amit megpróbáltam megvalósítani.

Referenciaként: soha nem használtam a következő hat hónapban használt technológiák többségét. Oké, kivéve Git, de ezen kívül úgy éreztem, mintha egy új bolygón lennék!

Végül az első célom az új IDE használatának megtanulása lett. Az általam használt szerkesztő neve IntelliJ, és őrülten sok gomb van rajta, és korábban Atomot használtam. Tehát újabb hatalmas váltás!

Amikor végül készen álltam egy kód megírására, az első ösztönöm az volt, hogy kitaláljam, hogyan kell csinálni egy kis projektet, amelyet jól ismertem. Lényegében fordítási projektet végzek az új eszközeimmel. Tehát itt próbáltam eljutni egy helloWorld Scala programba (Igen, ezt egy kis projektnek tartom?), Hogy kinyomtassam a konzolra. Úgy éreztem, mintha ismét a FreeCodeCamp első napja lenne.

Miután elindítottam ezt a projektet, kaptam egy nagyobb gyakorlati projektet. Az egyetlen probléma az volt, hogy nem tudtam, hogyan kell elkészíteni és tesztelni ezt a projektet az új eszközeimmel. Ami még őrültebb volt, hogy ezt a gyakorlati projektet már korábban elkészítettem (The Bit.ly style URL Shortener). Tehát tudtam, hogyan kell megvalósítani a logikát, és még az adatokat is fenn tudom tartani. De Atom, NPM, MongoDB és NodeJS nélkül eltévedtem! Legalább tisztességes voltam ebben a pillanatban a Mac körül navigálni.

Egy új nyelv (Scala) és az IDE (IntelliJ) megtanulása egyúttal lelassított egy kicsit. Mondanom sem kell, hogy ez egy lassú folyamat volt, hogy produktívnak érezzem magam.

Visszatekintve megtanultam, hogy rendkívül hasznos a válogatás és a fontossági sorrend meghatározása, mely témákat kell most megtanulni, és melyeket kell később mélyebbre ásni. Valójában könnyebb kiküszöbölni mindazt, amit nem kell megtanulnia, és arra összpontosítani, ami megmaradt.

Legalább két vagy három dologba belemélyedtem, hogy visszatekintve nem volt dolgom arra, hogy időt szenteljek. Ha újrakezdhetném, kizárólag néhány IntelliJ oktatóanyaggal kezdtem volna . Így legalább egyszerű programokat futtathattam, és módosíthattam őket, hogy kísérletezhessek a környezettel. Tudom, hogy ez nem okoskodónak tűnhet, de amikor ötven olyan dologgal bombáznak, amelyekről soha nem hallottál, akkor kissé nehéz ezeket átszűrni.

Nem számít, melyik utat választja, mindez össze fog jönni az idővel. Csak ne álljon meg. Csak az a kérdés, hogy mennyire akarsz hatékony lenni! (Prius vagy Hellcat?) Mielőtt tudtam volna, valójában projekteket építettem! Félelmetes volt az öröm, amit éreztem. Scala-kódot írtam, használtam az IntelliJ-t, és még a Mac-et is használtam anélkül, hogy az egyszerű funkciók használatát gugliznám. Határozottan „W”, de mégsem a pihenés ideje!

Az imádkozó

Ez a szakasz egy olyan témát érint, amelyet sokan átélhettek. Ha még nem tette meg, itt van egy kis heads-up arra az esetre, ha egy nap megtenné! Ez a téma az impostor szindróma. Ennek elég sok formája van, de mindannyian visszatérnek ahhoz, hogy ne érezzék, hogy képes vagy-e. A furcsa az egészben az, hogy akkor tapasztalja ezt, miközben rendre feladatok elvégzéséhez, vagy igazolja Önt magadnak többször.

Szinte minden alkalommal tapasztalom, amikor új projekten kezdek dolgozni. Gyorsan rájövök, hogy szinte minden projektre van szükség, legyen az bármilyen kicsi is. Ez a tudásbeli hiányosság, amely minden egyes projekt előtt megvan, elégtelennek érzem magam. Ez természetesen elvezet a „Tartozom ide?” elmeállapot. És azt hiszem, hogy végre rájöttem, miért!

Az a tény, hogy nem rendelkezem hivatalos CS-oktatással, vagy akár kódbetöltő táboros képzéssel, az egy darab. Úgy értem, tudom, hogy nem vagyok teljesen kezdő, de azt is, hogy hiányoznak az alapvető CS ismeretek darabjai. Egy ideig a CS-tudásom olyan volt, mint egy svájci sajt. Az idő múlásával azonban sok ilyen hiányosságot pótoltam, és több bizalmat szereztem.

De ez nem jelenti azt, hogy ezzel vége lett volna a csalónak érzésnek! Szinte minden alkalommal, amikor szembesültem egy új projekttel, az impostor-szindróma újra felbukkant. ? Végül megtudtam, hogy ez a felújítás csak annak köszönhető, hogy 0–25% -ban ismerem az adott projektet vagy kódbázist. Ez "jól duh" típusú dolognak hangzik, de amikor kijelöltek egy projektet, az agyam csak elkezdett versenyezni, hogy kitaláljam, hogyan fogok ezzel foglalkozni. Az agyam a célvonalon gondolkodik, és ugyanakkor tudja, hogy nem értem a projekt összes bonyolult részét. Tehát az agyam olyasmit mond, hogy "Bro, fogalmunk sincs, mi folyik itt, hogyan fogjuk ezt megtenni ?!".

Miután belemélyedtünk a kódba és elolvastuk a dokumentációt, visszatérnénk a „Megértettem!” Helyre. Kérem, hagyja, hogy a többiek utolérjék. ? Számomra a fenti analógia az oka annak, hogy miért érezném magam, és néha mégis úgy érzem magam, mint egy csaló. Most, hogy ezt jobban megértem, vitatkozhatok az agyammal, majd ellazulok, hogy utolérjem. Bárki, aki impostor szindrómát tapasztal, tudja, hogy mi mindig "utolérjük"!

A tanácsom

Most fantasztikus volt a szakmai gyakorlatom! Annyit tanultam. De mindenkinek rosszat tennék, ha kihagynám a legfontosabb visszajelzéseket. Természetesen nem vagyok tökéletes! ? Tehát itt van egy lista a leggyakoribb visszajelzésekről, amelyeket hat hónap internálásom során kaptam.

  1. Jegyezzen fel (jó a memóriám, de találkozók után különböző dolgokról elfelejthet néhány dolgot). Félelmetes volt beszélgetni csapattársaimkal a Slackben. Mindig csak 24/7-ig görgethettem felfelé és láthattam a részleteket. Ha ezt minden beszélgetéshez el tudnám vinni. ? Ja, igen, egy notebook vagy egy Google Doc.
  2. Adjon több összefüggést a csapattársaknak, amikor kérdéseket tesz fel. Úgy érzem, ez általános kérdés az új mérnökök számára. Olyan kérdéseket tettem fel néha, mintha a másik személy ugyanazon fájlban és ugyanazon a kódsoron dolgozott volna, amelyen én dolgoztam. És nem meglepő, hogy zűrzavarhoz vezetne, ha nem téves válasz a kérdésemre. Szinte olyan, mintha telefonon felhívna valakit, és azt mondaná: „Hé! Tudna nekem hazajutni? ”. (Természetesen a Google Maps, a GPS és hasonló dolgok előtt) De ha azt mondod, hogy „Blah és Blah kereszteződésében vagyok, és nyugat felé haladok, és megpróbálok hazaérni, tudnál segíteni? mindenképpen sokkal többet tudnak segíteni! Ha van egy térképük, vagyis az idősebb mérnöki agyuk!
  3. Ne légy gladiátor! A szoftverfejlesztés csapatsport. Nem tudtam megingatni azt az érzést, hogy bizonyítanom kell magam. Nem mintha nem akartam csapatként dolgozni, de úgy éreztem, meg kell mutatnom, hogy egyedül tudok kezelni egy projektet. Az egyetlen probléma az volt ... Nem kellett ezt tennem. Ez a rögeszmés misszió bizonyítani magam csak arra késztetett, hogy a második szakmai gyakorlatom során csak azt kapjam, amit az egyetlen fő negatív visszajelzésnek tekintek. Úgy értem, hacsak nem startupot hoz létre, lesz egy csapata, amely támogatni fogja! Dolgozz velük, és mindenki profitál!

Bónusz: Amellett, hogy konkrétabb kérdéseket tesz fel, feltétlenül tegyen fel minden kérdést. Ez egy nagyon hasznos tanács nekünk odakint, tanítva magunkat a kódolásra.

Csak nem kell kvízt készíteni, hogy lássa, ismeretei összehasonlíthatók-e a jelenlegi junior szoftvermérnökökkel. Tehát őszintén szólva, nem tudod, amit nem tudsz. És úgy érzem, hogy a legtöbben ezt elfogadjuk igaznak .

Ez addig nem kérdés, amíg nem hall valamit, ami közös mérnöki ismereteknek tűnik . Ha valaha más mérnököket hallott csevegni, és azt gondolja magában: "Ezt valószínűleg tudnom kell?" erről beszélek.

Mint kiderült, TELJESEN rendben van, ha nem tudod. Ami azt illeti, az idősebb mérnökök egy része pontosan azt a kérdést teszi fel, amire én gondoltam. Akkor rájössz, hogy minden mérnök nem tud mindent. Ekkor látja, hogy a csapat minden tagja, aki mindannyian ismeri a jó összeget, erőteljesé teszi a csapatot. És a kérdések és a megosztás elvégzi a többit! Ne féljen attól, hogy a téma valami alapvető dolog, amit tudnia kell. Kérdezz csak!!

A következtetés

Hogy őszinte legyek, ebbe a gyakorlatba belépve fogalmam sem volt, mire számíthatok. Csak, hogy valamikor kódot írnék. Soha nem dolgoztam technikában, és nem dolgoztam szoftverfejlesztő csapatban.

Összességében szerintem tökéletesen sikerült. A sikerekből és a kapott konstruktív visszajelzésekből. A katonaság felől mindenképp érdekes lett! Különösen azután, hogy évekig kiképzettek a megrendelések betartására, és hirtelen el kell döntenie a napi munkafolyamat nagy részét.

Mint mindig, mégis tudtam, hogy kitalálom. Csakúgy, mint az alap katonai kiképzés, amikor kopaszak és zavartak voltunk, és 1,5 másodperc alatt ki kellett találnunk a véletlenszerű dolgokat. Csak most nem vagyok kopasz.

Valójában sok mindent megtanultam a katonaságtól, és úgy érzem, sokat segítek a technikában. Ezt azonban elmentjük egy másik bejegyzéshez. Ezúton is szeretnék köszönetet mondani mindenkinek, aki segített az utamon, és a családomnak, hogy foglalkoztak a tőlük távol töltött idővel. Szó szerint úgy éreztem, hogy volt egy kis falum, aki nagy mérnöknek nevelt. Nagyon hálás és szerencsés vagyok a támogatási rendszerért. Köszönöm, hogy elolvasta!