Arhive etichetă: full stack developer

Incearca cat mai multe tehnologii la inceput

Vrei sa afli informatii despre cum sa iti alegi drumul in programare web? Sau motivele pentru care e necesar sa inveti mai multe tehnologii?

Domeniul programarii web e unul complex si vast, iar curicula din facultate, in majoritatea cazurilor, nu cuprinde toate ariile si toate tehnologiile, pentru ca tu sa ai toate informatiile pentru deciziile care urmeaza.

Fiind si unul dintre domeniile in care au loc cele mai multe schimbari, poate fi putin dificil la inceput sa tii pasul. Pentru a putea fi mereu in cunostinta, in ceea ce priveste cariera de programator, solutia este sa inveti mereu si cat de mult poti din mai multe domenii.

Te incurajez in acest pas, deoarece doar cunoscand anumite tehnologii si arii vei putea decide care anume ti se potriveste. In acest fel vei putea lua o decizie buna pentru tine, pentru ca aceasta decizie nu o poate face nimeni inafara de tine.

Invata CMS: WordPress, Drupal

Daca iti place sa lucrezi, le intelegi, iti este usor sa lucrezi in CMS-uri ca si WordPress sau Drupal acesta iti poate fi drumul.

Ca si programator WordPress vei putea sa creezi site-uri web care arata si functioneaza bine, sau vei putea participa in dezvoltarea CMS-ului. Pentru dezvoltarea WordPress-ului va insemna ca vei construi plugin-uri pentru o functionare mai buna.

Pe acelasi concept functioneza si Drupal, fiind o platforma open-source si un sistem de content management (CMS) pentru creare si dezvoltare site-uri web.

Invata Frameworks: Laravel, Symfony, Codelgniter

Framwork-urile sunt necesare si indicate pentru site-uri web si aplicatii care au sesiuni, form-uri, cookie-uri, baze de date, sau servicii remote (cum sunt Facebook si Twitter).

Indiferent de framework-ul pe care decizi sa il folosesti, rolul acestuia fiind de managementul form-urilor, abstractizarea bazei de date, autentificarea, abstractizarea cache-ului, internationalizare si depanare usoara.

Mai mult, printre avantajele unui framework se numara: securitatea, portabilitatea, standard de codare, plugin-uri si module, documentatie, precum si timp de dezvoltare mai scurt.

Ca si programator web vei avea propriile preferinte in ceea ce priveste selectarea unui anumit framework, dar si in functie de necesitatile site-ului web sau aplicatiei.

Invata Baze de date: MySQL, MSSQL, PostgreSQL, MontgoDB

Invata si descopera ce inseamna sa lucrezi cu proiectarea si administrarea bazelor de date. Acestea au rolul de a stoca informatii cu privire la contabilitate, pontaje, gestiune, salarizare, ofertare, precum multe alte domenii.

O astfel de arie, precum bazele de date, se muleaza foarte bine cu programatorii web carora le place ordinea si lucrurile sa fie la indemana, logice.

Invata Front-End frameworks: Angular, React, NodeJS

Daca descoperi ca iti place partea de programare front-end, pentru aceasta e nevoie sa cunosti framework-uri care sunt tocmai pentru aceasta parte precum: React, Angular, NodeJS.

De asemenea, poti sa le inveti si sa incerci sa lucrezi cu ele, pentru a vedea daca intr-adevar te descurci si daca iti doresti sa faci asa ceva.

Full stack developer

Cu siguranta orice cale alegi, inceputul va fi mai greu, pana te adaptezi si pana ajungi sa cunosti domeniul foarte bine. Totusi, s-ar putea sa intampini tipul de situatie in care ti-ar place sa stii din toate, si pe cat posibil sa lucrezi zi de zi cu cat mai multe tehnologii.

In acest caz, poti sa alegi sa devii un full stack developer, nu e nevoie sa te specializezi pe o singura arie. Aceasta alegere iti poate aduce si mai multe oportunitati de job-uri, intrucat candidatii valorosi sunt cei care detin mai multe informatii, dar mai important de atat, stiu cum sa puna acele cunostinte in aplicare.

Indiferent de alegerea ta, cel mai important e sa constientizezi ce presupune munca pe care o vei desfasura si sa iti asumi aceasta alegere. Asumarea nu consta doar in zilnica ta aparitie la locul de munca, dar si in dorinta si incercarea de auto-depasire.

Daca iti doresti sa inveti programare web de la zero, sau vrei sa acumulezi cunostinte in tehnologii pe care nu le cunosti, alaturat gasesti datele mele de contact!

Programator specializat pe o arie VS. Full stack developer. Ce aleg?

Esti la inceput de drum si nu stii care e drumul potrivit pentru tine in domeniul programarii? Te confrunti cu alegerea intre a fi un programator specializat pe o arie sau a fi full stack developer?

Absolvirea facultatii de IT sau terminarea anumitor cursuri de programator nu vor face mereu lumina in privinta caii exacte de cariera. Acest proces de alegere depinde in primul rand de tine, de ce fel de persoana esti: cineva mai pragmatic sau cineva mai idealist.

Daca esti cineva mai pragmatic, o persoana care alege calea practica si logica, e posibil sa te axezi pe ceva ce e la mare cautarea pe piata IT. La pol opus, persoana care e mai idealista e posibil sa isi fi facut o idee despre drumul care vrea sa il urmeze si nu doreste sa se abata, dupa modul in care e piata.

Si totusi, ce alegi?

Programator specializat pe o arie

IT-istul care doreste sa fie programator specializat pe o arie are de ales intre 3 branse:

Aceasta alegere o poti face in functie de ceea ce iti place mai mult, de nevoile tale, de tehnologiile care iti mai cunoscute si mai usor de lucrat in ele, sau in functie de factorii externi.

Cand spun factori externi, ma refer la piata IT, care la momentul respectiv, in functie de orasul in care stai, s-ar putea sa aibe mai multe posturi disponibile pe o anumita arie. Iar astfel iti vei creste sansele de angajare.

Aceasta specializare ar insemna sa cunosti 2-3 tehnologii foarte bine, iar pe langa 2-3 framework-uri si CMS-uri.

Full stack developer

Un full stack developer e programatorul care pe langa ca are cunostinte foarte bune tehnice in programare, administrare baze de date, dar care are si abilitati bune de comunicare.

Pentru a deveni full stack developer, procesul se poate sa dureze mai mult, deoarece ai multe de invatat si exersat, intrucat  e necesar sa ai cunostinte avansate in tot ceea ce inseamna domeniul programarii.

Good to know! Orice alegere are si avantaje si dezavantaje, iar succesul nu il garanteaza nimeni. Insa, fiind specializat pe o anumita arie, e posibil sa iti fie mai usor sa inveti si sa avansezi. Mai mult, invatarea continua e cheia succesului in ambele cazuri.

Daca te intereseaza sa inveti mai multe tehnologii pentru full stack developer, sau o anumita arie, iti stau la dispozitie cu datele de contact!

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!