milanche San Francisco
Član broj: 2447 Poruke: 1200 *.dynamic.sbb.rs.
|
Razmisljam odavno (mozda bi neki blog bio pravi nacin da izbljujem svoj licni traktat
o umetnosti programiranja i svom vidjenju sta je 'pravi put' u tu profesiju), medjutim,
uvek se nadje nesto drugo da me zabavi. Takodje, ostavljati 'bozije zapovesti' je posao
za nepogresive.
Pokusacu ovde ukratko da dam neki odgovor.
Odgovor na sta i kako sam manje-vise dao u nekoliko slicnih tema, pa i u ovoj,
a koliko se secam i Nedeljko je napisao pristojnu kolicinu detalja o tome sta cini solidno
utemeljenog programera.
Odgovor na cemu i zasto se moze jos elaborirati:
Sve 'povrsinske' tehnologije slede slicnu pricu - privlacne su za svakodnevni rad jer se
cesto odvijaju u graficki prijatnom (sarenom) okruzenju, sve je 'na dugme' itd. Po pravilu,
posle izvesnog broja godina, dolazi do tehnoloskog 'zemljotresa' u kojem pomenute
tehnologije odlaze bez traga i glasa, a dolazi nesto novije, drugacijeg izgleda, prepakovano
na drugi nacin, i u svojoj povrsnosti relativno udaljeno od predhodne isto tako povrsnog
okruzenja. Kao spasonosni pojas za programera ostaje sve ono sto je u izletima u dublju
infrastrukturu uspeo da pokupi i shvati, i to poznavanje predstavlja 'relevantno iskustvo'
na osnovu kojeg se cesto prirodno dobija sansa da se bavi i tom narednom tehnologijom.
Kod 'podrumskih/fundamentalnih' tehnologija, promene alatki i filozofije razmisljanja su
znatno redje, menja se 'sirovina' koja se kuje cekicem, ali osnovni set znanja, tehnika,
nacin razmisljanja nije promenio u poslednjih 20-tak godina.
Po pravilu (kao i u svakodnevnom zivotu), pare su obicno tamo gde se zulja mozak, gde
nije prijatno i lagano, a nisu tamo gde u delatnost (kao sto rekoh) mogu da udju dokone
domacice i bistriji srednjoskolci.
Baviti se necim gde se lakse vidi put i ishod je dobra stvar, jer ohrabruje i pozitivno vezuje
osobu za profesiju. Ostati na istom nivou lakoce je ipak pogresna stvar.
Kad je rec o real-time embedded programiranju, od krajnje specificne oblasti u kojoj je
poznavanje mikrokontrolera, asemblerskih jezika, hardvera i logic analyzer-a predstavljalo
'must have', evoluiralo je u poslednjih desetak godina u upravo ono sto sam preporucivao:
C u osnovi, pozeljno neko iskustvo sa asemblerom, vrlo pozeljan C++, tu i tamo neki scripting
language (perl, python), zatim templati (sabloni) narocito STL, poznavanje visenitnog
programiranja, algoritmi.
Sto se background-a tice, desava se interesantan fenomen.
Jedan srednjoskolac je dobio domaci da kontaktira profesionalce i napravi statistiku najcesce
koriscenih scientific formula. Dao mi je praznu listu sa pet mesta da navedem koje su najcesce
formule koje koristim u svakodnevnom radu.
Pao mi je mrak na oci kad sam shvatio da osim proste proporcije (najcesce za izracunavanje
progresa) i obicnih aritmetickih operacija koristim slabo sta drugo (na poslu, privatno sam se
bavio celim opsegom DSP-a, sto je kasnije dobro doslo i davalo neke realne prednosti, ali
nista od toga mi godinama nije bilo u direktnom opisu radnih zadataka).
Takodje, kad pogledam unaokolo, ekipa koja se bavi real-time embedded programiranjem dolazi
iz raznih background-a, i manje-vise svako od njih je u situaciji da efektivno ostavi po strani svoju
originalnu uzu struku (comp sci, math, EE, mech eng, fizika) i da koristi zdrav tehnicki rezon kao i
najbazicnija znanja....
...koja su upravo to sto sam opisao.
Kakve su individualne perspektive ?
Neko ko sada pocinje, krecuci u opisanom pravcu otvara sebi ogroman broj perspektiva u domenu
dobro placenih poslova. Iz opisanog seta (moja dva posta na predhodnoj strani) se lako i bezbedno
moze iskoraciti u masu pravaca i usmerenja.
Za nekoga ko se vec bavi web-om: u poslednje vreme mi je omiljena izreka (ne znam gde sam je
pokupio, ali je smatram tacnom) da se 'zivot zivi unapred, ali razume retrogradno, tj. tek posle'.
Iskoraciti iz svakodnevice nekoga ko pise i debaguje PHP ili JavaScript, ili pokrece FireBug, misli o
performansama browsera, gleda zauzetost resursa (CPU/memory)...moze da izgleda drasticno drugacije
od onoga sto vec radi, ali u sustini - sve je to ista ili slicna prica.
Kljucno pitanje - gde naci poslove - nema jednostavan odgovor, ali siguran sam da nije i neresiva zagonetka.
|