Construiește-ți propriul curriculum personal de învățare
Publicat: 2022-03-10După ce am finalizat un bootcamp în martie 2019, am fost copleșit de alegerea cadrelor, bibliotecilor, limbilor și cursurilor din care a trebuit să aleg pentru a continua învățarea independentă și, sper, să mă obțin unul dintre acele locuri de muncă evazive de dezvoltator junior. Aproape toți cei cu care am vorbit aveau o părere diferită cu privire la ceea ce este important și merită urmărit, dar cei mai mulți dintre ei au fost de acord că învățarea „elementelor fundamentale” este importantă, fără a specifica niciodată cu adevărat ce sunt acestea.
Chiar și după ce am primit primul meu loc de muncă de dezvoltator vara trecută, a devenit rapid evident că trebuie să învăț regulat extracurricular pentru a satisface cerințele acestui nou rol. Am alergat o vreme între cursurile Udemy și, în timp ce am învățat, de multe ori m-am trezit prin mișcările de a copia instructorul fără a dezvolta singur abilitățile de rezolvare a problemelor . Mi-a trebuit să-mi fac propriul proiect lateral mic, zgâriet, pentru a înțelege cu adevărat noul material. Așa că acum știam care este stilul meu de învățare: expunerea inițială la idei într-un curs sau la locul de muncă, să creez o schiță a unui proiect pentru a consolida conceptele și apoi să folosesc această nouă învățare în munca mea de zi cu zi, dacă aș putea.
Cei mai mulți dintre noi au un simț solid (dacă am câștigat cu greu) despre cum învățăm cel mai bine pe termen scurt, dar cum se traduce asta în structura învățării extracurriculare pe termen lung? Am de gând să vă spun cum am rezolvat această problemă pentru mine. Aceste strategii vor funcționa pe întregul spectru de experiență, indiferent dacă sunteți nou în dezvoltarea de software sau un inginer experimentat.
propriul dvs. curriculum personal
Aceasta este metoda mea de a elabora un curriculum de învățare . Fiind o persoană cu timp limitat și cu tendința de a fi luată de briza impulsivității în detrimentul muncii susținute și concentrate, am găsit această metodă cea mai compatibilă cu creierul meu și cu ritmurile generale. Kilometrajul dvs., desigur, poate varia.
Folosiți specificațiile rolului „Slujbă de vis” pentru a stabili obiective
Am găsit acest pas foarte util pentru a îneca tot zgomotul ambiental și pentru a mă face să mă concentrez asupra lucrurilor care vor fi practic utile carierei mele în următorii cinci ani și ceva. (Fiind mai mult un dezvoltator front-end, deseori m-am trezit să fac ochi grozavi la învățarea Rust. Deși fascinant, nu este tocmai o prioritate.)
Poate că nu doriți să lucrați la o companie tehnologică uriașă, dar merită să vă uitați la ce prioritizează aceștia atunci când angajează, deoarece, de bine sau de rău, marile companii tind să dea tonul industriei în general. Am o mică listă de cumpărături cu companii non-diabolice la care aș dori să ajung într-o zi și toate împărtășesc aceleași priorități: HTML/CSS semantic, abilități excelente de JS vanilla, accesibilitate și un cadru popular. Într-o zi o să învăț Rust, dar, deocamdată, lucrul la aceste abilități este prioritățile mele principale.
Tind să favorizez Într-adevăr, Guardian Jobs și LinkedIn pentru obținerea unei game largi de locuri de muncă care sunt pe piață, dar la fel de util este Twitter (doar să cauți [numele companiei care te interesează] și „locuri de muncă”) și fii atent periodic pe pagina „Cariere” a câtorva companii preferate la fiecare două luni. Jessica Rose, care postează pe Twitter ca @jesslynnrose, scrie frecvent fire lungi pe Twitter cu posturi vacante la „companii care nu sunt rele”, care uneori nu sunt foarte bine mediatizate în altă parte.
Odată ce ați adunat câteva specificații de locuri de muncă, încercați să identificați punctele comune dintre ele și notați-le. Le vom folosi pentru următorul pas.
Identificați oportunitățile de a dezvolta abilitățile pe care le doriți
Îți amintești lista pe care am menționat-o? Împărțiți-l în două coloane. Coloana unu: lucruri la care puteți lucra în munca de zi cu zi. Coloana a doua: lucruri pe care trebuie să le privești în timpul tău.
Învățare la locul de muncă
Lucrurile de pe lista ta care sunt acoperite de munca ta de zi sunt lucrurile pentru care trebuie să te îngrijorezi cel mai puțin. Indiferent de ce, abilitățile tale în aceste domenii se vor îmbunătăți cu timpul. Unii dintre voi veți lucra la organizații enorme cu personal de mulți dezvoltatori cu diferite niveluri de vechime și specializări, și vă sfătuiesc să mulgeți asta pentru tot ce merită, ca să spunem direct.
Dacă accesibilitatea este o lipsă de cunoștințe pe care ați dori să o îmbunătățiți, încercați să înghiți orice nervi și să abordezi pe cineva de la locul tău de muncă care are acele abilități pentru o conversație/o cafea Zoom. Încercați să faceți împerechere cu ei, înțelegând că puteți „împereche” lucruri care nu sunt probleme de codare. Discutați cu ei despre unde își găsesc informațiile, despre ce conturi Twitter, bloguri și podcasturi țin pasul și despre cum sunt ei înșiși la curent cu noile evoluții.
Învățare la domiciliu
Fiind o persoană cu două cariere anterioare, dintre care niciuna nu era legată de informatică, care a intrat în industrie printr-un bootcamp de nouă săptămâni în urmă cu un an, am o înțelegere rudimentară a informaticii și mulți dintre voi vă aflați probabil în aceeași situație.
Am descoperit că Frontend Masters sunt de neprețuit atunci când vine vorba de cursuri cu adevărat bine concepute pe principii informatice și de învățare mai specifică. Personal, am considerat că cursurile lui Will Sentance despre Frontend Masters sunt valoroase pentru a înțelege cum și de ce atunci când vine vorba de JavaScript vanilla. De asemenea, cursurile „Patru semestre de informatică în 5 ore” ale lui Brian Holt expun studenții la felul de concepte care pot apărea în interviurile tehnice.
Există o taxă lunară de abonament pentru Frontend Masters și merită, dar există o mulțime de resurse minunate gratuite . Recomand cu adevărat tuturor celor care nu au făcut-o deja să se înscrie în CS50. Cursul, condus de Universitatea Harvard, este o resursă minunată, gratuită, care vă va expune la C, Python, JavaScript și module despre etică și structuri de date de bază. Prelegerile sunt extrem de distractive și puteți face atât de mult sau cât de puțin din curs doriți, fără constrângeri de timp.
De asemenea, FreeCodeCamp și-a câștigat bine statutul de punct de plecare cheie atât pentru dezvoltatorii autodidacți, cât și pentru cei care doresc să-și dezvolte abilitățile existente și vă încurajez să căutați cursuri relevante pentru interesele dvs. pe Udemy (aș sugera să nu cumpărați un curs Udemy care nu beneficiază de o reducere mare. Vânzările lor apar o dată la câteva săptămâni și există întotdeauna coduri de reducere.
Unul dintre preferatele mele este The Complete Node.js Developer Course de Andrew Mead și ador cursurile lui Colt Steele (există unul deosebit de bun despre algoritmi și structuri de date, care vă va ajuta dacă vă aflați vreodată pe partea mai grea de algoritmi a spectrului de interviuri tehnologice). De asemenea, Smashing Magazine organizează frecvent ateliere online pe o serie de subiecte care vă vor ajuta să vă îmbunătățiți abilitățile.
După cum probabil știți, abilitățile care oferă oamenilor locuri de muncă în tehnologie pot diverge adesea de abilitățile pe care oamenii trebuie să le folosească la locul de muncă. Aceste cursuri vă vor învăța elementele fundamentale ale informaticii, menținându-vă în același timp agil pentru interviuri și vă vor ajuta să umpleți orice tăcere potențial zdrobitoare cu însumări rapide ale diferitelor structuri de date și avantajele și dezavantajele acestora. Ideea nu este să faceți toate aceste cursuri, ci să le identificați și să le combinați pe cele care se potrivesc cu specificațiile postului pe care le-ați vizat.
Am descoperit că Twitter este incredibil de util pentru a găsi oameni cu care să discutăm despre problemele de cod. Primăvara trecută am strigat în gol despre o problemă pe care o aveam cu Android Studio și am fost surprins să fiu într-un apel video cu un dezvoltator Android mai puțin de zece minute mai târziu și, nu numai asta, a părut încântat să mă ajute!
Nu subestimați amabilitatea comunității de dezvoltatori și nu vă sfiați să apelați la ea pentru ajutor atunci când aveți nevoie și faceți tot posibilul să vă puneți în situații în care puteți vorbi cu oameni dintr-o lume similară cu dvs. context mai larg al industriei tehnologice. Hashtag-ul #CodeNewbie este un lucru la îndemână dacă aveți vreodată nevoie de ajutor.
Stabiliți ținte și orare
Acum este timpul să vă legați obiectivele de învățare autodirijate de unele ținte. Încercați să nu puneți ștacheta prea sus — dacă nu este realist să finalizați un curs Udemy într-o săptămână, nu încercați să vă împingeți atât de mult încât să vă îndepliniți obiectivul în detrimentul altor lucruri importante din viața dvs. sau nu reușiți să îndepliniți ținta și să vă simțiți ca un eșec. Ideea este să te menții pe drumul cel bun , aplicând o presiune ușoară pentru a rămâne motivat, dar nu atât de mult încât să te simți copleșit și să pierzi orice motivație.
Ca persoană matinală, mă simt cel mai capabil să mă concentrez asupra studiului în orele înainte ca munca mea să înceapă la ora 9.30. Având în vedere acest lucru și folosind minunatul instrument de urmărire a timpului, Toggl, petrec între 7 și 9 dimineața, două dimineți pe săptămână, studiind codul. Folosirea Toggl a fost extrem de importantă pentru mine, deoarece, indiferent cât de mult aș face, adesea simt că nu este suficient. Dar, cu ajutorul lui Toggl, am putut să văd cu certitudine că fac minim patru ore pe săptămână (cu plus seara și în weekend, dacă aveam chef) și mă simțeam mai capabil să mă îndepărtez de laptop și să mă odihnesc atunci când timpul a expirat, în siguranță știind că am acumulat o cantitate acceptabilă de ore după propriile mele standarde.
Faceți progresul măsurabil
Gândește-te la programul tău săptămânal mediu și încearcă să blochezi un moment al zilei când ai cea mai bună șansă de a-ți asigura o concentrare neîntreruptă. Unii dintre voi veți fi îngrijitori sau extrem de ocupați, și probabil va fi mai bine să vă luați timpul pe măsură ce îl puteți obține.
Dacă vă ajută să vedeți un exemplu, obiectivele mele personale sunt următoarele:
- Finalizați un curs Node.js Udemy până la sfârșitul lunii februarie.
- Faceți 30 de minute de Execute Program înainte de muncă în fiecare zi.
Încercați să greșiți din partea prudenței pentru primul set de ținte. Poți oricând să crești presiunea dacă vrei, dar este mai bine să faci asta odată ce ai reușit la câteva; asigurați-vă că aveți spațiul mental și fizic liber pentru a vă concentra cu adevărat pe ceea ce trebuie să faceți pentru a rămâne pe drumul cel bun.
Găsiți un mentor, sau un prieten, sau ambele!
Mentorshipul este ceva pe care majoritatea dezvoltatorilor l-ar recomanda pentru a îmbunătăți abilitățile, dar, din experiența mea personală, găsirea pe cineva cu timp să te îndrume este o provocare, mai ales acum. Există resurse precum Coding Coach care te pot ajuta și cunosc câțiva dezvoltatori care și-au găsit mentorul de vis la întâlniri și pe rețelele de socializare, dar găsirea potrivirii perfecte este mai ușor de spus decât de făcut.
Am vorbit cu Falina Lothamer, un designer de instruire la Thinkful — un curs online masiv deschis (sau MOOC, pe scurt) — pentru a-mi face o idee despre modul în care profesioniștii abordează învățarea independentă. Ea a fost foarte clar că găsirea și colaborarea cu un mentor este cheia pentru a-ți progresa abilitățile de dezvoltator.
„Dacă aveți nevoie să aveți ceva aranjat pentru dvs., luați mentorul să spună: „Iată unde cred că ar trebui să vă concentrați”, arătându-vă ce fac ei la locul lor de muncă și împărtășindu-și părerea despre viitorul zonei dvs. tehnologia va ajuta foarte mult. Cred că există o mulțime de oameni în industrie care sunt dispuși să ocupe acel rol de mentor și să facă pentru alții ceea ce cineva a făcut pentru ei.”
După ce mi-am exprimat unele dintre frustrările mele că m-am lovit de un zid de cărămidă cu o serie de cursuri Udemy, pur și simplu am constatat că rețin informații și nu am neapărat încrederea în ceea ce am învățat să le aplic în alte domenii sau în alte proiecte, Fallina a fost clar că este esențial să fii responsabil față de o altă persoană – în mod ideal, un mentor, dar în egală măsură un alt dezvoltator cu o experiență profesională similară cu tine.
„Ca dezvoltator, trebuie să cauți oportunități pentru a demonstra ceea ce știi și cum înveți. Să ai pe altcineva cu care să vorbești despre provocările cu care te confrunți și să ai spațiu pentru a discuta despre asta cu cineva și să realizezi că „acesta lucru pe care încerc să-l fac este complicat, nu sunt un dezvoltator groaznic”, având asta validarea poate fi uriașă.”
Pentru cei care nu reușesc să găsească un dezvoltator senior care să-i ia sub aripa lor, recomand să urmeze sfaturile lui Fallina și să te răspunzi față de altcineva din industrie la un nivel similar cu tine. Dezvoltatorii care se unesc și împărtășesc povești vor întări faptul că această muncă este grea și că nu sunt singurii ingineri care se luptă să se descurce la locul de muncă în câteva zile. Această muncă poate fi foarte solicitantă din punct de vedere emoțional și a avea un prieten cu care să lupți va fi de neprețuit în acele zile în care nimic nu pare să meargă bine.
Vă recomand să vă înscrieți la Interview Cake, Execute Program sau la un curs Udemy relevant pentru nivelul de calificare și specialitatea dvs. și să efectuați aceleași exerciții ca și prietenul dvs., aproximativ în același timp. Discutați ce ați găsit mai ușor și unde ați căzut și mențineți contactul unul cu celălalt pe tot parcursul. Deși cu siguranță poți face aceste lucruri singur, încurajarea unui simț al comunității te va ajuta să rămâi la sarcină și va face mai probabil să te ții de ea.
O carcasă pentru aplicații Scratch Pad
Dacă ai timp și energie pentru a turna într-un proiect secundar mare pe deasupra muncii, mai multă putere pentru tine, dar mi se pare oarecum împovărătoare presiunea de a face acest lucru. În schimb, sunt un fan al proiectului scratch pad, în primul rând pentru că beneficiez cu adevărat de a urma o mulțime de idei noi simultan și devin rapid dezinteresat de proiectele personale, nu există presiunea timpului care să mă conducă.
Dacă proiectul tău secundar efectuează un apel API, afișează informațiile într-un mod semi-atrăgător și ai învățat ceva din proces, iar construirea proiectului într-o aplicație mai mare nu se potrivește cu neurologia ta, cu programul tău de îngrijire , sau gusturile tale, apoi acordă-ți o pauză . Nu ai batjocori un artist pentru schițe și cu siguranță nu ar trebui să te simți prost dacă proiectele tale secundare sunt mutanți pe jumătate formați, atâta timp cât obții ceva din proces. Arhivele mele GitHub sunt elegii pentru ideile bune trecute și m-am împăcat cu ele.
A rotunji
Având în vedere starea lumii în acest moment, ultimul lucru pe care vreau să fiu este o altă voce care cere productivitate în izolare. Nu despre asta este vorba. Aceștia sunt pur și simplu pași care au funcționat pentru mine atunci când am avut nevoie să învăț în timp, fără a mă epuiza sau a pune presiune nejustificată asupra mea. Dacă lucrează pentru tine, minunat. Dacă nu, nu vă faceți griji. Toți avem ritmul nostru.
Pași
- Utilizați specificațiile postului pentru a identifica abilitățile cheie.
- Împărțiți aceste abilități între învățarea la locul de muncă și învățarea în timpul propriu.
- Stabilește-ți obiective clare, măsurabile și realiste și intensifică-le doar atunci când ți-ai găsit ritmul.
- Găsiți un mentor sau un prieten, astfel încât să fiți responsabil pentru acele obiective.
- Relaxa! Învățarea dezordonată este mai bună decât lipsa de învățare.
Resurse utile
- Udemy
- Tort interviu
- CS50
- Executați programul
- Antrenor de codare
- Comutare
- #CodeNewbie
- Atelierele online ale Smashing Mag
- FreeCodeCamp
- Maeștri de front-end
- Într-adevăr
- Locuri de muncă de gardian
Noroc!