Vrei să devii programator, dar nu știi de unde să începi? În Internet sunt atât de multe cursuri diferite pentru limbi diferite și tehnici, dar care sunt cele potrivite pentru tine și în ce ordine de a acționa - pentru un incepator este întotdeauna un mister nerezolvat și o constrângere majoră pe drumul spre o carieră în domeniul IT. Un dezvoltator experimentat web și profesor Bill Sowry a decis să vină la salvare și a creat un ghid pas cu pas pentru a ajuta la a determina exact modul în care doriți să devină un programator și ai nevoie să faci. Articolul conține numeroase referințe la sursele de cunoștințe utile și, cel mai important, liberă. Dar ține minte - fără limbă engleză, va fi strâns.
Timp de 20 de ani am scris cod pentru web. În fiecare zi ajută dezvoltatorii. În acest articol, vă voi spune ce merită să studiați pentru a deveni un dezvoltator web, când merită să studiați și unde puteți găsi materiale educaționale gratuite. Și voi oferi câteva sfaturi despre cum să obțineți experiența și să găsiți primul loc de muncă bine plătit.
"Începeți de la început și mergeți până ajungeți la capăt. Atunci oprește-te.
Încearcă totul puțin și selectează un singur lucru
Banii nu sunt principalul lucru. Trebuie să iubiți ceea ce faceți. Dar nu știi că-ți place ceva până nu încerci.
Acest ghid vă va prezenta diferite domenii ale dezvoltării web în cel mai scurt timp și vă va ajuta să decideți ce este potrivit pentru dvs. La început nu veți învăța nimic - doar învățați lucrurile de bază. Dar când înțelegeți ce este sufletul vostru, vă voi arăta unde să săpați.
Am decis să învăț cum să programez. Îmi place webul. Dar nu știu de unde să încep
În primul rând, trebuie să înveți rapid noțiunile de bază ale dezvoltării web (adesea numite full-stack). Acesta este un domeniu foarte larg de cunoștințe, dar nu foarte profund. Acest pas este necesar pentru a găsi sfera cea mai potrivită pentru tine și pentru a dobândi abilitățile de bază care vor fi utile indiferent de ce anume te oprești.
Aflați elementele de bază ale codului HTML
Hypertext Markup Language (HTML) - acest lucru păstrează conținutul și elementele a tot ceea ce vedeți în browser-ul dvs. web. Începând cu aceasta, veți înțelege cum funcționează interfața, aflați cum să interacționați cu codul și, de asemenea, puteți vedea cum funcționează. Când începeți să învățați limbi mai avansate, aceste cunoștințe vor deveni și mai importante. Nu vrei să te legi cu ochii.
Știu deja elementele de bază ale codului HTML
Fantastic! Acum vom conecta un mic CSS pentru centură.
Aflați CSS
CSS reprezintă foi de stil cascadă (foi de stil în cascadă). Este folosit pentru a personaliza aspectul elementelor HTML pe pagină. Puteți vedea elementele de bază ale acestei lecții gratuite de la Mozilla. și apoi folosiți periodic CSS-Tricks pentru a rezolva cele mai grele probleme CSS (utilizați funcția de căutare în colțul din dreapta sus).
Mergeți la Back End
Deci, știți majoritatea limbilor cu care rulează browserele web. Adică, ați trecut prin ceea ce se numește "capătul frontal". Timpul pentru a trece la "backend", și anume codul care se execută pe server. Nu vă faceți griji pentru a învăța sfârșitul final, nu aveți nevoie pentru a avea un server - suficient de un computer de acasă.
În plus față de NodeJS merită de asemenea să explorăm Express și Mongo DB. Express este o bibliotecă care facilitează funcționarea NodeJS ca server (aproximativ vorbind, acesta aude cererile de la paginile dvs. web și le trimite răspunsuri). Mongo DB este o bază de date. Vă permite să stocați și să preluați informații. Aflați mai multe despre Node JS, Express și Mongo DB din această lecție minunată și gratuită și continuarea acesteia.
Trebuie să aleg cine să fie: dezvoltator Front End, Back End sau Full Stack
Deci, deja știți cum să scrieți două tipuri de cod: unul pentru interacțiunea cu utilizatorii, cel de-al doilea pentru interacțiunea cu datele. Care dintre ele îți place mai mult? Dacă sunteți un dezvoltator de front-end pentru a interacționa cu utilizatorii, dacă sunteți un dezvoltator back-end cu date. Dacă ambii sunt dezvoltatori full-stack.
Nu-mi place nimeni? Felicitări, dezvoltarea web nu este pentru tine. Cât de bine ați realizat acest lucru acum, fără a avea timp să cheltuiți mai mult timp și bani. Nu vreau să renunț? Poate că nu tocmai ați găsit limba dvs. de programare. Încercați să aflați elementele de bază ale altor limbi.
Vreau să fiu un dezvoltator complet
Se răcește. Citiți apoi tot ce este scris mai jos.
Aflați HTML de bază și avansată
Pentru a face acest lucru, o serie de cărți de Kyle Simpson, pe care le puteți descărca în întregime de la GitHub, este potrivită. Gratuit.
Aflați jQuery
Vă recomandăm să începeți studiul jQuery din calea jQuery de la FreeCodeCamp. Pentru că puteți merge la site-ul oficial de formare. pe care veți găsi și alte instrucțiuni. La îndemână, este mai bine să aveți întotdeauna documentele API-ului jQuery.
Aflați cadrele populare pentru JS
Acum, pe creasta valului, se pare, React, AngularJS și Ember.
Unghiurile 1 și 2
Angular JS a fost creat în Google și a zburat imediat ce a fost publicat. Multe companii au făcut un pariu pe acest cadru, și este încă popular. Din păcate, Google a luat-o în cap pentru a rescrie complet Angular - așa a apărut Angular 2.
Angular 1 și Angular 2 sunt două biblioteci practic complet diferite. Dacă doriți să fiți numit expert pe Angular și să-l faceți un avantaj competitiv, trebuie să învățați ambele. Poate că, undeva numai unghiul 1 este de ajuns, dar în curând astfel de locuri nu vor rămâne. Cea mai mare parte a lucrării cu Angular va fi traducerea codului de la unghiular 1 la unghiular 2.
Piața are încă locul de muncă pentru persoanele cu experiență utilizând Ember JS, însă popularitatea sa începe să se estompeze treptat. Nu este susținută de Google și Facebook de "domnii întregului Internet", dar pentru asta aveți React și Angular. Și totuși, dacă ești curios, poți studia ghidul oficial al lui Ember JS.
Odată ce decideți asupra cadrului care vă place cel mai bine, este logic să studiați cadrele CSS însoțitoare. Există doi lideri aici: Bootstrap și Material Design. Bootstrap realizat pe Twitter, este suficient de matur și popular. Există versiuni de Bootstrap pentru Angular 1, Angular 2 și React. Materialul este un ghid de design lansat de Google, care acum câștigă popularitate. De asemenea, are versiuni pentru Angular și React. Deoarece Angular este creat și în Google, ele se potrivesc organic cu Material Design. Iată câteva linkuri utile:
Felicitări, acum aveți toate abilitățile necesare pentru a deveni un bun dezvoltator Front End.
Vreau să fiu un dezvoltator de back-end
Excelent. Mai întâi trebuie să decideți asupra limbii. Pe backend puteți lucra cu limbi diferite, fiecare are propriile dezavantaje și avantaje. Mai jos este un grafic al popularității limbilor și al modului în care sa schimbat în ultimul deceniu. Limbile marcate cu verde au devenit mai populare de-a lungul anilor. Are sens să se oprească la ele.
Dacă nu cunoașteți deja niciuna dintre aceste limbi, treceți prin fiecare dintre ele de sus în jos și decideți care dintre ele vă place cel mai bine.
Java este un limbaj extrem de popular care funcționează aproape peste tot. A fost dezvoltată în Sun Microsystems (deținută acum de Oracle). În Java, scrieți aplicații pentru Android, aplicații desktop și, desigur, aplicații web (ca backend standalone și pereche cu JSP). Acesta este un limbaj matur, stabil, pentru a studia care sunt tone de informații. Este, de asemenea, cel mai frecvent obiect orientat în programele universitare din întreaga lume. Iată unul dintre cursurile pentru începători. foarte bine.
Limbajul C # (sharp) a fost creat în Microsoft pentru a concura cu Java. Până de curând, nu s-au susținut toate sistemele, cu excepția, desigur, a sistemelor Microsoft, dar acest lucru sa schimbat rapid. Este orientat pe obiecte, cum ar fi Java, și poate fi folosit pentru a scrie nu numai aplicații web (ca o interfață internă separată sau în combinație cu ASP.Net), dar și pentru aplicații desktop. Dacă sunteți un utilizator Windows și doriți să programați într-un ecosistem mai familiar, C #, vă va plăcea. Un curs bun poate fi luat la Microsoft Virtual Academy.
Spre deosebire de Java și C #, Python nu a fost creat în pereții unei companii cool, dar în ciuda acestui lucru vă permite să scrieți programe bine și rapid. Pentru a studia este relativ simplu, și datorită acestui fapt de-a lungul anilor devine din ce în ce mai popular. În cazul în care alte limbi nu vă plac, Python poate deveni firul dvs. direct în IT. Cea mai bună sursă pentru învățarea elementelor de bază este aici.
(Apropo, mai devreme pe AIN.UA a apărut materialul despre ucrainean, care a devenit unul dintre dezvoltatorii de bază ai Python.)
Ruby este o pasăre ciudată. Cei care îi plac nu pot trăi fără ea. Limba este în top 10 în popularitate, dar este în scădere treptată. Este un amestec de programare funcțională și imperativă. Vă recomandăm să citiți, probabil că veți deveni unul dintre fanii săi. Pentru dezvoltatorii Ruby în următorii ani va fi o mulțime de muncă. Dar este mai bine să verificați lista companiilor din nișă pentru a vă asigura că există cel puțin două dintre cele orientate pe Ruby.
Pentru a afla mai bine despre RubyMonk.
Și ce despre PHP?
Am învățat multe, dar încă nu am o experiență reală
Fără experiență, găsirea unui loc de muncă este extrem de dificilă. Începeți cu unul sau două proiecte personale pe care le construiți de la început până la sfârșit. Procedând astfel, veți avea nevoie de capacitatea de a gestiona și publica codul. Pentru aceasta, GitHub este indispensabil.
Iată câteva idei pentru proiectele dvs.
Multe alte idei pentru proiecte pot fi găsite în tabăra codului liber. Aici sunt favoritele mele:
Experiență reală
Acum aveți nevoie de o experiență reală. Aceasta este lucrarea pe care ați făcut-o pentru altcineva. Proiectele lor sunt utile, dar nu sunt suficiente pentru a concura pe piața forței de muncă. Puteți obține o experiență reală în mai multe moduri.
1. Participați la un proiect deschis. Datorită popularității GitHub, există milioane de proiecte open source, bug-uri în care este suficient pentru toată lumea. Prezența în CV-ul tău a unei înregistrări pe care ai rezolvat problema într-un proiect popular, cu sursă deschisă, îți va aduce valoare în ochii angajatorului. Pentru a afla care sunt cele mai bune proiecte de participare, puteți accesa codul Triaj. Aici puteți alege proiectul care vă place cel mai bine, după care în fiecare zi pentru a primi mesaje despre diverse bug-uri în poștă.
2. Faceți o muncă pentru un prieten sau o rudă. Trebuie să aveți cel puțin un prieten sau o rudă care are o afacere proprie. Elaborați un site sau o aplicație pentru acesta sau îmbunătățiți cele existente. Dar asigurați-vă că atât proiectul, cât și clientul sunt potrivite pentru a evita situațiile inconfortabile în viitor. În mod ideal, acesta ar trebui să fie un proiect pe care îl puteți finaliza în 90 de zile și o persoană cu care aveți o relație de încredere. Nu trebuie să vă fie frică să spuneți sau să recunoașteți că lucrurile au mers prost așa cum era planificat, de teamă să spună "nu" sau să nu justifice nicio cerere sau așteptări. De asemenea, nu trebuie să vă faceți griji că dacă cineva din vreun motiv din voi merge înapoi, nu vă va distruge relația.
3. Lucrați într-un proiect de caritate sau nonprofit. Un mod foarte recunoscător pentru a obține o experiență reală este să faci muncă pentru o organizație caritabilă sau non-profit. Puteți oferi serviciile dvs. oricărei echipe ale cărei idei sunt apropiate de dvs. De asemenea, puteți găsi astfel de proiecte pe site-ul Catch a Fire.
4. Greu de muncă. O subtitrare mică, recunosc. Dar din experiența mea, dacă alegeți această cale, în viitor, având un loc de muncă permanent sau o persoană liberă, vă veți uita înapoi și vă veți gândi la el ca la o servitute penală, vă asigur. Astfel de site-uri ca Upwork. Fiverr și PeoplePerHour vă oferă șansa de a face o carieră, dar va trebui mai întâi să vă câștigați un rating, să lucrați pentru bani și să faceți orice proiecte doar pentru a câștiga experiență.
Am o experiență reală, cum îmi găsesc un loc de muncă?
Prima regulă este să nu vă numiți un dezvoltator web.
Ce naiba este un "dezvoltator de web" diferit de "dezvoltatorul de front-end". Ei bine, de exemplu, un salariu de 7.000 de dolari pe an. Serios, când vine timpul, numai cum te-ai numi poate afecta foarte mult rezultatul. Uite, uite:
Vreau să devin un freelancer
A fi un sef este misto, dar nu usor. Cea mai bună sursă de informații pentru freelancer este site-ul Brennan Dunn DoubleYourFreelancing.com. A scris o serie de articole care te vor ajuta să faci o carieră de liber profesionist mai bine decât orice ai citit odată. Deci, verificați-l.
Și dacă credeți că sunteți deja foarte cool, vă alăturați lui Toptal. Doar 3% dintre solicitanți sunt acceptați, procesul de trecere este foarte complicat, dar dacă devii parte a comunității, veți avea acces la un număr foarte mare de oportunități de plată.
Nu este ușor să devii programator și toți cei care au spus că este ușor, fie că nu au încercat niciodată, fie că vor să obțină bani din tine. Dacă simțiți că sunteți blocați, iată ce puteți face.
- Regândiți obiectivul inițial. Întreabă-te și notează-te. de ce ați început pe această cale. Răspunsul dvs. este încă în vigoare? Dacă da, nu te opri.
- Fii persistent. Acum că știți ce aveți nevoie și ce este real, înțelegeți mai bine care este cel mai bun scenariu, cel mai rău scenariu și scenariul cel mai probabil al modului în care se va întâmpla totul. Scrieți-le, recitiți și realizați că este posibil să se întâmple "scenariul cel mai probabil" și este mai aproape de un "scenariu mai bun" decât de "cel mai rău".
Nu-ți fie frică. Mergeți înainte. Veți reuși.