Programatorul NU – de ce nu

2 comentarii

Imi este dat sa vad zi de zi cate o ineptie. Ma refer aici la munca mea de zi cu zi.

Pentru cine nu s-a prins inca, sunt programator. Ca programator, vezi foarte multe chestii. Ajungi sa intelegi de ce oamenii care scriu SF se refera intotdeauna la IT-isti (da, asta suntem inca toti in Romania) ca la niste vrajitori uimitori din lumea virtuala. Exemplu: intra ieri un tip la noi in birou, foarte fericit – de zici ca cine stie ce descoperire a facut intrand pe usa – si o tranteste. “Nu putem noi sa vedem in loguri cine fura InterNet?”. Liniste. Raspunsul vine la fel de poetic ca si intrebarea: “Ce ai baut? Ca vrem si noi !”.

Ei bine, astia sunt oamenii. Daca cineva nu face o chestie, ea nu va exista pana cand nu se va cere. I mean, eu ar trebui sa visez in stele ca peste doi ani, o sa vina UN IDIOT si o sa imi ceara un raport cu oamenii care “fura” InterNet. Grrr, acum m-am enervat. Ce inseamna sa “furi” Internet? E cumva acelasi lucru cu furatu’ aerului? Like, cand zice cineva “imi iei aerul”? Nu se fura InterNet-ul … El ramane aici. Desi, din ce am auzit eu, ar mai exista si alt internet:

“Buna ziua,

Va anunt pe aceasta cale ca vom renunta la internetu’ de la voi pentru ca mama s-a dus la alt internet.

Cu respect,

Dracu’ stie cine”

Wake the fuck up ppl. Ie unu’ singur si altu’ mama nu mai face (da, “ie” este intentionat in aceasta conjunctura).

Revenind, pentru ca am spus ca vad zi de zi cate o ineptie. Iar exemplu: se platesc o gramada de bani la o firma ca acea firma sa produca un soft care sa faca doua lucruri, evidenta contabila si incasari. Cat de greu poate sa fie? Ei bine, ESTE greu!!! Dovada, la un an si vreo opt luni de la integrarea acestui soft in firma la care lucram, LOR (a se citi firmei care face mentenanta pentru acest software) inca le vine greu sa programeze intr-un stil oarecum omenesc. Am mai vazut oameni care reinventeaza roata, dar de aici pana la a “inventa” propriul tau mod de a obtine valori unice intr-un tabel de MySQL, e cale lunga. Ce naibe e in neregula cu a folosi un field care sa fie AUTO INCREMENT??? Ca pe ala nu il intereseaza, el creste, indiferent ce faci tu acolo.

Nu au un API, nu au nici cea mai vaga idee despre cum se programeaza, nu stiu ce inseamna securitate informatica, nu inteleg concepte de baza in ceea ce priveste siguranta datelor, NU STIU SA PROGRAMEZE. De ce ii tinem? Pai, pentru ca NOUA (a se citi departamentul de programare) ne face o mare placere sa compensam in fiecare zi, prin gasirea de metode din ce in ce mai ingenioase, o lipsa a oricarei – pentru ca nu pot sa spun talent – frantura de incercare de intelegere a fenomenului care se numeste IT.

Din aceeasi tema:

- ce este aia programare HTML? (Tema pentru acasa)

- oare de ce am ales eu domeniul asta de munca? (Tema mea pentru acasa)

Hai pa

Programatorul NU

2 comentarii

De multe ori mi s-a intamplat sa ma vad nevoit sa zic NU. A devenit un obicei. A se intelege ca spun acest cuvant din mai multe motive.

Primul motiv care imi vine in minte tine un pic de psihologie. Exemplu: daca cineva intra in birou si pana sa apuce sa spuna ceva tu ii spui “nu” ajugem intr-o situatie care necesita o decizie din partea persoanei care doreste ceva. Programator fiind, intr-o firma care nu se ocupa in special de programare, INTOTDEAUNA cand intra cineva la tine in birou va dori ceva. Sa revenim la decizie. El poate sa renunte la a cere ceva-ul respectiv (motive posibile: era ceva ce putea sa faca si ii era lene asa ca “vorbesc cu baietii de la programare pentru ca ei fac oricum repede totul”, nu era ceva necesar, “au ceva mai important de facut asa ca nu ii deranjez acum” – caz in care fie renunta si incearca sa isi rezolve singur problema, fie revine mai tarziu cand ciclul se repeta) sau sa stea acolo, indiferent de ce ii spun eu, pentru ca ceva-ul este important, are nevoie de el si nu are o alta optiune sa il obtina. Un alt avantaj il constituie faptul ca, revenind mai tarziu, are timp sa rafineze ce are de cerut.

Problema cu stilul asta de abordare este ca, in foarte scurt timp, vei deveni oarecum lipsit de popularitate dar risti sa nu trebuiasca sa ajungi la tratament cu calmante, ca sa poti sa iti mentii creierul (si asa tocit) la un nivel la care sa nu vina baietii in halate albe sa te ia cu ei sa iti arate o camera frumoasa cu pereti capitonati, unde poti sa te dai cu capul cat vrei tu.

A doua problema este ca “NU” define foarte repede parte a peisajului, in sensul in care, lumea incepe sa ignore ce ai de spus. BAD move (vezi BOFH).

Imi permit frustrarile mele si tin neaparat sa mentionez cateva dintre ele. Pentru cei care au impresia ca programatorii, pentru ca sunt ei baietii destepti care rezolva multe, trebuie sa cunoasca contabilitate, marketing, publicitate, relatii decizionale la nivel de management, scara ierarhica a firmei in cele mai mici detalii si multe altele am de spus urmatorul lucru: get your head examined. Daca tu consideri ca ai nevoie de un raport cu intrarile din luna respectiva in firma EU nu pot sa deduc daca tu vrei sa stii cat s-a incasat in luna respectiva sau pentru luna respectiva. Nici macar nu ma intereseaza. Eu sunt platit sa programez.

O alta frustrare pe care o am o reprezinta stilul generalizat de ignoranta in ceea ce priveste pasii de development ai unei aplicatii, indiferent care este ea. Daca tu ai nevoie de ceva gandeste-o, daca nu poti mai cheama ajutoare, gaseste posibilele bube din punct de vedere logic la nivelul la care ai TU nevoie sa relationeze informatiile intre ele, treci prin cateva sedinte de brainstorming cu alti oameni de nivel mai inalt decat tine pe scara ierarhica a firmei, discuta cu celelalte departamente cu care trebuie sa interactionezi si pe urma formuleaza o propunere pentru aplicatia respectiva, de preferat bine documentata, si inainteaz-o spre departamentul de programare. Exemplu: cand spui ca, specific, numai nivelul X de acces trebuie sa poata sa foloseasca modulul A al aplicatiei, pentru NOI, ca programatori, inseamna ca doar nivelul X va avea acces. Daca tu diseara vei visa ca de fapt si femeia de servici de la etajul 1 trebuie sa aiba acces la rapoartele de vanzari, EU nu am de unde sa stiu si ma voi apuca sa modific (a se citi torturez/maltratez) aplicatia in asa fel incat sa existe o exceptie pentru persoana respectiva. Si discutia poate continua la nesfarsit…

Eu iti spun NU pentru ca stiu, in general destul de sigur, ca ceea ce vrei sa spui este o ineptie. Iti spun NU pentru ca nu am de unde sa stiu si nu ma intereseaza cum se calculeaza o balanta in contabilitate (acum stiu si ma sperie lucrul acesta) si iti spun NU pentru ca stiu, la fel, in general, ca ceea ce vrei sa se faca este deja facut dar nu ai cautat suficient cat sa stii ca exista si nu te-a interesat. In ultima instanta, spun NU in momentul in care consider ca ceea ce vrei sa fac reprezinta o aberatie din punct de vedere al meseriei de programator in conditiile in care nu esti unul si tu.

Ah da, ca sa nu uit: NICIODATA sa nu ii spui unui programator “pai ce mare scofala, mai pui un buton, o bifa si trei casute de text si merge treaba”, pentru ca nu stii ce se intampla in spate. La fel: NICIODATA nu ii spui unui programator ca “am vazut eu ca aplicatia pe care ai scris-o face X lucru in modul Tz”, pentru ca PROGRAMATORUL a facut lucrul acela si in 99% din cazuri el stie ce face desi a trecut o buna perioada de timp de cand nu a mai modificat-o.

Intr-o nota total separata vreau sa mentionez ca urasc tratamentul pe care firmele din Romania il dau “IT-stului”. Aitistu’ este ala care face de la instalari de Windows la schimbatu’ cartusului de imprimanta. Am trecut acum un an si ceva printr-o experienta destul de amuzanta pe care o voi relata in cele ce urmeaza.

Ora 18, 18 si ceva fix. Eram inca prin firma. Primesc un telefon prin care sunt informat ca firma X (nu mai stiu despre ce firma era vorba si sper sa nu imi aduc aminte niciodata), a carei reprezentant ma suna, cauta un om pentru functia de Director I.T. (observati punctuatia si majuscula aplicata pe prima litera din functie). Ma simt flatat cumva ca m-au gasit prin site-urile romanesti de job-uri si stabilesc un interviu. Interviul a fost programat pentru a doua zi la orele 9:00 AM. NU MA TREZESC DIMINEATA. NU ma trezesc dimineata nici ca sa ajung la munca la timp. Nu pot, nu imi sta in fire. Nu ma pot obisnui si prefer sa fiu dat afara pentru asta. Perioada in care ajung la munca este situata undeva intre jumatate de ora si o ora si jumatate DUPA ora la care ar trebui sa fiu acolo. Intorcandu-ma la subiectul initial, ma trezesc, ma barbieresc, ma imbrac frumos si plec. Ajung la firma respectiva si port o discutie foarte scurta care mi-a adus daune morale. Aflu ca, de fapt, directorul lor de IT pe care il cauta trebuie sa fie un fel de ITst. Adica ala care aranjeaza cablurile, schimba toneru’ la imprimanta si instaleaza windozele fara licenta luat de pe DC++. Ma ridic, ii anunt cu respect ca ii urasc pentru ca m-au facut sa ma trezesc de dimineata si plec. SCHIMBATI-VA mentalitatea. Traiti intr-o lume in care, fara cei ca noi, cei ca voi nu pot sa scoata bani sau nu pot sa-i gestioneze. Daca nu am fi noi – ma rog, unii dintre noi – nu s-ar putea comanda masini pe InterNet, nu s-ar putea ridica bani de la ATM (a se citi bancomat) si asa mai departe. Asta e, deal with it.

Recunosc, cele scrise mai sus sunt rezultatul unei zile proaste la munca. Nu am nimic propriu-zis cu nimeni. Toata lumea incearca sa isi faca treaba si recurge la absolut toate mijloacele necesare pentru indeplinirea acestui scop. Ma uit acum si aflu ca “Word count: 1225″. Ma sperie acest lucru. Poate voi fi dat afara pentru ce am scris aici. Poate nu. Nu stiu si nu imi pasa. Trebuie sa imi descarc undeva nervii si asta pare un loc foarte potrivit pentru asta.

Hai pa.