Despre tehnologii in viata unui developer

CiocanVad cum unii se entuziasmeaza cand aud de cele mai noi tehnologii, de nume la moda precum Ruby, Rails, Ruby on Rails… Poate nu e cazul cu Alex, dar imi aduce aminte de alti cunoscuti care imi povesteau foarte mandri cum au lucrat cu JXTA, Struts sau mai stiu eu ce acronime pline de mister. Pentru ei era o mandrie ca au utilizat o unealta, nu ce anume au realizat cu ea.

Multi dezvoltatori uita ca tehnologiile sunt la urma urmei doar un mijloc si nu un scop. Am dezvoltat ani de zile site-uri folosind php si cred ca niciodata nu am stiut mai mult decat am invatat in primele trei zile de contact cu limbajul.

Solutiile tehnice sunt si ele importante dar atitudinea cu care le privim este mult mai importanta. Un dezvoltator nu este bun pentru ca stie sa foloseasca multe unelte. Un dezvoltator este bun pentru ca este destept, ii merge mintea, stie sa gandeasca si stie sa analizeze solutiile pe care le gaseste. Un dezvoltator este bun pentru ca a avut idei de succes, pentru ca a facut lucruri pe care nu le-a mai facut nimeni.

30 Responses to “Despre tehnologii in viata unui developer”

  1. Alex says:

    :)) – te gasisi repede sa ma iei in vizor, cand bag si eu un post din an in pasti despre ce tehnologii ma mai intereseaza.
    Fiecare programator are(si) interese legate de programare, de invatarea unui nou limbaj sau tehnologii, si daca pe blog nu si le exprima atunci unde?(Trebuie sa recunosti ca Javascript scris in Ruby arata mult mai digerabil.)

    Doar nu o sa ma simt vinovat cand zic: “chestia asta pare cool, mi-ar placea sa o invat sa vad ce poate”.

    Nu ar fi primul flame lansat din categoria : orice platforma/limbaj e doar o scula, adevaratii programatori folosesc Notepad si nu au nevoie de tips&tricks Emacs, adevaratii programatori se descurca cu assembler si vor invata la nevoie Python, PHP si programare functionala in 3 zile, adevaratii programatori nu folosesc Pascal, nu stiu ce e ala UML(nu au nevoie) sau comentarii (aici exagerez).

    Nu o sa fiu rau sa pun un link la https://www.vivi.ro/blog/?cat=3 ca sa iti spun “cine zice ala este”, sau mai bine zis: posturi de genul acestuia al tau ar trebui sa ma faca sa ma simt vinovat pentru ca imi exprim entuziasmul?

    Sorry daca sunt un pic acid, poate ca nu am inteles bine mesajul tau, oricum sfatul meu pentru programatori este acelasi cu cel din http://www.pragmaticprogrammer.com/ppbook/extracts/contents.html capitolul “The Knowledge Portofolio”: invatati, invatati, invatati! Fiti mereu in tema cu ultimele tehnologii. Fiti experti in cat mai multe!

  2. Vladimir says:

    Corect. Pacat insa ca a ajuns o mandrie numrul de limbaje stiute. Am primit niste CVuri in care oamenii insirau o pagina de limbaje si tehnologii stiute la perfectie. Ya right. Si la portofoliu aveau 2 siteuri facute in Frontpage.

  3. Adi says:

    Ai grija Vivi, te dai de gol ca ai scris in PHP, poate nu te mai ia lumea de programator serios 😉

  4. Vivi says:

    🙂 Nu Alex, nu te luam in vizor atat de tare. Nu cred in extreme si nu programez in Notepad. Este ok sa iti doresti sa vezi cu ce se mananca o anume tehnologie, mi se pare ok sa folosesti lucruri care iti cresc productivitatea.

    Mesajul tau insa mi-a adus aminte de altcineva care, in loc sa spuna “uite ce chestie misto am facut eu” punea in prim plan tehnologia si spunea “uite ce tehnologii am facut eu nu stiu unde”.

    Si ce incerc eu sa spun este ca ideea, produsul final, conceptul, structura, calitatea rezultatului sunt mult mai importante decat felul in care le implementezi si din cauza asta, a strange limbaje si tehnologii la activ nu mi se pare la fel de valoros.

  5. Vivi says:

    Adi: lumea nu ma ia in serios ca programator de cand programez Flash. :-))

  6. Daniel says:

    Nu am idee cate aplicatii ai pe raboj, insa dupa nici 3 zile de contact cu Ruby iti pot spune ca productivitatea lui m-a lasat paf. Pentru mine nu este chestie de mandrie, ma doare in spate daca e Ruby, Php, .net sau altceva. Important e sa se dezvolte cat mai repede, mai usor, mai robust, si sa mearga tzutz in productie. Faza cu “mandria” e valabila doar la debutanti si la complexati si e direct proportionala cu gradul de incompetenta.

    In concluzie, da, tehnologia este foarte importanta, si o alegere proasta poate duce la rezultate catastrofale. Si apoi, alegerea tehnologiei nu este jobul dezvoltatorului ci al arhitectului. Nu poti compara mere cu pere.

  7. Trai says:

    Eu cred ca Vivi are dreptate… pentru majoritatea site-urilor si aplicatiilor intranet din Romania, se poate alege orice tehnologie fara a suferi mari pierderi de timp. Daca stii cum sa-ti organizezi codul, poti sa dezvolti foarte bine si foarte repede in php, ca si in orice alt limbaj.

    Doar cand ai ocazia sa dezvolti portaluri foarte mari sau aplicatii stufoase, tehnologia folosita incepe sa-si spuna cuvantul. In aceste cazuri o alegere potrivita te poate duce mult mai rapid la reusita. Insa, de multe ori, alegerea tehnologiei trebuie facuta si in functie de ceea ce stie echipa cu/in care lucrezi.

    Si nu sunt de acord ca poti sa inveti orice limbaj in 2-3 zile… Depinde, de ceea ce intelege fiecare om prin a invata un limbaj. Daca asta inseamna sa scrii cod care compileaza – fara restrictii de timp, atunci e ok. Dar sa nu-mi spuna mie cineva, ca el stie java dupa 2-3 zile de invatat – atunci e doar un newbee care are nevoie de indrumare.

  8. arix says:

    N-am inteles de unde si pana unde daca programezi in php nu esti programator serios. Ma rog este adevarat ca sunt unii cam masochisti care pentru a scrie un program de genul celebrului “Hello World” simt nevoia sa scrie un servlet. Parerea mea este ca o tehnologie pentru a se impune trebuie sa fie simpla, usor digerabila si productiva. Din punctul asta de vedere php pot spune ca este campion (apropo intr-un timp SUN vroia sa cumpere Zend tocmai pentru ca impreuna cu java sa ia piuitul MS cu .net lor). Daca este vorba de preferinte mie de exemplu imi place ColdFusion.

  9. Adi says:

    Arix: exista o parere in lumea dezvoltatorilor “seriosi” cum ca PHP e o gluma. Multi ingineri software care toata viata au programat in Java, C, .NET s.a.m.d. stramba din nas serios daca le zici ca tu codezi in PHP.
    Vivi a inteles apropos-ul, dovada ca s-a lovit de aceleasi prejudecati cand a plusat pe Flash.

    Si eu mi-am facut majoritatea aplicatiilor in PHP, insa trebuie sa recunosc ca e un limbaj care sufera de aceleasi probleme ca si JavaScript: e prea usor de invatat, iar aceasta activitate se bazeaza in general pe exemple si pe copy-paste de scripturi din alte site-uri. In felul asta doua limbaje foarte misto (incep sa apreciez JS din ce in ce mai mult) ajung sa fie denigrate din cauza abundentei de cod de proasta calitate.

  10. Vivi says:

    Uf, cred ca Alex avea dreptate si asta are potential de flame in care oamenii se vor certa pana in panzele albe. 🙂

    Mesajul pe care incercam eu sa il transmit era destul de simplu: nu va concentrati pe tehnologii si limbaje, ci pe idei si proiecte.

    Daniel, poti da un exemplu in care alegerea proasta a tehnologiei duce la rezultate catastrofale? Ma refer la diferente de limbaj, php vs. jsp, c++ vs. java, ruby vs. whatever. Eu nu reusesc sa imi imaginez unul.

  11. Adi says:

    Apropo de CV-uri incarcate, am observat ca numarul de limbaje si buzzword-uri e invers proportional cu experienta si cunostiintele programatorului. In newbie scrie tot pe idee ca tot pusca ceva ce ii place angajatorului plus o sa fie impresionat de ce “destept” e. Un senior scrie C++ 5 ani si e destul ;).

    Iar cu PHP-ul si eu il consideram intr-o vreme de speta joasa comparativ cu C++ :D, pana am inceput sa mai scriu ceva in el.

    Problema cu limbajele astea “usoare” cred ca e aceea ca sunt prea multi “programatori” tursti de tip copy/paste.

    Iar un cod C/C++ si ceva API sperie si tine deoparte profanii 😀 (well, cel putin ar face bine!)

  12. ovidiu says:

    As mai adauga ceva la lista ta, Vivi. Un dezvoltator/programator este bun daca se adapteaza repede la orice tehnologie.

  13. Vladimir says:

    E o prostie faza cu PHP. Toti scriu PHP in portofoliu desi foarte putin chiar stiu cu adevarat limbajul. E “a pain in the ass” sa gasesti programatori buni in PHP desi toata lumea stie. Despre Flash ce sa mai zic. Toti stiu Flash dar cunostintele se refera la niste butane badaranoase si introuri de 2 bani.

    Numai eu stiu ce batai de cap am avut cu oameni care m-au incurcat tocmai pt ca “stiau” PHP. Pana la urma e importanta programarea si nu limbajul. Adica am ajuns sa prefer un om care nu stie PHP, dar a programat in Java 5 ani de zile si stie ce inseamna programare pe obiecte, unui “programator” in PHP care nu stie ce e ala MVC sau ce este mostenirea.

    Resursele umane sunt o problema.

  14. Cristian says:

    bq. Resursele umane sunt o problema. (Vladimir)

    Sunt mai degraba o oportunitate, atat timp cat esti dispus sa platesti pretul corect.

  15. Adi says:

    @Vladimir: ai dreptate, si eu am dat anunturi cautand oameni care stiu Java cand de fapt aveam nevoie de programatori .NET. Se pare ca Java e unul dintre limbajele cele mai “civilizate”, care te obliga sa gandesti in OOP si sa scrii codul intr-un anumit fel. Un pic cam rigid, dar macar nu exista 10 moduri in care sa exprimi acelasi lucru.

    La fel si la coding style… din cate am vazut in Java toata lumea scrie aproape la fel, de la sine (ma refer la conventii de denumire a variabilelor, claselor, getters, setters, etc).

    @Vivi: nu cred ca va degenera intr-un flame, pentru ca nimeni nu a zis inca “mie imi place cel mai mult limbajul X”. mai degraba observ o nemultumire generala vis-a-vis de lipsa de experienta si maturitate in gandire (ca programator) a majoritatii celor de pe piata, indiferent de varsta. Mi-e groaza de ce am gasit la firma la care m-am angajat acum auditand niste site-uri. Si n-are nici o legatura cu faptul ca sunt scrise cu ASP.NET… HTML-ul rezultat e cum sa zic… naspa 🙂

    Imagineaza-ti programatori la 30 de ani fara nici o tangenta cu web-ul. am gasit cazuri in care pentru deschiderea unui link in fereastra noua se folosea onclick=”window.open(link);” in loc de target=”_blank” 🙂 nici nu stiu de unde sa incep cu recomandarile… butoane raspandite prin site, in loc de linkuri (inclusiv meniul principal).

  16. Adi says:

    @Vivi: ar mai fi ceva (si promit ca ma opresc :)). din cate am inteles de la toti avocatii RoR, dezvoltarea acelei platforme a fost posibila doar datorita naturii dinamice a limbajului Ruby, lucrand puternic de tot la runtime pentru decorarea claselor cu metode, in functie de modelul definit. Mesajul general e ca in PHP pur si simplu nu s-ar putea face asa ceva. Rails a fost inceput pe PHP si apoi abandondat si trecut pe Ruby. Deci iata un exemplu unde PHP a esuat in a fi “the right tool”.

  17. Bine scris. Tocmai ce fac copy/paste intr-un email catre CTO-ul nostru 😛
    Programatorii mei inca sunt in faza in care orice discutie sau telefon cu “exteriorul” este un sacrilegiu adus arte programarii.

  18. sandra says:

    Cristian quoted: “bq. Resursele umane sunt o problema. (Vladimir)
    Sunt mai degraba o oportunitate, atat timp cat esti dispus sa platesti pretul corect. ”

    Ma scuzati ca ma bag nitel off topic, dar Vladimir a facut o remarca foarte corecta. Cristian, resursele umane chiar sunt o problema. Am cautat programator 3 luni de zile, iar aia care programeaza pe bani rezonabili (nu putini) nu stiu aproape nimic, dar cer mai mult pentru ca scrie PHP in cv.
    Nu mai vorbesc despre cei care chiar stiu.. si care cer niste salarii de te doare mintea.

  19. arix says:

    Referitor la posturile anterioare, PHP5 a aparut de aproape 2 ani iar oop-ul lui este rescris practic complet, fiind inspirat din java ( pentru mine modelul OOP implementat de java este cel mai clar cu putinta).In tot acest timp nu am vazut o singura aplicatie bazata pe acest model, chestia cu compatibilitatea php4 nu tine, pentru ca nu cred ca te apuci de servleturi doar pentru ca ti-e lene sa-ti faci upgrade la server.
    Nu inteleg ce e rau in chestia cu copy paste pana la urma, tocmai in asta consta productivitatea php-ului sau ma rog poate sunt unii pe aici care le place sa rescrie codul de login de fiecare data.
    Calitatea codului nu are nici-o legatura cu limbajul in sine ci cu programatorii. Aici PHP-ul este campion tocmai datorita raspandirii lui, eu am vazut cod prost in toate limbajele. De exemplu cele mai naspa site-uri care le-am vazut sunt in jsp, sunt incete si cu destule bube.
    Chestia pana la urma este tipic romaneasca ne batem cu caramida in piept ca stim nu stiu cate tehnologii si in realitate nu stim nici una bine.

  20. Adi says:

    Nu cred ca ai inteles ce vreau sa zic: fiind foarte usor de invatat, costul “carnetului de programator PHP” este foarte mic — ca atare foarte multi isi asuma aceasta calitate. Daca pretul de intrare ar fi ceva mai mare (citit carti, mers la cursuri, urmarit site-uri de specialitate, etc) nu ar mai fi atat de multi programatori slabi care sa dea PHP-ului un renume prost. Asta-i tot ce zic.

  21. Adi says:

    Test de eliminat profanii: pune un programator sa-ti scrie quick sort pe hartie fara net si alte inspiratii (nu conteaza limbajul). A se schimba algoritmul cand candidatii stiu deja de test.
    Culmea e ca multi cu pretentii si buzzword-uri en-gros o sa pice si la testul bubble sort.

    Metoda interesante de testare are are Joel: http://www.joelonsoftware.com/ (n-am mai gasit exact pagina, dar site-ul merita citit in intregime de dezvoltatori). Printre altele zicea ca urmareste candidatii in timp ce scriu cod C++ pe hartie. Si distinge un programator bun prin faptul ca inchide acolada imediat dupa ce o deschide :). Chestie cu care nu sunt de acord pt ca pe vremea cand dadeam examene scrise m-am inavatat sa imi las spatiu. Daca intr-un editor poti adauga linii goale cand si unde vrei pe hartie mai greu. In rest are chestii foarte interesante, printre care celebrul Joel Test: http://www.joelonsoftware.com/articles/fog0000000043.html

  22. F. Dragos says:

    PHP e pentru copii de gradinita. Nu cred ca te poti lauda ca stii PHP :), sau poti spune ca esti mare programator daca stii PHP. Nu se compara limbajele de scripting cu clasicele limbaje de programare. Dupa ce am invatat C si C++ am urat php-ul din mai multe motive (nu am chef sa le enumar). Si in fine … chiar daca programezi in PHP sau eu stiu mai ce … ActionScript, nu cred ca te poti considera un bun programator daca nu stii C++ si librariile standar din C.

  23. Vivi says:

    Ummm… ce spuneam mai devreme despre oameni care iau limbajele personal? 🙂
    Orice limbaj isi are rolul lui si exista situatii in care poate fi folosit.

    Nu exista nici o cauzalitate directa intre limbajele in care dezvolti si cat de bun dezvoltator esti. Dragos, mai citeste o data comentariul tau, citeste mesajul de la inceput, si vezi daca poti sa faci o legatura. 🙂

  24. Alex says:

    Flame in toata regula… 😀

  25. bogdan says:

    http://www.paulgraham.com/articles.html

    eu le-am rascitit pe toate, si apoi mi-am cumparat si cartea de pe Amazon.

    enjoy 🙂

  26. Limbajele sisofturile sunt niste mijloace. Important este ce faci cu ele. Important este sa il alegi pe cel mai potrivit pentru un anumit task – sa nu omori tzantzari cu tunul si nici elefantzi cu “invizoace”.

    Eu am trecut prin web, acum lucrez in video/film – si aici nimanui nu-i pasa de ce programe stiu eu, decat la nivel organizatoriu – stiu bine cam 4 softuri 3D – dar asta nu intereseaza prea mult, importante sunt rezultatele.

  27. arix says:

    Din cate vad eu postul lui Vivi a generat o adevarata polemica iar rezultatul PHP-ul pus la zid. Oameni buni treziti-va daca facem o statistica cred ca 90% din internet este motorizat de PHP, MySQL, Apache, Javascript, Flash. Vreti sa schimbati evidenta n-aveti decat. Mai stiu eu unul care-l cheama Bill Gates si care se chinuie sa ne faca sa trecem IIS, ASP NET s.a. si baga bani in chestia cat sa dea de mancare la toata lumea a treia si vad ca nu a reusit nimic. Eu unul raman la tehnologiile de mai sus, le-am invatat usor, n-am dat din buzunar nici-un ban si am castigat maxim de pe urma lor.

  28. Marian says:

    umm… cred ca orice programator a trecut prin perioada “indragostirii” de un anumit limbaj de programare.
    multi spun ca ruby on rails e doar un hype (joelonsoftware e unul din ei) – am citit insa cateva articole mai mult decat pozitive , o sa-mi fac timp sa ma “joc” putin cu el.

  29. none says:

    scopul scuza mijloacele, rezultatul final sa fie satisfacator si eficient.
    da de PERL ce ziceti? :).
    modul de lucru si eficientza lucru/timp sa fie egal cu satisfactie financiara mare, asta e scopu. sunt programatori eficienti, orice prost poate gasi un mod de a face lucruri mari, complexe si stufoase.
    nu conteaza cum faci atata vreme cat ajungi la un rezultat final satisfacator, fara prea multe complicatii inutile. degeaba inveti o gramada de tehnologii ca sa faci aceeasi chestie intr-o suta de feluri cand poti sa o faci cat mai simplu si cu ce stii.

  30. bubu says:

    in primul rand imi cer scuze ca “ma bag peste voi”. de ce spun asta ? pentru ca sincer nu am folosit nimic din ce scrieti voi aici. Mai mult, de unele aud pentru prima oara. Imi cer scuze de asemenea daca va plictisesc, dar e una dintre cele mai interesante discutii.
    Si eu am fost programator si inca unul destul de bun din moment ce multe firme au folosit programele mele timp de mai multi ani. Asta era prin anii 96-99, dupa care din anumite motive pe care o sa le regret toata viata m-am “retras” din activitatea de programare si am trecut la cea de “frecat menta” respectiv baze de date pe MS SQL si win server, unde am stagnat pana anul acesta. Acum pe langa nevoia (mintala si psihologica) acuta de a ma reapuca de programare mai am si un motiv practic: incerc sa scap o firma de un program (care pana acum si-a facut treaba dar deja e depasit) care e motorizat de VB si Access. Normal ca sunt in aer si la propriu si la figurat. Pe “vremea mea” cand programam C++ nu incepuse inca sa fie folosit la scara larga si deci orientarea mea fusese pe Fox si VisualFox.
    Am citit ce ati scris pe aici si sunt de acord cu multe dintre lucruri si cred ca toti aveti dreptate chiar daca pare ca va contraziceti. Am vazut oameni la firme care programeaza in C++ si se lauda cu programe “extraordinare” dar le lipseste cu desavarsire gandirea logica a programarii. Ar trebui sa se intoarca la “arhaicele scheme logice”. Pe de alta parte am vazut oameni capabili respinsi din cauza unor CV-uri “subtiri”. Aici de vina cred ca sunt totusi cei care recruteaza personalul. Nu prea stiu ce vor si de multe ori angajeaza persoane care “stiu multe” dar nu prea stiu nimic (cel putin nu la nivelul CV-ului).
    Trecand totusi inapoi la problemele ontopic (cu toate ca insasi persoana mea este offtopica pe aici) ajutati-ma si pe mine: spre ce sa imi indrept pasii, avand in vedere “subtirea mea experienta” ? ce ar fi mai bun de invatat (nu neaparat mai usor, dar totusi nici sa ma arunc in groapa cu lei) ? ce ar fi mai apropiat de ceea ce mi-am propus (acces la BD, formulare, listari si rapoarte, totul dintr-o interfata cat mai simpla si uzuala) ?
    Inchei cu multimirile si scuzele de rigoare, dar cu mana pe inima va spun ca este unul dintre putinele locuri in care o asemenea discutie nu s-a desfasurat cu injurii, lovituri sub centura, sau alte asemenea practici.
    cu stima si respect.

Leave a Reply