Eu am o parere putin diferita. Nu cred ca este nevoie sa devii fullstack pentru a trece la “nivelul urmator”.
Eu pot spune ca sunt fullstack. Am inceput cu .NET (C#) acum 15 ani, iar de vreo 5-6 ani lucrez mai mult pe partea de frontend (AngularJS, Angular, Typescript).
Problema mea (poate altii invata mai repede) este ca nu pot tine pasul cu ambele. Prin 2013 am avut o perioada de vreo 2-3 ani in care am facut doar frontend (AngularJS), practic atunci am invatat Javascript.
Dupa aceea am schimbat pe un rol de fullstack si a trebuit sa “catch-up” cu ce s-a schimbat in .NET. Poate nu chiar atat de multe, dar mie mi-a placut mereu sa adopt tehnologii si arhitecturi noi.
Daca inainte de 2013 lucram in .NET cu arhitecturi 3-tier (sau n-tier), data-centric, in 2015 toata lumea vorbea despre Domain Driven Design, microservicii, etc., ceea ce e cu totul altceva.
Referitor la experienta mea pe frontend (cu Angular), pot spune ca m-a ajutat enorm faptul ca stiam OOP destul de bine, plus ceva arhitectura.
Poate sunt cam dur, dar personal nu am intalnit multi (ii numar pe degetele de la o mana) programatori pur de frontend care sa stie si ceva arhitectura, si care sa stie sa proiecteze o aplicatie de frontend bine organizata si scalabila.
Astfel, cred ca programatorii de frontend au foarte mult loc de crescut in directia asta - a arhitecturii aplicatiilor frontend. Trebuie doar sa-si deschida putin ochii. Aplicatiile web din ziua de azi pot fi extrem de complexe.
In momentul de fata pregatesc o prezentare pentru echipa mea despre “Clean Architecture in Angular” - adaptarea unor tehnici de Domain Driven Design pe frontend.
De ce? Pentru ca desi am programatori frontend mai buni decat mine in echipa, nu sunt prea organizati (in cod), iar dupa 6 luni de dezvoltare a unui monorepo (2 aplicatii momentan + librarii) de catre o echipa de 5-6 web developeri, mi se pare ca tindem spre o arhitectura “monolith” si “spaghetti code” - da, se poate si in Typescript.
Asa ca sfatul meu pentru orice frontend developer este sa aprofundeze framework-ul (sau framework-urile) cu care lucreaza, sa invete arhitectura Redux/Flux, reactive programming si alte lucruri smechere care se folosesc acum.
Web developmentul s-a dezvoltat foare mult in ultimul timp, iar web developerii vor avea de munca multi ani de acum incolo. La fel si foarte multe lucruri de invatat.