Articol publicat inițial ca guest-post aici. “Oamenii din spatele codului” este un proiect wall-street.ro în colaborare cu start-up.ro și sponsonsorizat de ING Bank.

Unul din motivele principale pentru care un programator vrea să-și schimbe locul de muncă este
pentru a învața tehnologii noi. De multe ori, programatorul e nemulțumit de tehnologia ce se
folosește în cadrul companiei pentru care lucrează și vine cu propunerea: ​Am citit despre un
limbaj/tehnologie/framework nou care s-ar potrivi foarte bine cu ce avem noi de făcut.
Este refuzat, dezvoltă o frustrare și în cele din urmă pleacă din companie către alta ce folosește
tehnologia despre care a citit. Există multe motive pentru care programatorul are dreptate. El
vrea să evolueze, să învețe lucruri noi, să-și dezvolte stack-ul tehnic. Dar există și multe motive
pentru care compania refuză să adopte noua tehnologie:

  • Creează probleme de personal ​Chiar dacă proiectul realizat în noua tehnologie iese
    foarte bine, el nu se termină acolo. Proiectul, timp de mai mulți ani, va avea nevoie de
    mentenanță și adăugare de funcționalități noi. Dar oamenii se vor schimba, și tehnologiile
    la fel. Cât de ușor va fi companiei să angajeze oameni noi pe acea tehnologie? Câți
    oameni pricepuți vor mai exista pe piață? Cât vor costă ei? întrebați-i pe cei ce au făcut
    proiecte în Ruby, cât de greu le este să găsească oameni.

  • Creează probleme de infrastructură ​Fiecare tehnologie nouă vine cu cerințele ei de
    infrastructură. Compania are deja o infrastructură bine pusă la punct, iar orice modificare
    presupune costuri destul de mari. Ok, ai cloud-ul (AWS, Azure) care rezolvă multe din
    probleme, dar tot sunt necesari oameni specializați pe ambele tehnologii.

  • Cresc costurile de întreținere ale echipelor ​O companie aeriană e eficientă dacă are
    un singur tip de avion (se aude, Tarom???). Pentru că echipa ce face întreținerea
    avioanelor se pricepe la un singur tip de avion. Dacă compania are două tipuri de
    avioane, costurile se dublează. La fel e și într-o companie de IT. Ai o echipă de Java și
    una de Node.js? Trebuie să faci două training-uri, ai nevoie de două echipe de suport
    tehnic, de două persoane care să țină interviurile tehnice.

  • Lipsă documentatie și potențiale bug-uri ​Pentru limbajele stabile există documentație,
    StackOverflow, tutoriale, forumuri, etc. Pentru cele de nișă sau foarte noi, din cauza
    numărului mic de oameni ce le folosesc, nu există mare lucru. De multe ori va fi nevoie
    să se apeleze chiar la cei ce au creat noua tehnologie, pentru a beneficia de suport.

  • Lipsă de module deja create ​În tehnologiile stabile, cam tot ce vrei să faci, există deja.
    La fel ca un puzzle, pentru a dezvolta proiectul, trebuie doar să te folosești de ce a fost
    făcut deja. În tehnologiile noi – nu e cazul. Pe măsură ce lucrezi într-o tehnologie nouă, o
    să-ți dai seama că lucruri care erau “taken for granted” în alte tehnologii, cum ar fi un
    validator de email, aici nu există și vor trebui făcute de la zero. Asta duce la timp pierdut
    și riscuri.

  • Lipsă de experiență ​Când se dezvoltă un proiect nou, într-o tehnologie stabilă, cu o
    echipă ce a mai lucrat în acel mod, riscurile sunt scăzute. Se cunosc puncte forte,
    punctele slabe, iar riscul poate fi bine estimat. Utilizând o tehnologie foarte nouă, riscul
    crește exponențial.

  • Rezistență la schimbare ​În companii, oamenii au diverse dorințe. Pe lângă cei ce
    doresc să învețe tehnologii de ultimă oră, sunt și “dinozaurii”, oameni care cunosc
    extrem de bine o tehnologie și se împotrivesc la orice semn de schimbare. Pentru că de
    cele mai multe ori acești oameni sunt cei ce stau la baza echipelor de care depind
    proiectele importante, compania va avea mari dificultăți în impunerea unei noi tehnologii,
    așa că preferă să aștepte.

Acestea sunt cele mai importante motive pentru care o companie ezită în a folosi ultimele
tehnologii și preferă să aștepte o stabilizare a acestora.

Dacă esti programator și vrei să utilizezi tehnologii noi, fă-o acasă, pe proiecte personale.
Capătă experiență, înțelege tot ce îți poate oferi tehnologia respectivă și vezi ce poți crea cu ea.
Apoi propune-o la job, pe proiecte mici, interne sau proiecte cu risc mic. Dovedește companiei
că folosind această tehnologie va avea beneficii mai mari decât riscurile.

Tehnologie nouă VS Tehnologie clasică

Leave a Reply

Your email address will not be published. Required fields are marked *