Ce inseamna Full Stack Developer?

Iti este familiar termenul full stack developer? Te intereseaza sa afli ce inseamna sa fii un full stack developer si care ii sunt atributiile?

Datorita evolutiei companiile au nevoie de personal complex, insemnand ca sunt doriti candidatii care au cat mai multe cunostinte si abilitati. Acest lucru poate fi observat si in programarea web, unde prioritari sunt cei care stiu cat mai multe tehnologii, pe mai multe platforme.

Un astfel de angajat nu e necesar sa fie expert in toate tehnologiile, dar macar sa cunoasca baza si sa se simta comfortabil in a lucra cu ele. Mai mult decat atat, cineva care pe langa cunostintele tehnice are si abilitati bune de comunicare.

Evolutia semnificatiei full stack developer

La inceputul anilor 2000, semnificatia cuvantului full stack developer avea o nuanta putin diferita, insemnand ca acea persoana avea cunostinte de baza in HTML si CSS si putin PHP.

Cine folosea version control pentru codul sursa erau considerati adevarati maistri. In schimb in ziua de azi cine nu cunoaste aceasta terminologie sau nu o foloseste, este considerat prea putin calificat pentru meseria de programator web.

Ce face un full stack developer azi?

In ziua de azi un full stack developer e persoana care poate sa lucreze cu servere, baze de date, ingineria sistemelor, precum si capacitatea de a intelege nevoile clientului pentru a le indeplini.

Asadar, iti voi prezenta pe categorii ce cunostinte sunt necesare pentru un full stack developer:

Pentru programare web development:

  • Virtualizare: Vagrant, VirtualBox, Docker;
  • Version control: Mercurial, Git, SVN.

Asa cum precizam la inceputul articolului ca e de neconceput sa nu folosesti controlul versiunii, chiar daca lucrezi ca si liber profesionist (freelancer).

Pentru Vagrant ca si unelta de virtualizare ai nevoie de cunostinte de baza shell scripts si sintaxa Ruby.

Pentru administrarea sistemelor:

  • Cautare: Solr, Elasticsearch, Sphinx;
  • Monitorizare: Nagios;
  • Caching: Memcached, Varnish, APC/ OpCache;
  • Procesare background: Redis, Gearman;
  • Baze in shell scripting si Linux;
  • Cloud computing: Rackspace, Amazon, etc.

Pentru programare Back-End:

  • Limbaje de programare: Ruby, PHP, NodeJS;
  • Baze de date: MongoDB, MySQL, Redis, SQL/ JSON, Cassandra;
  • Servere web: Nginx, Apache.

Cand vine vorba de PHP, cunostintele de baza sau middle nu sunt de ajuns pentru a lucra cu acest limbaj de programare, ci e nevoie de a le stapani la un nivel ridicat. In ceea ce priveste NodeJS si Ruby informatiile si cunostintele pe care le ai, sunt binevenite.

Un alt aspect pe care un full stack developer ar trebui sa il stie este diferenta dintre bazele de date, care sunt non-relationale (Redis, MongoDB, Cassandra) si care sunt relationale ( PostgreSQL, MySQL), iar pe langa acestea sintaxele JSON si XML.

Pentru programare Front-End:

  • Web-ul semantic: HTML/ HTML5;
  • JavaScript: jQuery, Knockout, AngularJS;
  • CSS/ CSS3: SASS, LESS, Media Queries;
  • AJAX, WebSocket, JSON, XML;
  • Compatibilitate pentru browswere;
  • Design responsive.

Desi la inceput nu se prea folosea, acum JavaScript este unul dintre cele mai puternice si populare limbaje de programare. Iar pe zi ce trece, noi framework-uri apar, domeniul fiind incontinuu in crestere.

Un full stack developer trebuie sa stie sa lucreze cu toate aceste tehnologii pentru a-si putea prezenta site-ul web ca ceva care nu doar ca arata bine, dar si functionaza la fel de bine.

Pentru design:

  • UI (User Interface – Interfata grafica);
  • UX (User Experience – Experienta Utilizatorului);
  • Convertirea design-ului unui site in cod front-end.

Mai mult, un full stack developer ar fi bine sa cunoasca si sa inteleaga ce poate si ce nu poate sa creeze, in functie de limitarile pe care HTML/ CSS/ JavaScript le poate avea si sa stie cum sa converteasca design-ul (Illustrator/ Photoshop).

Tehnologiile mobile:

  • Android;
  • iOS
  • Hybrid: Appceleratr, PhoneGap.

Persoana care e full stack developer e necesar sa aibe cunostinte si despre aceste tehnologii, avand in vedere ca sunt in stransa legatura cu programarea.

In concluzie, pentru un full stack developer sunt necesare cunostinte asupra mai multor tehnologii, deoarece toate sunt conectate intre ele.

Daca te intereseaza sa inveti programare web de la zero, sau doresti sa aprofundezi cunostintele in anumite tehnologii, iti stau la dispozitie cu datele de contact!

Anunțuri

Lasă un răspuns

Completează mai jos detaliile tale sau dă clic pe un icon pentru a te autentifica:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare / Schimbă )

Poză Twitter

Comentezi folosind contul tău Twitter. Dezautentificare / Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare / Schimbă )

Fotografie Google+

Comentezi folosind contul tău Google+. Dezautentificare / Schimbă )

Conectare la %s