ce mă fac_când_o_să_fiu_mare - optiuni pentru o cariera in it
DESCRIPTION
Care sunt posibilele trasee pe care le pot urma absolventii unei facultati de IT. Tipuri de joburi, cerinte, domenii si tipuri de companii. Trasee propuse pentru un student din anii miciTRANSCRIPT
2
mituri și legende• dacă termin facultatea de automatică și
calculatoare o să fiua. programatorb. project managerc. administrator de rețead. [cercetator stiintific]
14/1/2014
3
Ce joburi există pentru absolvenți?
• software engineer (software developer)• QA engineer• architect• network engineer• business analyst• researcher• data scientist (NEW!)• DB admin/developer14/1/2014
4
Software developer
• cea mai frecventă poziție de pe piață• diferențiatori între poziții– limbajul de programare– domeniul de activitate
14/1/2014
5
Software developer - web
• web – frontend – dezvoltă acea parte a aplicațiilor web care
interacționează cu utilizatorul• tehnologii: HTML(5), CSS3, javascript• foarte dinamică, tehnologiile evoluează extrem de rapid• necesită cunoștințe de – programare, structuri de date, protocoale de
comunicație, interacțiune om-calculator
– backend – dezvoltă acea parte a aplicațiilor web care prelucrează datele utilizatorului• limbaje: PHP/Java/C#/Python• necesită cunoștințe de: programare, structuri de date, algoritmi, baze de
date, protocoale de comunicații, arhitectura sistemelor (ASC), design patterns.
• ex de companii: cam toate au astfel de poziții14/1/2014
6
Software developer - mobile
• mobile– frontend – dezvoltă interfața cu utilizatorul pentru
aplicații pentru platforme mobile (telefoane, tablete)• limbaje de programare: ObjectiveC/Java și/sau
tehnologiile de la web frontend• necesită cunoștințe de: programare, structuri de date,
protocoale de comunicație, interacțiune om-calculator
– backend – v. web backend
14/1/2014
7
Software developer – networking/embedded
• networking/embedded– dezvoltă aplicații low level pentru dispozitive dedicate
(echipamente de rețea, procesoare dedicate, telecom, ...)– limbaje de programare: C/C++, scripting bash, Python– cunoștințe necesare: sisteme de operare, protocoale de
comunicație, retele de calculatoare, compilatoare, arhitectura sistemelor de calcul, proiectare cu microprocesoare, programare paralela, electronica
• exemple de companii: Ixia, Bitdefender, Intel, Luxoft, Freescale
14/1/2014
8
Software developer - gaming
• gaming– dezvolta jocuri pe diferite platforme (mobile, console,
PC)– limbaje de programare: C/C++, Java/ObjectiveC –
mobile– cunoștințe necesare: programare, mecanică, grafică
pe calculator, sisteme de prelucrare grafică, arhitectura sistemelor de calcul, inteligență artificială
• ex de companii: Ubisoft, Gameloft, EA, Namco Bandai
14/1/2014
9
Software developer - evoluție
• evoluție – junior (1-3 ani exp), medium (4-5 ani), senior (5 ani +)
• experiență = autonomie+eficiență crescută, cunoașterea mai multor tehnologii caracteristice domeniului
– team leader/manager• asigură legătura cu celelalte departamente (marketing,
product)• asignează taskuri echipei
– arhitect• proiectează aplicații, propune soluții, alege tehnologii
14/1/2014
10
QA engineer
• elaborează planuri de testare• realizează testare manuală și automată• [participă la debugging] • tehnologii: limbaje de scripting pentru testare automată,
un limbaj de programare, instrumente de testare specifice domeniului
• cunostinte necesare: programarea calculatoarelor, testarea sistemelor de calcul, arhitectura sistemelor de calcul, scripting (sisteme de operare), cunostinte specifice domeniului in care se face testarea
• ex de companii: toate14/1/2014
11
System(s)/Network Admin/Engineer
• proiectează/configurează o rețea, asigură securitatea, proiectează/verifică/implementează/testează protocoale ...
• cunoștințe necesare: rețele de calculatoare, sisteme de operare, protocoale de comunicație, programarea calculatoarelor, arhitectura sistemelor de calcul
• pozițiile curente evolueaza în admini care acum au nevoie de cunoștințe de programare ca sa dezvolte/mențina feature-uri; se ajunge la ceea ce se cheama sysops (sys + ops) sau sysdevops (sys + dev + ops).
• ex de companii: Romsys, Bitnet, Omnilogic,...
14/1/2014
12
Business analyst
• analizează cerințele clientului, propune soluții, elaborează specificații, comunică cu echipa de implementare
• trebuie să aibă cunoștințe tehnice bune (programare, arhitecturi de calcul), cunoștințe specifice domeniului în care lucrează, [management]
14/1/2014
13
Researcher
• cercetează, face prezentări tehnice• licență/master/PhD• lucrează în universitate/institut de cercetare• necesită: programare, matematică, statistică,
sisteme de operare, arhitecturi de calculatoare, metode numerice, fizică, algoritmi, ...
• ex de angajatori: UPB, INCAS, ANM, INFP, ICF, IAAR, Intel, INMH, etc
14/1/2014
14
Data scientist
• analizează folosind algoritmi și instrumente specifice cantități mari de date, oferă suport departamentelor de business, extrage informații ”ascunse”
• necesită: programare, baze de date, algoritmi, inteligență artificială, învățare automată, matematică, arhitectura sistemelor de calcul, sisteme distribuite
• ex de companii: bănci, IBM, Google, Facebook, Amazon, Yahoo, Twitter, SAP, companii telecom, servicii de informații
14/1/2014
15
DB Admin/developer
• proiectează baze de date, optimizează proceduri și interogări, utilizează software de analiză, business intelligence, ...
• necesită cunoștințe de: baze de date, arhitecturi de calculatoare, algoritmi, rețele de calculatoare, sisteme de operare, structuri de date
• ex de companii: bănci, orice companie ce gestionează cantități mari de date
14/1/2014
16
Product manager
• dezvoltă un produs, alege features ce vor apărea în fiecare versiune, înțelege cerințele utilizatorilor și le transmite echipei de dezvoltare
• necesită: interacțiune om-calculator, cunoștințe de front-end, cunoștințe de business analyst
• ex de companii: BitDefender, Adobe, Ixia, Intel, 4PSA (companii ce dezvoltă produse proprii)
14/1/2014
17
Antreprenor
• creează o companie de IT ce face dezvoltare de produs/outsourcing
• necesită: curaj, cunoștințe de business, product management (v. slide-ul precedent), cunoașterea f bună a pieței, marketing, human skills
• ex de angajatori: voi :)
14/1/2014
18
Unde pot să lucrez?• tipuri de companii – după domeniul de activitate– de produs
• dezvoltă produse proprii• stabilitate a tehnologiilor folosite și a proiectelor
– outsourcing• dezvoltă produse pentru terți• pot schimba mai des tehnologiile/proiectele în funcție de cerințe
– departamente de IT din companii nonIT• dezvoltă/întrețin aplicații interne• nu prea schimbă tehnologiile• echipe mai mici, tehnologiile mai puțin dinamice
14/1/2014
19
Unde pot să lucrez? (2)
• tipuri de companii – după dimensiune– corporații/multinaționale
• proceduri foarte bine definite, tehnologii mature
– small/medium size• echipe dinamice, oportunități de învățare
– startups• tehnologii foarte noi, all-rounders – șanse mari să faci toate
tipurile de job
– freelancer• cauti proiecte, lucrezi când vrei/cât vrei, ești plătit în funcție
de cât ai lucrat
14/1/2014
20
Traseu recomandat
• anii 1-2– cursurile de la facultate – școli de vară – pentru a identifica în ce domeniu v-ar plăcea să lucrați– [cursuri tehnice de limbaje de programare – Java/C#/Web/Mobile
sau networking – CCNA]• anul 3
– cursurile de la facultate – focus pe traseul ales– stagiu de vară în domeniul ales
• anul 4 – cursurile de la specializarea aleasă (corelată cu domeniul ales)– lucrare de diplomă (opțional efectuată în colaborare cu o companie
din domeniul preferat)
14/1/2014
21
Școli de vară/stagii
• școli de vară – aprox. 3 săptămâni iunie-iulie.– se învață tehnologii, arhitecturi si aveți ocazia să
descoperiți domenii/faceți experimente noi• stagii – cca 3 luni – iunie/iulie – septembrie– se lucrează full-time pe proiecte reale în companii
• lucrări de diplomă în co-tutelă – anul 4 semestrul 2– se efectuează un proiect în domeniul ales
14/1/2014
22
Unde găsesc stagii?
• stagii/școli de vară în România – www.stagiipebune.ro – se aplică 1 martie – 1 mai.
• stagii la companii din afară (Google, Facebook, ...) – se aplică la companiile respective octombrie-decembrie
• Google Summer of Code - program finanțat de Google prin care se lucreaza la proiecte open-source
14/1/2014
23
În loc de concluzii
• ”Choose a job you love, and you will never have to work a day in your life.” (Confucius)
• "I advise students to learn the fundamentals, invest in a solid base of mathematics and learn to write well. Explore as many things as you can and try to find a project you have a deep passion for." (Jack Dongarra)
14/1/2014
24
Multumiri pentru feedback si completari
• Răzvan Deaconescu• Andrei Pitiș• Traian Rebedea• Răzvan Rughiniș• Emil Slușanschi
14/1/2014