Tento prispevok, ci skor clanok, som sa rozhodol napisat z jednoducheho dovodu. Prestava ma bavit informatika a programovanie. Studujem na vysokej skole, do jej ukoncenia mi zostava uz len rok, len napisat diplomovku a malo by byt hotovo.
Informatika ma vzdy bavila. Velku zalubu som si nasiel v administracii linuxov a bsd systemov, najma FreeBSD. Vzdy to bola ale zaluba len na doma, ved to kazdy pozna ... domaci server. Programovat som programoval tiez, ale nikdy nic extra. Male veci, nieco sam pre seba. Nejake C, Java ...
Moja prva “vacsia” praca bola zamerana na implementaciu linuxu na mieru pre jednu firmu. Jednoducho povedane - “linux from scratch”. Bola to zaujimava praca, dostal som sa linuxu dost pod kozu a bez ohladu na dalsie smerovanie toho projektu mi to dalo vela. A nielen po profesnej stranke. Snad sa mi podari vysvetlit, co tym myslim.
Ako konci skola, pozeram do buducna a som trochu zmateny. Podla mojho, zrejme nevyspeleho a dost naivneho ale zaroven aj triezveho nazoru, ma cerstvy absolvent vysokej skoly informatickeho zamerania tieto moznosti:
zamestnat sa vo velkej korporacii
zamestnat sa v stredne velkej ci malej firme
zamestnat sa ako zivnostnik a robit freelancera
zalozit firmu
Rozoberiem tieto moznosti od poslednej po prvu.
Na zalozenie firmy nemam ani technicke a ani mentalne schopnosti. Ako absolvent, a to nie je nieco, za co by som sa mal hanbit, ale je to proste fakt, nemam sancu zalozit firmu. Nemam skusenosti a hlavne kontakty, portfolio ... Bez ohladu na osobnostne predpoklady (a tie zohravaju v zalozeni firmy velmi podstatnu ulohu) nemam na zalozenie firmy momentalne vedomosti a ani schopnosti. Bodka.
Zamestnat sa ako zivnostnik / freelancer. Hm. Tiez nic moc. Tu by sa snad nieco uz robit dalo, web developer, motat sa okolo Java ekosystemu a patlat nejake weby ... Toto obsahuje viacero “ale”. Ako prvy problem je najst si zakazky. Dalej to vyzaduje podla mojho nazoru velmi velku sebadisciplinu, pretoze freelancer pracuje typicky doma a oddelit pracu od volnocasovych aktivit ci rodiny alebo sa dokazat prinutit pracovat “od do” by sa mi vela krat nedarilo. Na to sa poznam dost dobre.
Zamestnat sa vo firme. Pred par mesiacmi som sa zamestnal v jednej velkej IT korporacii. Pracuje sa v open space-i, studujem a teda to mam na polovicny uvazok, dostal som notebook, firemna atmosfera celkom ok. Co ma ale neskutocne hneva je akasi pracovna anonymita. Robim nieco, k comu nemam absolutne vztah. Nezalezi mi na tom, ako a ako kvalitne nieco naprogramujem alebo spravim. Som frustrovany z toho, ze robim nieco, za co ma v konecnom dosledku nikto nepochvali a neoceni to. Som len male kolecko v obrovskej masinerii na ktorom vlastne ani nezalezi. Mam pocit, ze v tej praci jednoducho zabijam cas (a kazdemu to je jedno).
Ja som si to takto teda nepredstavoval. Neviem ... tento prispevok moze vyzerat, ze som sa zobudil az teraz, ale ved si to preberte. Informatika je strasne cudna profesia. Ked to zjednodusim, nie je to ako byt lekarom, pravnikom, ci pekarom. Kazdy robi viac menej stale to iste, ma viac ci menej presne stanoveny pracovny cas a pracovnu napln. Vie kolko penazi za co dostane. Informatici? Kazdy rok sa musite doslova naucit novu technologiu, novy programovaci jazyk, novy framework, novu metodiku prace. Pracujete nadcasy, po vikendoch, v noci, pracu si tahate casto domov. Pracujete skoro stale. Mentalne to je strasne narocne. Nemate cas na rodinu, ak nepracujete v korporacii ale ako freelancer ci sam na seba vo firme, aj financne to nemusi byt vzdy ruzove a mate stresy z toho, ci budete mat co jest. No fuj ...
Takze, neviem co chcem. Akymkolvek smerom sa pozriem, nic prijemne ma tam necaka. Bud makat na seba a mat z toho stresy a “no life” alebo v korporacii kde znamenate prd ale mate istotu (najma tu financnu).
V poslednom case si hromadim knizky (skorej pdf) ktore si treba precitat aby som bol “up-to-date” ale pribudaju rychlejsie ako ich stiham citat. Informatika je taka brutalne komplexna veda ze nemozete nikdy obsiahnut vsetko a treba si vybrat nieco uzko specializovane a byt v tom dobry. Ale zasa vas to velmi determinuje ako pracovnu silu a tazsie si hladate pracu. (alebo naopak? ste viac ceneni?)
Pokusil som sa teda opat si spravit v hlave rebricek “technologii” a moznych smerov kam by sa dalo uberat.
1. naucit sa na dost dobrej urovni C. Programovat nizkourovnove veci, embedded systems, systemove utility ...
2. administrovat unix-like os, spravit si certifikaty
3. naucit sa Javu EE (a vsetko okolo co si predstavite)
4. Zamerat sa na nieco kompletne nove a spravit s tym dieru do sveta. Napr. nejaky programovaci jazyk, ktory nie je taky mainstream ale u ktoreho sa da predpokladat ze nim bude za par rokov. Tym padom mate na trhu “naskok”. (napr. funkcionalne programovanie, haskell, erlang, scala). Toto ale zozerie dost casu a da sa tomu venovat aj popri praci, kym sa “neodlepite”.
Studovat ale nove veci popri praci ale vobec nie je jednoduche. Vzdy ked pridem z prace, s tym, ze si skusim precitat nieco co ma zaujima, nemam na to proste chut. Som z toho unaveny stale nieco “tlacit” do hlavy. Pocitac mi berie takmer vsetok volny cas a vysledky akosi nevidim. Neviem, mozno sa snazim naucit vela veci naraz a jednoducho to nejde. Na druhej strane mam pocit, ze neviem nic. (pretoze tych veci je tak vela). Dalej mam pocit, ze v IT je obrovska konkurencia. Prerazit s nejakym novym napadom je takmer nemozne (no i tak sa to niekomu raz podari). Cokolvek si zmyslite, niekto to uz spravil alebo nad tym uz minimalne rozmyslal tiez a mate X ludi co si na to brusia zuby a su daleko pred vami ...
Cital som ohladom tohoto problemu par clankov a spomenul sa tam zaujimavy nazor - najlepsie je neprogramovat vobec nic a v nicom. Pretoze vsetci programatori si myslia, ze ich praca je jednoducho programovat. Ale to nie je pravda, ich praca je riesit problemy - aj pomocou programovania. Mne sa zda, ze IT sa mota stale na jednom mieste. Vsetky frameworky a nastroje sa tzv. “nabaluju”. Ich cielom je “obalit” funkcionalitu nejakeho nastroja, s tym, ze sa bude jednoduchsie pouzivat. Potom sa dorobi nadstavba na ten obalovaci nastroj. Potom sa testuju tie obalovacie nastroje na ktore dorobime nastroje ktore ich testuju pohodlnejsie ... atd atd atd. Napr. ak ste mali pred X rokmi len C a Makefile a debugger, teraz mate Javu, komplexne IDE s ktorym sa zoznamujete tyzdne, Maven, 305 framworkov ... A kde su vysledky? Spravilo nas to stastnejsimi? Produktivnejsimi? Mozno, ale aj tak mam pocit, ze riesime dokolecka uz raz vyriesene.