|
Hardistul-ul in tara minunilor
de Andrei Firoiu, Chief Technical Officer,
05.10.2006
De regula, un software developer adevarat stramba din nas cu dispret cand aude de hardware. El lucreaza la un nivel prea abstract ca sa trateze problemele reale ce tin de acest domeniu. Nu vrea sa se incurce in fire, pini si operatii de intrare/iesire. Iar daca ii zici cuvinte gen watchdog sau DSP zice ca-l injuri. De automatizari sa nu mai vorbim: ce inca mai citesti carti SF cu roboti?
Ceea ce nu stie developerul respectiv este simplitatea si eficienta la care a ajuns in prezent dezvoltarea in domenii conexe hardware-ului. Vremea 80C51-lui si a Z80-ului a trecut. Acum se lucreaza cu emulatoare si microcontrollere ce ruleaza Java iar accentul de pune din ce in ce mai mult pe software. Nu mai exista hackerii bonomi de prin filme, care lipesc un fir, mai conecteaza o mufa si gata, teleportorul portabil la care lucrau functioneaza. Acum, cand vorbesti de programarea hardware, vorbesti de arhitectura softului, conditiile de emulare, testele de integrare, etc. Totusi, daca vreti un motiv mai putin pragmatic, aceasta meserie ofera prilejuri mai bune de lauda. Una e sa povestesti prietenilor la o bere ce design pattern smecher ai integrat tu in aplicatia la care lucrai si alta e sa le arati ultimul tip de Mercedes, care foloseste la sistemele de franare cod scris de manutele tale. Si ce bine te simti atunci cand creatia ta se misca... Tatal meu a fost de cand ma stiu electronist amator. Si tin minte cu cat interes il urmaream cand demonta cate un magnetofon antic si mai ales ce distractie era sa ma joc cu piesele ce ramaneau in plus. Era clar, scria hardist pe fruntea mea inca de la nastere. Si ce minunat a fost primul meu adevarat contact cu fascinanta lume a hardaware-ului. Eram in primul an de facultate si cautam si eu ca orice student novice, o firma la care sa-mi fac practica (ce-as fi zis sarumana pe atunci la Stagii pe Bune). Cea mai serioasa si singura oferta pe care am gasit-o era la Alcatel - o vara intreaga de lipit piese pe placile de circuite. Si totusi destinul, intruchipat intr-un asistent de la faculta, mi-a deschis usa de la o mica firmulita ce se ocupa de automatizari si dezvoltare de echipamente hardware custom si care culmea, avea nevoie de un softist. Parca ajunsesem in rai sau ma rog‚ dupa standardele altcuiva - in laboratorul omului de stiinta nebun (n.r. mad scientist). Pot sa zic ca m-am distrat de minune in vara respectiva si in urmatoarele 2 care au venit: sisteme reactive de control cu senzori de achizitie, motoare pas cu pas si touchscreen, sisteme cu carduri magnetice pentru taxare si acces in parcari, sisteme de tracking/supraveghere si navigatie cu dispozitive GPS si modemuri GSM, aplicatii de achizitie de date pe internet si lista poate continua. Va simtiti de parca tocmai a trecut Mos Craciun pe la voi, v-a aratat ce are in sac si apoi a plecat mai departe? Atunci probabil ca acesta e domeniul care vi se potriveste pentru stagiul de la vara. Si totusi chiar daca totul pare o joaca, nu este chiar asa. Dezvoltarea de sisteme hardware este o treaba mai mult decat serioasa, mai ales cand de buna functionare a respectivelor sisteme depinde viata celui care le foloseste. Automotive, avionica, echipamente medicale, sunt doar cateva din domeniile in care cea mai mica greseala conteaza. Cred ca sunt destul de celebre accidentul navetei Ariane 5 datorat unei conversii 64-16 biti, eroarea de virgula mobila din procesorul Pentium, sau accidentele repetate ale sondelor trimise pe Marte. Toate aceste erori de programare au costat miliarde de dolari si uneori chiar vieti omenesti. Dupa toata joaca din cele trei perioade de practica, m-am gandit ca ar fi timpul sa ma orientez catre un domeniu mai serios. Verificarea formala , curs de anul 5 si domeniul in care mi-am sustinut lucrarea de diploma. Termenul asta incepuse sa devina un buzz-word, asa ca m-am gandit de ce nu? Verificarea formala este o metoda prin care se poate demonstra matematic lipsa de erori intr-un soft sau circuit electronic. Chestie ce s-a dovedit mult mai serioasa decat parea la prima vedere. Si totusi este un domeniu deosebit de interesant, care se aplica foarte bine pe domeniul hardware si care m-a atras mai mult decat programarea propriu-zisa. Pe scurt, construiesti un model matematic al sistemului pe care il analizezi si apoi il testezi pe specificatiile date, totul facandu-se bineinteles automat. Sounds funny, huh? Domeniul hardware-ului e foarte vast si contrar parerii unora implica foarte mult soft. Am inceput cu tranzistori si rezistente, am continuat cu programare de microcontrollere si am terminat cu software si matematica. Cariera de dezvoltator hardware iti poate rezerva o multime de surprize si chiar daca acum ma prezint drept software developer, vremurile cand mediul meu de dezvoltare se intindea nu numai pe ecranul calculatorului, ci pe intreg biroul, sunt inca vii in memoria mea. Morala? Alice nu a regretat niciodata vizita in tara minunilor si nici eu cariera. Comentarii |