În ciuda miturilor populare, poți deveni dezvoltator de software fără diplomă de facultate.
indiferent dacă reintrați în forța de muncă sau sunteți blocat într-o carieră care nu vă place (administrație, operațiuni, servicii bancare etc.).), devenind un dezvoltator de software este în totalitate la îndemână—atâta timp cât sunteți dispus să pună în munca grea.potrivit US News, dezvoltatorii de software au un salariu mediu de $107,510 pe an, și o rată a șomajului de 1.,4%, ceea ce o face una dintre cele mai profitabile cariere tehnologice. În plus, profesia oferă un echilibru peste medie între viața profesională și cea privată. mai mult, Biroul de Statistică a muncii proiectează că între 2018-28 va exista o rată de creștere de 21%. Între timp, creșterea medie pentru toate ocupațiile este de 5%. Acest lucru se traduce prin 284.100 de locuri de muncă.
și ghici ce? În ciuda perspectivelor pozitive și a abundenței de oportunități, doar 3% dintre absolvenții de facultate studiază informatica și știința informației. După cum puteți vedea în imaginea de mai jos, în 2020 au fost 1.,4 milioane de locuri de muncă de calcul față de 400.000 de studenți CS.
Veți obține imaginea: abilități de programare poate aduce mai multe securitatea financiară, precum și flexibilitate în dvs. de zi cu zi. Dar cum obțineți aceste abilități, fără a sta prin patru ani de clase CS? Și, mai important, cum aterizați una dintre aceste cariere în cerere și foarte plătite?
iată vestea bună: este total posibil!, Acest ghid în 11 pași va ridica vălul și vă va arăta cum să deveniți inginer software fără o diplomă CS. Deci, citiți mai departe!
dezvăluire: sunt un afiliat mândru pentru unele dintre resursele menționate în acest articol. Dacă cumpărați un produs prin link-urile mele de pe această pagină, s-ar putea să primesc un mic comision pentru a vă trimite. Mulțumesc!
ce este un inginer de Software?
prin definiție, un inginer software este cineva care scrie codul din spatele produselor software (jocuri video, sisteme de operare, aplicații, Funcții, roboți etc.).,
există o diferență între un inginer software și un dezvoltator de software? Nu chiar. Termenii sunt folosiți în mod interschimbabil, iar companiile tind să le vadă ca fiind același lucru. Când sunteți în căutarea unui loc de muncă în domeniul ingineriei software, asigurați-vă că căutați și priviți postările atât pentru „inginer software”, cât și pentru „dezvoltator de software” pentru a obține cele mai multe rezultate.,
Cum de a Deveni un Inginer de Software Fără o Diplomă de Facultate
Înainte de a începe, să înțeleagă că următoarele măsuri sunt specifice pentru cei care cauta un job full-time (am abreviat ca FTJ), ca un inginer de software.,
Vor fi mai puțin util pentru persoana care este:
- Ncearcă cu un cod pentru prima dată
- nu sunteți Sigur dacă codificare este potrivit pentru ei
- care Doresc să urmeze web design, UX, UI, sau orice alt design legate de domeniu
- care Doresc să independent full-time
- în Speranța de a începe propria afacere
Dar toate astea sunt lucruri mari pentru a fi cu scopul de față, iar restul de blog-ul este plin de conținut despre aceste subiecte prea!acum, să ne scufundăm în cei 11 pași ai modului de a deveni inginer software.,
Pasul #1: Fii clar despre obiectivul tău final în ingineria software
tranziția într-o nouă carieră nu este ușoară. Dar când aveți o destinație finală în minte, vă ajută foarte mult atunci când loviți denivelări pe drum. Un obiectiv clar de cristal arată cam așa:
- ” vreau să lucrez ca dezvoltator de software la o companie tehnologică consacrată.”
- ” vreau să lucrez la un nou startup, ca inginer software, în industria pe care o ador.”
- ” vreau să construiesc lucruri pe o echipă și să fiu plătit bine pentru asta., indiferent de specificul visului dvs., dacă doriți să treceți prin toți cei 11 pași, trebuie să vă angajați în obiectivul final de a deveni un inginer software cu normă întreagă. Asta te va conduce înainte când lucrurile devin dificile.
Pasul #2: Alege un bun de inginerie software limba de a învăța
atunci Când la început, mulți oameni rămân blocați decide care limbaj de programare (și cadru) ar trebui să învețe. Ruby pe șine? Python și Django? MEAN stack? Atât de multe opțiuni, atât de puțin timp.,
Aici e un lucru: o dată ce știi o anumită limbă/stivă ei bine, nu este dificil de a trecerea la un nou unul. Asta înseamnă că atunci când devii inginer software, ceea ce vrei să te concentrezi este înțelegerea fundamentelor programării. În esență, învățați cum să învățați. odată ce aveți o bază solidă, puteți trece cu ușurință la noi limbi, cadre și tehnologii., După cum spune co-fondatorul Flatiron School Avi Flombaum, ” cel mai important aspect este că înveți cum să gândești ca un dezvoltator.”
începeți codarea acum
opriți așteptarea și începeți să învățați! Obțineți cele 10 sfaturi despre cum să vă învățați cum să codificați.toate acestea au spus, ar trebui să vă concentrați pe o limbă/cadru pentru a începe.
cu atât de multe limbi acolo, poate fi greu de știut care dintre ele pentru a alege. Vă recomandăm să luați ceva timp pentru a învăța despre diferitele limbi. Acest ghid pentru alegerea unui limbaj de programare este un loc minunat pentru a începe.,pentru mulți, rubinul este o modalitate excelentă de a merge.Ruby este ușor de citit și eficient, ceea ce face mult mai ușor pentru a obține confortabil cu decât unele alte limbi. Este, de asemenea, open-source, astfel încât veți avea acces la o mulțime de instrumente și o comunitate de alți dezvoltatori, toate gratuit. Și poate cel mai important, este flexibil: limba este folosită de o mulțime de companii (Airbnb, GitHub, Hulu, Kickstarter etc.) și vă oferă o bază solidă pentru a se ramifica în alte limbi mai târziu.,
Pasul #3: practicați dezvoltarea de software…și practicați ceva mai mult
în timp ce stiva pe care o învățați nu contează foarte mult, ceea ce contează este învățarea prin practică. Aceasta înseamnă să dedicați ceva timp real perfecționării noii dvs. ambarcațiuni. Trebuie să alocați o cantitate semnificativă de timp în fiecare zi, în fiecare săptămână, învățării. nu puteți deveni dezvoltator de software după 10 ore de practică. Nu e posibil.
Unii oameni spun că este nevoie de 10.000 de ore pentru a deveni un expert., Acum, nu aveți nevoie de 10.000 de ore de practică pentru a obține primul loc de muncă de dezvoltator de software. Dar trebuie să dedici ceva timp serios.
pentru a da un exemplu, Informatica Essentials pentru curriculum-ul de dezvoltare de Software pe edX durează aproximativ 4 luni (7-9 ore pe săptămână) pentru a face acest lucru.
Pasul #4: Folosiți instrumente pe care dezvoltatorii de software reali le folosesc
în timp ce resursele gratuite precum Codecademy sunt minunate, nu vă aflați într-un mediu real atunci când le utilizați., În schimb, tastați direct în browserul web și obțineți un scor bazat pe un test sau un alt tip de activitate interactivă.acest lucru este cu siguranță util ca o modalitate de a te obișnui cu codificarea și solidificarea conceptelor din mintea ta. Cu toate acestea, în lumea reală, nu vei lucra așa. Deci, ceea ce vrei să faci de la început este să construiești cum construiesc adevărații ingineri. Vrei să folosești instrumentele pe care le folosesc. Pe drum, acest lucru va face mult mai ușor de tranziție într-un rol full-time și să se alăture unei echipe.,
dar este greu să construiești cum construiesc Dev-urile reale și să folosești instrumente pe care le folosesc Dev-urile reale atunci când începi prima dată. (Daca esti ceva ca am fost, este greu să știu chiar de unde să încep.vestea bună este că există programe care vă învață cum să utilizați aceste instrumente—cum ar fi controlul versiunii cu Git, un curs online prin Coursera.,
curriculum-ul Său atinge pe instrumente și procese reale inginerii folosesc în fiecare zi, cum ar fi:
- Git/GitHub
- linie de comandă interfață
- Bitbucket
Acest lucru vă va permite să se adapteze mult mai repede odată ce ești într-un loc de muncă real, mai degrabă decât a fi nevoie de încă o altă curbă de învățare abruptă a stăpâni.un alt curs Git pentru a verifica afară este cursul final Git măiestrie de cod cu Mosh, care este predat de un inginer de software cu peste 20 de ani de experiență în industrie.,
Pasul # 5: citiți codul scris de alți ingineri software
Un alt aspect important al devenirii unui inginer software este învățarea cum să citiți codul altor persoane. Puteți face acest lucru navigând prin depozitele GitHub și căutând prin documentație.
Uneori, documentația poate fi greșit, dar codul sursa nu minte niciodată. Învățând să citiți acest cod, veți putea înțelege ce se întâmplă și cum funcționează un program., (Această abilitate este importantă și atunci când vine vorba de depanare, deoarece veți putea identifica ce bucată de cod nu ar trebui să fie acolo.aceasta este adesea o abilitate trecută cu vederea, dar vă poate ajuta cu adevărat să vedeți cum fac dezvoltatorii cu experiență lucrurile. Nu face doar o degresare sumară a codului, fie. Îngropa în adâncime, să învețe intrarile si iesirile, harta funcționalitatea, și în cele din urmă, recrea-l dacă poți. În acest fel, veți putea să inversați un program existent, ajutându-vă să înțelegeți mult mai bine cum să creați unul propriu.,
Pasul #6: Găsiți o comunitate de inginerie software de susținere
găsirea unei comunități cu care să învățați vă poate face sau rupe succesul ca inginer software—mai ales atunci când sunteți la început. Când sunteți înconjurat de o comunitate de oameni cu gânduri similare, aveți un sistem automat de asistență: un grup de persoane la care puteți apela atunci când rămâneți blocați sau pierdeți motivația. (Ambele din care se poate întâmpla la cel mai bun dintre noi!,)
În-persoană grupuri există, dar poate fi greu pentru a coordona și nu sunt accesibile în orice domeniu. Dar oricine se poate alătura unei comunități online și este la fel de util.
în timp ce învățați cu Launch School, o școală online pentru ingineri de software, de exemplu, aveți acces la un forum comunitar, unde elevii de la Launch School împărtășesc sfaturi de studiu, creează grupuri de studiu, se ajută reciproc cu probleme și orice altceva v-ați aștepta de la o școală dedicată., De asemenea, veți avea acces la chatroom-ul lor Slack, unde studenții și personalul se întâlnesc pe tot parcursul zilei. Să nu mai vorbim, o serie lunară de webinare în stil meetup numită „Tech Talks.”
Zero to Mastery este similar, de asemenea – cu peste 150.000 de studenți absolvenți tas mentori și instructori înregistrați pe serverul lor de discordie, au o mulțime de oportunități de rețea și de a găsi sprijinul de care aveți nevoie în timp ce studiați,
Pasul #7: a Construi efectiv de codificare proiecte
nu doar citit tutoriale și clipuri video de ceas—puneți-vă abilitățile în utilizarea. Rezolvați problemele de-a lungul drumului, la fel ca dezvoltatorii de software de zi cu zi. Când faceți acest lucru, nu numai că vă continuați învățarea, ci arătați și potențialilor angajatori pe care îi puteți hack. (Pentru că scopul final este de a obține un loc de muncă, nu!?)
puteți construi proiecte solo, sau cu un grup.,
de exemplu, până la sfârșitul codificării Hello Mammoth Interactive: oricine poate învăța să codeze (170 de ore), veți avea o mulțime de proiecte pentru a vă arăta. Veți construi mai multe aplicații pe tot parcursul cursului. Și nu sunt doar plictisitoare „completați spațiile libere” proiecte: acestea includ o clonă de joc Flappy Bird, joc de ping pong 3D, aplicație meteo pentru iOS și o aplicație de calculator financiar pentru web.,cu Techdegree Team Treehouse, veți construi 9-12 proiecte din lumea reală, care vă oferă șansa de a practica ceea ce ați învățat, inclusiv un instrument de statistici de baschet, număr ghicitul joc, App Magazin de inventar, și mai mult. Aceste proiecte vor fi revizuite și clasificate de către profesioniștii din industrie sau studenții Treehouse pentru a vă asigura că rămâneți pe drumul cel bun.
și dacă JavaScript este geanta dvs., Zero to Mastery are 20 de proiecte pe care le puteți construi și adăuga în portofoliul dvs., Aceste proiecte sunt o modalitate excelentă de a vă îmbunătăți abilitățile, ducându – vă de la un începător la un dezvoltator încrezător-și posibilitatea de a avea proiecte finalizate pentru a adăuga la portofoliul dvs. este un bonus suplimentar.
Pasul #8: Cultiva profesionale rețeaua de tehnologie
Ca să învețe cum să cod, de a construi proiecte, etc., ar trebui să vă cultivați încet, dar sigur, rețeaua profesională., Pentru că atunci când vine vorba de găsirea unui loc de muncă excelent, este nevoie de mai mult decât să solicitați locuri de muncă online (ceea ce, în aceste zile, poate fi doar o pierdere de timp).
în schimb, doriți să construiți o rețea puternică. Pentru început, bazați-vă pe conexiunile existente. Potrivit Jobvite, 40% dintre noii angajați vin prin sesizarea angajaților, ceea ce îl face cel mai comun mod.
dincolo de atingerea rețelei de gradul întâi, puteți obține, de asemenea, Intro-uri la conexiunile de gradul doi (prietenii prietenilor)., Scopul este de a stabili întâlniri informale de cafea cu oameni conectați la companiile pentru care doriți să lucrați, care creează conexiuni și uneori conduc la interviuri reale.,
alte câteva moduri de a face noi conexiuni, fără a avea un prieten comun:
- Du-te la întâlniri
- a Menține un blog (care vă va oferi expunere)
- Voluntariat
- Vorbesc la evenimente
se implice și să contribuie la tech/inginerie software-ul comunitar, și aproape în mod inevitabil, oportunități vor veni calea ta., cel mai rapid mod de a ateriza un loc de muncă Tech este un curs care te învață strategii de rețea, inclusiv de ce ar trebui să participe la grupuri meetup și cele mai bune moduri de a te comercializa ca un techie.
o altă opțiune bună? Intrați în Tech ‘ s Land Locul de muncă Perfect cu LinkedIn masterclass. Se trece peste modul de a construi o armată de suporteri + le-a pus să lucreze pentru tine, pentru a primi o sesizare care devine un interviu garantat și informații privilegiate pârghie pentru Asul interviu + negociere.,
Pasul #9: stăpânește-ți elementele esențiale de pre-interviu
după ce ai început să construiești conexiuni cu colegii și influențatorii din domeniu, va fi timpul să te pregătești să aplici la locurile de muncă în sine. (Cu toate acestea, dacă faceți o conexiune solidă – puteți sări peste acest pas cu totul! dar înainte de a trimite cereri sau de a solicita recomandări directe, va trebui să stăpânești trei lucruri: CV-uri, scrisori de intenție și prezența Ta online.
Chiar și într-o modernizare lume, cv-uri sunt necesare., Managerii de angajare încă se uită la ei pentru a obține o imagine a abilităților și experienței tale. În mod similar, scrisori de intentie sunt necesare atunci când se aplică pentru locuri de muncă on-line; acestea sunt o oportunitate de a obține atenția cuiva și de a face o impresie.
acestea sunt elementele de bază în toate industriile. Dar dincolo de CV-uri și scrisori de intenție, există și prezența dvs. online de luat în considerare. acest lucru este incredibil de important pentru oricine din industria tehnologică și este ceva ce ar trebui să construiești și să întreții în timp., Amprenta dvs. digitală contează, deoarece este ceea ce vor vedea recrutorii și managerii de angajare atunci când vor căuta pe Google numele dvs. înainte de a vă invita la un interviu.
prezența Ta online, ca un dezvoltator de software, este alcătuită din câteva lucruri:
- profil LinkedIn
- GitHub
- site-ul Personal (sau de portofoliu site-ul)
- Blogging-ul (care poate fi un plus pentru site-ul tau personal)
Angajatorii vor verifica și aceste impresii formă, bazată pe ceea ce vor vedea. Deci, asigurați-vă că aceste impresii sunt bune!,
Pasul 10: Ace inginer software interviu de locuri de muncă
în cele din Urmă, există interviul în sine. Majoritatea companiilor încep cu un interviu de screening, de obicei făcut online, acasă. După aceea vine un interviu telefonic. Dacă treci de cei doi, vei ateriza interviul la fața locului.
În plus față de standard de „cea mai mare putere/slăbiciune etc. etc.,”întrebări, va trebui să fii pregătit pentru întrebări tehnice și comportamentale. Vi se poate cere să construiți un proiect sau să lucrați printr-o provocare de cod sau să descrieți modul în care ați gestionat situațiile dificile în trecut.o resursă utilă de consultat este cartea Cracking the Coding Interview. Un alt este să învețe să cod cu mine foarte proprii în profunzime ghid interviu tehnic.din fericire, nu trebuie să vă pregătiți singuri. De exemplu, tort Interviu are un întreg curs pe acing interviu tech, inclusiv 50+ ore de întrebări practică., Veți învăța trucuri pentru rezolvarea rapidă a problemelor pe care nu le-ați mai văzut până acum (și veți primi 30.000 de dolari+ oferte salariale mai mari). citiți recenzia mea despre tortul de interviu.
AlgoExpert este o altă platformă on-line care vă ajută să vă pregătiți pentru codificare interviuri, cu 85+ de mână-ales de întrebări (în 7 limbi diferite) și 55+ ore de explicații video.
un Alt bun interviu prep opțiune?, Octet de octet, cu practica de codificare Interviu Întrebări, consiliere interviu comportamental, și tot ce ai nevoie pentru a Asul interviu de codificare.
pasul #11: acceptați oferta de muncă și deveniți Oficial inginer software!
Congrats-ai cracare cum de a deveni un inginer de software și au o carieră interesantă înainte de tine!
după ce treci printr-o serie de interviuri și îți demonstrezi noile abilități, este doar o chestiune de timp înainte de a primi o ofertă. Și da, ar putea fi entry-level la început, dar trebuie să începi de undeva!, Asigurați-vă că consultați sfaturile noastre de negociere a salariilor 5 pentru inginerii de software. pe măsură ce vei continua să înveți și să crești ca dezvoltator, vei continua să urci pe scara carierei în poziții mai mari și mai bune.
Este Greu pentru a Deveni un Inginer de Software?
răspuns scurt: da. Nu e ușor,și pot garanta că vei fi frustrat uneori. Dar este absolut posibil. Și probabil că puteți realiza totul pe cont propriu, prin auto-predare și rețea., Mulți oameni au trecut cu succes în dezvoltarea de software în acest fel. trei invitați de pe podcast-ul învață să Codezi cu mine au povești care demonstrează acest lucru!
- Clément Mihailescu a trecut de la newbie coder la Google software engineer in doar 6 luni.
- Christina Gorton a fost o mamă acasă timp de cinci ani înainte de a deveni interesată de tehnologie. A reușit să-și îmbunătățească abilitățile și să obțină un loc de muncă ca dezvoltator junior la distanță în doar nouă luni., Josh Kemp a trecut de la fierar și potcovar la dezvoltator junior în doar peste 9 luni (827 ore de studiu total).
chestia este, pentru majoritatea oamenilor, de învățare pe cont propriu face totul mai greu, dacă e mastering abilitățile sau căutare de locuri de muncă. de aceea este logic să aveți ajutor. școala de lansare, de exemplu, face posibilă urmărirea rapidă a carierei dvs. de inginer software., Ceea ce diferențiază cu adevărat programul Launch School este că te învață să stăpânești conceptele importante ale dezvoltării de software care rămân solide și consecvente chiar și în timp ce tehnologia evoluează rapid, astfel încât îți vei construi obiceiuri de-a lungul vieții care te ajută să reușești. în cele din urmă, scopul lor nu este doar să vă ajute să găsiți un loc de muncă, ci să vă ajute să vă lansați o carieră. Absolvenții școlii de lansare au fost angajați la companii de top din industrie, inclusiv Intel, Peloton, HP și LinkedIn, precum și startup-uri în creștere rapidă.
și numerele nu mint., În ultimii 3 ani, 100% dintre absolvenții programului au acceptat oferte de muncă în termen de 180 de zile de la absolvire. În 2018, absolvenții Capstone au câștigat o medie de $122,316 în termen de 12 săptămâni.
în Afară de numere, unul dintre cele mai bune moduri de a obține o simt pentru un program este de a auzi de la cei care au făcut-o înainte. Majoritatea foștilor elevi ai școlii de lansare raportează experiențe extraordinare cu programul., Iată ce au spus câțiva dintre ei:
- „școala de lansare nu a făcut altceva decât să-mi transforme radical viața și să-mi înceapă cariera.– – Tannr
- ” nu pot recomanda lansarea școlii suficient. Sincer, nu aș fi în cariera pe care o am astăzi sau la fel de pasionată de ea ca și astăzi, fără toată munca și dedicația pe care au pus-o în proiectarea programului și îmbunătățirea continuă a acestuia.”- Steve
- „școala de lansare mi-a oferit toate instrumentele de bază de care aveam nevoie pentru a începe să construiesc aplicații software semnificative și utile., Dacă sunt grave despre a învăța cum să program și poate pune timp într-o perioadă susținută de timp, acest program este pentru tine!”- Charlie
Dacă aveți un vis de a deveni un dezvoltator de software și doresc calea cea mai directă pentru atingerea acestui obiectiv, este cu siguranta merita timp pentru a verifica afară de lansare școală.
începeți codarea acum
opriți așteptarea și începeți să învățați! Obțineți cele 10 sfaturi despre cum să vă învățați cum să codificați.cauti ceva un pic mai puțin intensivă decât lansarea școlii 8-16 + luni curriculum?,
la Pasul 2, ați ales limbajul de programare. Acum, începeți lucrurile alegând un curs care învață acea limbă. Pluralsight are cursuri care acoperă Python, Java, C#, și mai mult. echipa Treehouse are cursuri în Java, Ruby on Rails, PHP, Python și multe altele.
- Udacity are cursuri în JavaScript, Java, Kotlin, Python și multe altele.deci, aici aveți — 11 pași pentru a deveni inginer software. Tot ce trebuie să faci acum este pus în muncă! notă: există link-uri afiliate în acest post.