despre adaptabilitatea unui absolvent de politehnica

Se discuta foarte mult in ultimul timp despre necesitatea de a orienta facultatea pe cerintele stricte ale industriei. Toata lumea insista pe acest subiect. studentii vor sa se stie angajati cat mai repede si cat mai bine si multe firme au nevoie de mana de lucru cat mai ieftina si cat mai specializata in tehnologiile pe care ei le utilizeaza.

Sunt multi studenti care intra la facultate si ma intreaba de ce nu invata C# la cursul de programare. Sunt unii, ceva mai putini, care ma intreaba de ce nu invata PHP. Iarasi firmele se plang ca nu oamenii ies din facultate fara a cunoaste foarte bine bibliotecile unui anumit limbaj de programare.

Mie mi se pare doar ciudat ca studentilor nu li se explica foarte clar urmatorul lucru: tehnologia se schimba la fel ca si tipul joburilor. tehnologiile care vor fi la moda la 5 ani dupa ce un student intra la facultate s-ar putea sa fie azi in stadiu de prototip.

Studentul care este astazi intr-o facultate de IT nu trebuie sa invete pe dinafara functiile dintr-o librarie a unui limbaj pe care poate nu vor ajunge niciodata sa-l foloseasca dar trebuie sa invete care sunt mecanismele limbajului, care sunt principiile programarii orientate pe obiecte, programarii paralele sau programarii web. De ce? Pentru ca aceste principii au o mai mare sansa sa reziste timpului decat o tehnologie oarecare. Iarasi studentul trebuie sa invete notiuni de algoritmica si nu numai sa memoreze niste algoritmi fiind necesar sa poata adapta permanent algoritmii asimilati la probleme in continua schimbare.

De asemenea este bine sa nu apara super-specializarea din anul 2. Prin super-specializare inteleg cazul unui student care declara ca pe el anumite materii de profil pur si simplu nu-l intereseaza pentru ca, dupa experienta pe care a acumulat-o el in 1.5 ani de facultate, crede ca nu-i vor folosi niciodata.

In conditiile in care un student urmeaza facultatea cu constiinciozitate fara a neglija materiile de profil, fara a se super-specializa doar pe 1-2 materii ff usoare, la sfarsitul anului 4 orizonturile ii sunt deschise si, mai mult de atat, in mod sigur va fi rezistent la schimbarile prin care va trece industria in urmatorii ani, avand nevoie doar de traininguri rapide prin care sa se familiarizeze cu particularitatile tehnologiilor noi.

Pe de alta parte un student care dupa ce a invatat notiuni de java de exemplu se apuca si invata un pic mai bine 1-2 framework-uri java (j2me de ex) si isi gaseste un job, terminand facultatea fara sa-l mai intereseze ce se intampla in rest, are mari sanse sa aiba surprize negative in viitorul apropiat (exemplu). Pentru ca adaptabilitatea lui la schimbarile petrecute in industrie scade datorita super-specializarii si lipsei cunostintelor de baza.

Concluzia mea este: un absolvent de politehnica (si in special de A&C) are o capacitate deosebita de adaptare la dinamica deosebita a piatei muncii din IT atata timp cat chiar invata ceea ce se preda in cursurile de la facultate. Pentru a fi insa competitiv intr-o companie are nevoie fie de un mic training de specializare in tehnologiile folosite la compania respectiva fie de stagii de practica in timpul facultatii fie de ambele:)

11 thoughts on “despre adaptabilitatea unui absolvent de politehnica”

  1. Crezi ca lucrul asta este bine explicat in Poli, si mai ales, este bine implementat in cursurile/seminariile facute ?

  2. nu, am si spus asta:) studentii nu sunt constienti de acest lucru; asta este si unul din motivele pentru care am scris acest articol

  3. Probabil cel mai dificil unui student ii este sa isi dea seama cum toate materiile pe care le face ‘fit together’ atunci cand va dori sa se angajeze si sa produca un ban (e greu sa intelegi ce treaba are Lisp-ul cu artificial intelligence, cu software engineering si cu java.. si cum te poate ajuta ca iti imparti atentia intre atate materii nedevenind astfel suficient de capabil sa practici niciuna). Treaba este ca intradevar e important sa participi activ si sa inveti cat mai multe pe parcursul facultatii. Ce mi-am dat seama acum (dupa 1.5 ani de cercetare IT + software development) este ca cea ce diferentiaza un programator bun de un programator slab este capacitatea de adaptabilitate la problemele noi, entuziasmul (care si acesta se dezvolta si creste cu cat sti mai multe intr-un domeniu), ‘adancimea intelegerii’ efectelor a codului pe care il scrii (stiind doar java de ex tot te lovesti de comportamentul OS-ului, de tipul de server folosit, de thread deadlocks, database concurency, etc.. pe care nu poti sa le rezolvi stiind doar java) si creativitatea (gandirea out-of-the-box).

    In anii de facultate am facut multe materii pe care nu le folosesc si sansele sa le folosesc sunt f f mici. D’asta ma gandesc ca un filtru personal totusi prinde bine in aceste situatii. Pentru ca sa fim seriosi, un ‘mic tutorial in companie’ 🙂 pe J2EE nu este nici pe departe suficient ca sa intri in productie pe asa ceva… e nevoie de practica multa , consecventa si online tutorials (asta in timp ce tu ar trbui sa inveti DCE, sau ST (parca Signal Theory), sau mai stiu eu ce alte chestii useless)

    Personal, as da studentilor posibilitatea alegerii materiilor de specialitate pe care le fac.. si in felul asta, responsabilitatea alegerii domeniului in care doresc sa profeseze, mai din timp. In primii ani ar putea face chestii generale, pentru a-si imbunatati logica, modul de gandire, sa invete despre sisteme de operare, retelistica, ASM chiar, cum functioneaza un procesor, baze de date, diferitele tipuri de programare, etc … ca apoi sa in anii superiori sa isi poata alege singuri din multitudinea de limbaje de programare, tehnologii si framework-uri prin care sa ‘profeseze’ notiunile deja invatate. Mai greu ar fi pentru profesori sa tina ritmul si cu PHP si cu JSP si cu Ruby-on-Rails, etc.

  4. divergenţa mare de percepţii şi opinii este dată de fapt şi de drept de următorul lucru: există două categorii de angajatori:
    * cei care vor o unealtă, în cazul absolvenţilor de A&C un „codac”, eventual unul care să ştie să mai rezolve şi o problemă mai neobişnuită pe ici pe colo, dar care nu sunt dispuşi să investească (mai deloc) în fondul uman pe care îl reprezintă respectivul angajat
    * cei care vor un colaborator, cei pe care o să îi intereseze mai puţin că ştii la orice oră din zi şi din noapte ierarhia de clase din .NET 3.5 sau setul complet de instrucţiuni al AVR-ATmega323. Ăştia sunt mai puţin şi, evident sau nu, mai puţin gălagioşi decât ceilalţi. Ăştia sunt cei care nu te întreabă dacă ai lucrat cu nu ştiu ce framework de object persistence, ci câţi frizeri sunt în sectorul 2 :D.

    Poate am hiper simplificat, dar cam asta e realitatea. Şi-i dau dreptate lui Vlad, chiar dacă e vorba de specializări & co., cred totuşi că în facultate ar trebui mai degrabă predate baze şi principii – nu produse la modul foarte specific. Da, e ok sa vorbeşti despre programarea web sau despre programarea pe sisteme embedded, dar mi se pare not-ok să ai ca ţel un curs care să fie la zi cu ultimul revision de PHP, Java sau .NET .

    Îmi permit sa fac comentariul ăsta după ce astă-vară am refuzat două oferte de la UTi, respectiv Adobe pentru a lucra în cadrul Google Summer of Code şi am avut ocazia să văd ambele abordări într-un interviu de angajare (chiar şi pt un stagiu de vară). You figure out who was the good guy and who was the bad guy 😉

  5. Este foarte interesant ca ai abordat asta… eu as generilza un pic problema in sensul ca nu se refera doar la studentii din politehnica ci din orice facultate.
    Dupa parerea mea (ca absolvent), ideea unei facultati este de a-ti pune bazele unei arii cat mai mari de subiecte. Astfel incat dupa ce termini si intrii in ‘campul muncii’ cu adevarat sa poti zice: “Tin minte ca am facut asta undeva, ia sa vad mai am oare tema/proiectul/(chiar cursul) ala…”. E o situatie cu care m-am lovit de mai multe ori si anumite teme/proiecte chiar mi-au fost la mare ajutor (sau lipsa dupa caz…:) ).
    Deci revenind la “politehnica si acs” in concluzie eu vad in lucru bun in cel putin ‘luarea la cunostinta’ a cat mai multe tehnologii si limbaje chiar daca poate nu le veti folosi niciodata.

  6. ref la ce a scris Cristi, cred ca daca nu ai fi facut cateva semestre de programare in facultate era greu sa poti sa lucrezi in j2ee dupa un scurt training si si mai greu sa “prinzi” tutorialele alea. este meritul tau dar si al facultatii ca ti-a dezvoltat abilitatile care sa-ti permita aceste lucruri.
    tot referitor la ce a scris Cristi, poti oare sa lasi “responsabilitatea alegerii domeniului in care doresc sa profeseze, mai din timp”. cati studenti de anul I stiu macar ce meserii exista in domeniu, care sunt optiunile care le sunt deschise pe fiecare subdomeniu al it-ului (pe tema asta voi reveni).
    mihai: poate ne povestesti pentru viitoarea editie a Stagii pe bune cum a fost experienta de la Google Summer of Code

  7. Salut!

    As vrea sa aduc in discutie una din dilemele mele si poate in acelasi timp un subiect interesant derivat din articolul de mai sus. Vreau sa va intreb de ce in general un absolvent de A&C este asociat in mod automat cu un programator.

    Parerea mea personala este ca, dat fiind ca Facultatea Automatica si Calculatoare este parte a Universitatii *Politehnica* Bucuresti, ar trebui ca un absolvent sa aiba cunostinte cel putin de baza in orice arie a domeniului IT, fie ca este software (inclusiv programare, dar si alte activitati adiacente), fie ca este hardware.

    Evident ca si eu sunt absolventa a acestei facultati si in nici un moment (nici cand m-am hotarat sa dau la A&C, nici pe parcursul celor 5 ani) nu mi-am dorit sa ajung programator. Ca dovada, momentan sunt Software Testing Team Leader si pot afirma ca domeniul acesta al testarii pe mine una ma atrage mult mai mult decat programarea si pe de alta parte este o activitate absolut necesara in orice proces de software development, la orice nivel si de orice complexitate. Well… that’s only my story 🙂

    Ca sa concluzionez totusi, in spiritul articolului, sunt perfect de acord cu faptul ca in facultate nu trebuie sub nicio forma sa inveti limbaje/tehnologii specifice, primul rol si scop al facultatii fiind acela de a forma o gandire analitica a viitorului angajat, respectiv de a pune bazele in conceptele teoretice care stau la baza acelor tehnologii, oferind acestuia flexibilitate de care are nevoie pentru a se putea adapta la ceea ce face (care uneori coincide si cu ceea ce isi doreste sa faca 🙂 ).

    Nu as vrea sa mai lungesc inutil comentariul, dar sunt deschisa la orice discutie pe acest subiect (si pe altele, evident 🙂 ).

    O seara buna,
    Ileana

  8. multumesc pentru feedback Ileana. pot sa zic chiar ca-mi completeaza comentariul precedent. sunt foarte multe ramuri in IT si cei care asociaza absolventul de A&C cu programatorul sunt cei care stiu foarte putine despre industrie (din pacate foarte multi fiind chiar studenti din anii mici).

    ce mi se pare important dupa aceste prime comentarii este ca cei care au postat aici (si care sunt absolventi sau ani terminali) sunt de acord cu faptul ca “in facultate nu trebuie sub nicio forma sa inveti limbaje/tehnologii specifice”. cum facem sa aducem la cunostinta acest mesaj studentilor din anii mici?

  9. A fost placerea mea, Vlad!

    Ma gandesc ca poate ar fi utile niste discutii libere intre studentii din anii mai mici cu absolventi ai acestei facultati care profeseaza in diverse arii ale domeniului IT. Maybe they will get the big picture. Ah, si in plus… poate ar fi foarte utile exemple, cum a precizat si VladG in postul sau, de momente in viata de la servici in care “it just hit you” ca nu ai invatat LFA (Limbaje Formale si Automate) degeaba, ci ca ai ocazia in acel moment in care trebuie sa rezolvi o problema la job sa aplici ceea ce ai “invatat” la facultate. Asta chiar cu “pretul” cautarii cursurilor, cartilor, etc. Da, m-am lovit si eu de asta 🙂 si chiar daca nu am luat o nota extraordinara la acel curs, ma bucur ca l-am facut si ca mi-a pus bazele unor cunostinte in acest domeniu.

  10. Ileana, ideea ta e foarte bună, doar că necesită un pic mai multă implicare atât din partea profesorilor (ei sunt cei care pot aduce oamenii la discuţii) cât şi a firmelor (nu ştiu exact câte ar fi dispuse să dea o zi liberă la N (mic) angajati ca să vină la discuţii cu studenţii din an mic. Pentru că mă îndoiesc că un angajat ar face asta exclusiv pe timpul lui liber).
    Am băgat-o însă la cap şi o să o dau şi eu mai departe 🙂

  11. Eu imi dau parerea referitor la intrebarea “cum facem sa aducem la cunostinta acest mesaj studentilor din anii mici?”.
    Anul trecut, 2007-2008, cand eram in anul 4, s-a tinut in facultate un curs organizat de Calin Tatomir, la care tot timpul EC105 gemea de studenti. Iar pe la al doilea curs, s-a discutat si despre meseriile/specializarile din IT. Cred ca multora le-a fost mult mai clar dupa aceea la ce sa se astepte cand lucreaza in acest domeniu.
    De ce venea lumea la cursul acesta? Cateva dintre motive: Tatomir a adus la fiecare curs cate un invitat cu renume in industrie, de la Hotaran de la Microsoft, pana la Varujan Pambuccian; D-l Tatomir insusi era o personalitate, si la propriu, si la figurat; si era ceva diferit pentru facultate, era vorba de “Vanzari”.

    Deci, in opinia mea, solutia ar fi intr-adevar niste discutii libere/seminarii. Dar, ca sa fie atractive aceste discutii, trebuie sa fie “spectaculoase”, ca sa zic asa, adica ori sa fie un invitat de marca din afara facultatii, ori macar sa fie un “show man”, ori poate 2-3 dintre profii din facultate, dar din domenii diferite (gen Cristea, Cupcea, etc.).

    In incheiere, vreau sa zic ca imi amintesc cum in prima zi de facultate, la deschidere, in vestita EC105, a vorbit si d-l Tapus, si printre altele ne-a sugerat sa nu ne apucam de serviciu din anul 1 sau 2, ca e timp destul. Ar fi fost poate buna o discutie mai larga pe tema aceasta.

Comments are closed.