Poate că și tu ai auzit în ultimul timp că industria IT se numără printre cele mai sigure în fața provocărilor economice, medicale si alte tipuri. Dacă te întrebi cum să devii Front-End Developer, ce trebuie să faci în calitate de Front-End Developer și ce tehnologii trebuie să înveți pentru asta, atunci ai venit unde trebuie.
Ți-am pregătit un ghid în care îți răspundem pe larg la toate întrebările de mai sus, dar și la altele precum „Cum arată un anunț de angajare pentru un Front-End Developer”, „Cât câștigă un junior web developer” sau „Care sunt skill-urile de care ai nevoie în această meserie”.
Pe net există o mulțime de anunțuri care îți promit că te învață HTML sau Java într-o săptămână, așa că vom analiza mai în amănunt și care este abordarea pe care trebuie să o ai când vine vorba de ce fel e cursuri să urmezi: sunt bune cursurile care îți promit cunoștințe aprofundate într-un timp incredibil de scurt? Mai trebuie să urmezi o facultate ca să devii programator?
Un Front-End Developer este persoana care implementează diverse web designuri folosincd diverse limbaje de programare (vom vorbi mai mult despre acestea mai jos). La orice site te-ai uita, aproape tot ce vezi ține de partea de front end development: de la așezarea în pagină, la meniurile prin care navighezi, toate acestea au fost dezvoltate de către un Front-End Developer.
Poate ai dat peste anunțuri de joburi care căutau Ingineri de Front-End și te întrebi ce fac aceștia. Ei bine, în cele mai multe cazuri „developer” și „inginer” sunt termeni interșanjabili. Așa că dacă dai peste un anunț de Inginer de Front-End, nu te panica.
În funcție de anumite criterii, precum experiența de lucru, specializarea și soft skill-urile pe care le ai, salariul unui Front-End Developer arată în felul următor:
De menționat faptul că salariul poate varia în funcție de companie și complexitatea proiectului. Însă, în general, dezvoltatorii Front-End sunt foarte bine plătiți.
Un Front-End Developer va folosi în principal ca limbaje de bază HTML, CSS, și JavaScript. Practic, aceasta este baza de cunoștințe pe care trebuie neapărat să o ai, urmând ca apoi să înveți alte skill-uri și tool-uri în funcție de compania la care vrei să lucrezi și de ce fel de web developer vrei să devii. Vei afla în continuare că există anunțuri de joburi pentru Front-End Developeri mai orientate către partea de design sau către partea de coding. Altele anunțuri cer și cunoștințe minime de back-end, de exemplu.
Dar să începem mai întâi cu cele trei limbaje pe care un Front-End Developer trebuie neapărat să le stăpânească:
HTML (HyperText Markup Language) este limbajul care definește anumite părți ale unei pagini web sau aplicații de mobil browserelor web. Practic, HTML îi „spune” browserului care parte a paginii este Header, Footer, unde sunt așezate imagini, grafici sau videouri.
Browserele iau apoi conținutul HTML și îl traduc în ce vezi tu ca utilizator pe ecran. HTML-ul este folosit pentru toate browserele, inclusiv Safari, Firefox sau Google Chrome. De asemenea, HTML este limbajul universal pentru a face ca site-urile să fie „căutabile” de către motoarele de cătare precum Google, Yahoo sau Bing în funcție de cuvintele cheie.
Nu vei ajunge prea departe fără HTML dacă vrei să construiești site-uri structurate și optimizate din punct de vedere SEO, motiv pentru care HTML este printre primele limbaje pe care le vei învăța dacă ești interesat de programare.
CSS sau Cascading Style Sheets pune un mare accent pe cuvântul stil. În timp ce HTML-ul este folosit pentru a structura un document web (definind headline-uri și paragrafe și permițându-ți să integrezi imagini, video-uri și alte elemente media), CSS te ajută să definești aspecte care țin de stil: încadrarea în pagină, culorile și fonturile, toate acestea sunt definite cu ajutorul CSS. Gândește-te la HTML ca fiind structura unei case și la CSS ca fiind designul interior.
JavaScript îți permite să adaugi mult mai multe funcționalități site-ului pe care îl construiești, și chiar vei putea construi multe aplicații web de bază folosind doar HTML, CSS și JavaScript. Acesta din urmă este folosit pentru a crea și a controla elemente precum hărți care se updatează în timp real, filmulețe interactive și jocuri online. Site-uri precum Pinterest folosesc foarte mult JavaScript pentru a-și face interfața ușor de folosit – datorită JavaScript, site-ul nu se reîncarcă de fiecare dată când dai pin la ceva.
De asemenea, JavaScript este printre cele mai populare limbaje de programare din lume și indiferent de direcția carierei tale, îți va fi de folos să stăpânești acest limbaj.
Cauți o portiță de intrare în lumea dezvoltării front-end?
Sau vrei să-ți augmentezi skill-urile actuale prin limbaje front-end precum JavaScript, HTML și CSS? Fie că vrei să devii front-end developer sau să-ți faci un site atractiv pentru propria afacere, suntem gata să te ajutăm să-ți croiești propriul drum profesional. Programează un call gratuit cu unul dintre consultanții SDA Academy pentru a afla ce oportunități te așteaptă.
Acum că ai aflat ce implică exact rolul de Front-End Developer, ce trebuie mai exact să faci pentru a deveni unul?
Am acoperit mai multe surse pentru a veni cu răspunsuri complete și detaliate, inclusiv anunțuri de joburi, conținutul cursurilor al școlile de coding, tehnologiile folosite de către marile companii, dar și perspectivele liderilor din industria de web development.
Astfel, vei înțelege care sunt cerințele reale pentru un job de Front-End Developer.
Ne-am uitat la anunțurile de joburi ale diverselor companii care caută să angajeze un Front-End Developer. Deși fiecare anunț de job este diferit, iar skill-urile cerute sunt diverse, nu trebuie să le știi chiar pe toate. De exemplu, există anunțuri care cer cunoștințe de Back-End, precum Python sau Django.
Cerințe:
Altele cer skill-uri de UI/UX design și cunoștințe de Photoshop și Sketch. Acest lucru demonstrează că unele joburi de Front-End Developers sunt mai orientate pe coding, iar altele mai mult pe visual design, în timp ce multe altele le vor combina pe altele.
Cerințe:
Există și anunțuri care cer cunoștințe de ES6, d3, webGL sau alte cunoștințe de framework-uri de data visualization. O altă diferență în acest anunț este că acesta cere și o diplomă de licență sau master, spre deosebire de celelalte care cer doar experiență.
Cerințe:
Ultimul anunț analizat cere skill-uri de Front-End Development, inclusiv framework-uri precum SASS și MVC, cunoștințe de Git și de tool-uri precum NPM, Webpack și Grunt.
Cerințe:
Pe lângă cunoștințele specifice domeniului, vei observa că toate anunțurile includ și anumite soft skills pe care angajatorii le caută într-un potențial candidat. În principal, trebuie să dai dovadă de seriozitate și să fii un bun comunicator. În ziua de azi, jobul de developer poate fi unul destul de social. Nu mai este cazul de prejudecăți că programatorii sunt niște tocilari închiși în casă care nu vorbesc nimeni!
În ceea ce privește toate skill-urile tehnice menționate mai sus, nu este cazul să te descurajezi. Ține cont de faptul că majoritatea anunțurilor conțin un fel de wish list și că foarte puțini candidați bifează toate cerințele, și nici companiile nu se așteaptă să o faci. Însă în calitate de Front-End Developer, trebuie să acoperi un set de cunoștințe „obligatorii”, la care să mai adaugi câteva care să te facă mai valoros în ochii angajatorului, și în funcție de interesele tale. Dacă ești mai interesat de partea de design, bifează câteva la capitolul acesta. Dacă te interesează mai mult partea de programare, învață cât mai multe din această perspectivă.
Din moment ce anunțurile joburi pentru Front-End Developeri variază atât de mult, cel mai util este să te concentrezi pe ce te interesează cu adevărat. Dacă visul tău este să lucrezi la o companie anume, documentează-te cu privire la tehnologiile de Front-End folosite de către aceștia. Iată câteva exemple de tehnologii folosite de marile companii:
Imaginează-ți că ai putea să lucrezi oriunde, ce companie ai alege? Caută apoi anunțurile de joburi pentru a vedea care sunt cerințele lor pentru un Front-End Developer și învață-le. Cine știe, poate într-o zi, chiar vei ajunge să lucrezi acolo!
În ceea ce privește cerințele pentru diplomele de facultate, conform studiilor noastre, peste 52% dintre angajatori sunt de părere că diplomele de facultate nu sunt necesare pentru a deveni un bun web developer, ci mai degrabă cunoștințele acumulate și soft skill-urile, care în ultimii ani au început să fie mai valoroase datorită faptului că sunt mai mult „înnăscute” și nu prea se pot învăța.
Dezvoltatorii full-stack sunt extrem de căutați; la SDA, te pregătim pentru a răspunde acestei cereri și a-ți lansa cariera în IT. Ai feedback valoros pentru proiectul tău final, iar post-curs, simulări de interviuri, oferte de muncă săptămânale și taskuri care te poziționează strategic pe piața muncii.
Ne-am uitat la anunțurile de joburi, la tehnologiile folosite de companii, la cele predate în școli, acum haide să vedem și care sunt perspectivele experților din domeniu!
Brandon Morelli a dezvoltat această hartă mintală care subliniază cele mai importante limbaje de programare, tool-uri și framework-uri, și care arată mai clar legăturile dintre ele și ordinea în care acestea ar trebui învățate:
Harta mintală a tehnologiilor de Front-End: începi de la cunoștințele de bază: HTML, CSS și JavaScript și apoi avansezi în funcție de interesele tale și de jobul care te interesează. Nu trebuie să înveți „tot”, ci trebuie să te documentezi dinainte ca să știi în ce să te specializezi. (Sursa imaginii)
După cum vezi, acesta menționează o mulțime de tehnologii de front-end (unele dintre acestea apar și în anunțurile de mai sus). Iată ce recomandă Brandon că ar trebui să înveți pentru a deveni un Front-End Developer:
Există o mulțime de framework-uri de JavaScript, însă cele mai populare sunt Angular, React și Vue.js.
Cele mai recomandate sunt Angular sau React. Însă fii pregătit: framework-urile JavaScript sunt considerate cele mai dificile părți pe care trebuie să le înveți pentru a deveni un Front-End Developer.
Pentru a deveni Front-End Developer, trebuie să cunoști următoarele două tool-uri de CSS:
Folosirea preprocesoarelor are multe avantaje, precum faptul că îți „curăță” codul, îl menține organizat și te ajută să respecți principiul DRY (Don’t Repeat Yourself). Cele mai populare sunt Sass, Less și Stylus, însă Sass se numără printre cele mai folosite.
Acestea te vor ajuta să optimizezi workflow-ul cu ajutorul unor tabele deja construite și al altor componente CSS. Două exemple foarte folosite sunt Bootstrap și Foundation, însă Bootstrap este cel mai popular.
Un web design responsive însă abilitatea de a construi site-uri care funcționează corect pe toate dimensiunile de ecran: desktop, tabletă și mobil. Această abilitate este o funcție intrinsecă a framework-urilor Bootstrap și Foundation, așa că dacă înveți una dintre acestea, ai bifat și această abilitate.
Jest, Mocha, Jasmine și Enzyme sunt tool-uri care îi ajută pe developeri să scrie teste pentru aplicații. După ce vei învăța toate tehnologiile de mai sus, vei ajunge și la testarea aplicațiilor. E bine să cunoști și aceste tehnologii, însă vei putea obține un job și fără.
Deși par foarte multe lucruri de învățat, nu trebuie să cunoști totul în cel mai mic detaliu. În funcție de compania la care alegi să lucrezi, poți obține un job de front-end developer și specializându-te în câteva skill-uri.
În ultimii ani, „soft skill-urile” au devenit mai importante în ochii angajatorilor decât skill-urile tehnice. Spre deosebire de primele, cele din urmă pot fi deprinse mai ușor. Așa că pe lângă cele de bază, cum ar fi că trebuie să ai spirit de echipă și să fii un bun comunicator, iată care sunt „soft skill-urile” pe care ar fi bine să le ai în CV dacă vrei să ai o carieră de succes în front end development.
Indiferent de cât de multe cunoștințe ai, dacă ai o personalitate drăguță și ești o persoană cu care se poate lucra ușor, vei avea mai mult succes decât dacă ai foarte multe cunoștințe, dar ești de-a dreptul intolerabil.
Mai ales dacă ești la începutul carierei, vei avea multe de învățat de la colegii cu mai multă experiență în domeniu. Așa că reține de pe acum că nu vei termina niciodată de învățat în această meserie. Tehnologia evoluează constant, iar tu trebuie să ții pasul.
Arată că ești pasionat și motivat de ceea ce faci.
În mod inevitabil, vei greși la un moment dat. Însă trebuie să dai dovadă de atitudine și să înveți din asta pentru a nu mai repeta aceeași greșeală pe viitor.
Ce înseamnă să ai parte de o experiență grozavă pe un site? Nu vei ști acest lucru dacă nu înțelegi care vor fi utilizatorii site-ului respectiv. Pe internet, site-urile pe care le vei construi vor fi vizitate de către o varietate de oamenii, fiecare cu device-urile, browserele și așteptările lor. Unii oameni au abilități diferite: unii văd mai bine decât alții, unii poartă ochelari și alții sunt daltoniști sau suferă de discromatopsie. Ideea este că în calitate de Front-End Developer, este de datoria ta să le oferi cea mai bună experiență pe site-ul pe care îl construiești, iar pentru aceasta trebuie să dai dovadă de multă empatie.
Developerii au această reputație de a fi antisociali – de a fi niște oameni care preferă să stea la calculator toată ziua și să programeze. Însă adevărul este că această percepție este mai mult o prejudecată, deoarece un Front-End Developer bun este neapărat și un bun comunicator.
De multe ori, va trebuie să lucrezi cu designeri, cu alți developeri, cu manageri de proiect sau chiar cu clienți, așa că skill-urile de comunicare sunt un must dacă vrei să ai succes în această carieră.
Acum că ai aflat ce face, ce tehnologii trebuie să știe, ce skill-uri trebuie să aibă și cât câștigă un Front-End Developer, nu mai rămâne decât să te înscrii la SDA, cea mai bună școală din programare din România.
SDA oferă cursuri specializate pe limbaje de programare precum Python, Java și Javascript.
În afară de cursul în sine, SDA oferă un pachet generos de sprijin în carieră care include:
Descarcă tematica de curs Frontend – JavaScript
Cele două școli și-au unit forțele! Împreună, oferim:
Înscrie-te acum în programul SDAcademy x Codecool și primește coaching personalizat pentru cariera ta în IT!