Stariji programeri - ima li mjesta za njih u modernom IT svijetu

Stariji programeri - ima li mjesta za njih u modernom IT svijetu

Programeri  veterani u novom IT svijetu

Odavno je poznata činjenica da starijim glumcima ne ide baš dobro u Hollywoodu. Ako iza sebe nemaju barem jedan serijal vrlo uspješnih filmova (najbolje akcijskih) na temelju kojih mogu snimiti novi nastavak, ili ih Sylvester Stallone ne može uključiti u svoj serijal za starije zvijezde (The Expendables), nema baš puno nade za dobivanje novih uloga. Eventualno u nekom umjetnički orijentiranom naslovu. Vjerovali ili ne, pogotovo ako do sada o tome niste baš previše razmišljali, još gora situacija vlada u IT industriji. Pogotovo u programerskoj branši. Dovoljno je biti prisutan na jednom meetupu (kakvih u zadnje vrijeme ima dosta i u Zagrebu) i uvjeriti se kako je tu zbilja teško pronaći sijede dame i gospodu koji bi sebe nazivali programerima.

Ako želimo posegnuti za nešto preciznijim podacima da je to doista tako, možemo pogledati rezultate ankete provedene na dobro poznatoj web adresi Stack Overflow. Prema spomenutom istraživanju, prosječna starost programera u SAD-u je 31,6 godina (što također nije puno), ali je i to dosta više nego, na primjer, u Indiji. Tamo je prosječna starost programera svega 25 godina!
Zašto je to tako, te ima li u današnjem IT svijetu mjesta za starije dame i gospodu programere, pokušat ćemo razjasniti u tekstu kojeg upravo čitate.

 

programeriVeteraniChart1

Prosječna starost programera u nekim zemljama prema izvoru na web adresi https://developerpitstop.com/understanding-the-software-engineer-age-limit/

 

Legacy sustavi

U isto vrijeme, iako to možda nije poznato ekipi koja se skuplja na ranije spomenutim meetup skupovima, u svijetu postoji veliki broj IT sustava koji se koriste po principu „ne diraj dok se nije pokvarilo“. Riječ je o takozvanim legacy sustavima razvijenima u nekim od starijih programskih jezika prije poprilično godina. Ponekad čak i prije više desetljeća! Budući da je najčešće riječ o sustavima čiji su originalni programeri sada već u mirovini (ili nešto još gore), zapravo ih nema tko održavati. Mlađi programeri ne da ne poznaju takve sustave, nego u pravilu ne poznaju niti razvojne alate korištene za njihov razvoj. Ako pripadate skupini mlađih programera, pogledajte sljedeći primjer programskog koda te budite pošteni i priznajte jeste li do sada bili u prilici u vlastitoj praksi vidjeti nešto slično:

      ****************************************************************
      **           I D          D I V I S I O N                    ***
      ****************************************************************
       Identification Division.
       Program-id.    AWIXMP.
      ****************************************************************
      **           D A T A      D I V I S I O N                    ***
      ****************************************************************
       Data Division.
       Working-Storage Section.
      ****************************************************************
      **  Declarations for the local date/time service.
      ****************************************************************
       01   Feedback.
       COPY CEEIGZCT
        02   Fb-severity      PIC 9(4) Binary.
        02   Fb-detail        PIC X(10).
       77   Dest-output       PIC S9(9) Binary.
       77   Lildate           PIC S9(9) Binary.
       77   Lilsecs           COMP-2.
       77   Greg              PIC X(17).
      ****************************************************************
      **  Declarations for messages and pattern for date formatting.
      ****************************************************************
       01   Pattern.
        02                    PIC 9(4) Binary Value 45.
        02                    PIC X(45) Value
            “Today is Wwwwwwwwwwwwz, Mmmmmmmmmmz ZD, YYYY.”.

       77   Start-Msg         PIC X(80) Value
            “Callable Service example starting.”.

       77   Ending-Msg        PIC X(80) Value
            “Callable Service example ending.”.

       01 Msg.
         02 Stringlen         PIC S9(4) Binary.
         02 Str               .
          03                  PIC X Occurs 1 to 80 times
                                     Depending on Stringlen.
      ****************************************************************
      **           P R O C      D I V I S I O N                    ***
      ****************************************************************
       Procedure Division.
       000-Main-Logic.
           Perform 100-Say-Hello.
           Perform 200-Get-Date.
           Perform 300-Say-Goodbye.
           Stop Run.
      **
      ** Setup initial values and say we are starting.
      **
       100-Say-Hello.
           Move 80 to Stringlen.
           Move 02 to Dest-output.
           Move Start-Msg to Str.
           CALL “CEEMOUT” Using Msg   Dest-output Feedback.
           Move Spaces to Str.        CALL “CEEMOUT” Using Msg Dest-output Feedback.
      **
      ** Get the local date and time and display it.
      **
       200-Get-Date.
           CALL “CEELOCT” Using Lildate Lilsecs     Greg      Feedback.
           CALL “CEEDATE” Using Lildate Pattern     Str       Feedback.
           CALL “CEEMOUT” Using Msg     Dest-output Feedback.
           Move Spaces to Str.
           CALL “CEEMOUT” Using Msg     Dest-output Feedback.
      **
      ** Say Goodbye.
      **
       300-Say-Goodbye.
           Move Ending-Msg to Str.
           CALL “CEEMOUT” Using Msg     Dest-output Feedback.
       End program AWIXMP.

Ako niste, onda ćemo vam otkriti da je riječ o dobrom starom programskom jeziku COBOL. Ovaj programski jezik dizajniran je, sada već zbilja daleke, 1959. godine za razvoj poslovno orijentiranih IT sustava. Upravo u nekom njegovom dijalektu izrađena je velika većina legacy sustava diljem svijeta. Koliko je COBOL star kao programski jezik, može se vidjeti i po tome što su se na samom početku programi u COBOL-u prvo zapisivali na posebne papirnate obrasce. Tek nakon toga se program unosio u računalo korištenjem bušenih kartica, kao pomoćnog medija za pretvaranje „papirnatog“ programa u oblik razumljiv računalu.

 

programeriVeteraniCobol

U svojim počecima COBOL programi su se pisali na posebnim papirnatim obrascima i tek kasnije unosili u računalo.

 

Iako je teško procijeniti koliko takvih sustava ima u Hrvatskoj (vjerojatno mnogo manje nego u svijetu zbog kasnijeg širenja IT tehnologije), za SAD postoje puno precizniji podaci. I oni su zapravo zastrašujući (izvor: United States Government Accountability Office Report). Prema spomenutom izvoru, popriličan dio korištenih sustava je već punoljetan, a ima čak i sustava starih po pedesetak godina! Bilo bi zbilja zanimljivo napraviti sličnu analizu za Hrvatsku.

 

programeriVeteraniChart2

Starost legacy sustava u SAD-u prema izvoru United States Government Accountability Office Report.

 

Dodatni problem s takvim starim sustavima je u tome što oni nisu predviđeni za nekakav (danas vrlo uobičajen) udaljeni rad. Što je sasvim logično, jer ga u tom trenutku nije ni bilo. Osim toga, niti vlasnici takvih sustava - poput vlade SAD-a i njezinih ustanova - nisu baš previše zainteresirani da im po važnim podacima i sustavima „brlja“ tamo neki programer s druge strane svijeta. Isto tako, nisu ni stariji programeri u četvrtom ili petom desetljeću života (ili još stariji) baš previše zainteresirani da napuste svoje obitelji i presele se na neko drugo mjesto. Bilo da je riječ o preseljenju unutar SAD-a ili dolasku iz neke druge zemlje.
Budući da najčešće nema vremena ni sredstava za potpunu zamjenu takvih sustava novijim, oni se i dalje moraju održavati bar u nekakvoj minimalnoj mjeri zbog zakonskih promjena i slično. Zato predstavljaju pravu „obećanu zemlju“ za starije programere koji dobro poznaju COBOL. I spremni su da po potrebi promijene svoje prebivalište.

Ovdje treba spomenuti kako COBOL nije jedini programski jezik korišten za razvoj zastarjelih sustava. Bili su tu i RPG, Perl, Smalltalk i ostali. Ako vladate nekim od sličnih alata, evo prilike za nastavak karijere kao starijeg programera.

 

Moderni sustavi

A što je s mogućnostima zapošljavanja starijih programera na ostalim područjima? Tamo gdje nema starih sustava koje treba održavati, nego se nešto posve novo radi ispočetka.
Brojna istraživanja o tome na temelju kojih parametara poslodavci biraju i zadržavaju programere pokazala su da, osim samog poznavanja razvojnih alata, želje i mogućnosti za rad u timskom okruženju i slično, dva vrlo važna kriterija predstavljaju:

neprekidna želja za učenjem i upoznavanjem novih alata

fleksibilno radno vrijeme (u praksi to znači da se radi više kad zatreba)

 

Upravo su to dva glavna razloga zbog kojih se stariji programeri teže uklapaju u mlađe timove programera. Tu je samo po sebi razumljivo da stalno treba pratiti nove alate, odnosno nove verzije postojećih alata. Drugi zahtjev je još problematičniji. Stariji programeri obično imaju obitelji, pa im je teže duže ostati na poslu zato što neki projekt kasni, ili ga hitno treba završiti. Vjerojatno čak i ne bi bio toliki problem odraditi neki sat viška, kad se time ne bi narušavale dnevne rutine poput vožnje djece iz škole, na treninge i slično. U većini slučajeva i uz odgovarajuću dozu sreće, starijim programerima je zapravo jednostavnije pronaći neki neprogramerski posao u uredu, školi, odnosno nešto potpuno izvan svoje struke.

Ali što da naprave programeri koji baš vole programirati i ne bi se nikako htjeli baviti nečim drugim? Dobra je vijest da su tu pandemijska vremena donijela puno toga pozitivnog. Tu se prije svega misli na online način rada.

Ako programeru nije problem odraditi dodatne sate na projektu kojeg treba hitno dovršiti, onda online način rada uz fleksibilnu satnicu omogućava da to doista i napravi, a da se pri tome ne remeti obavljanje svakodnevnih obiteljskih i drugih obaveza. Na ovaj način se u velikoj mjeri može ukloniti prepreka povezana s fleksibilnošću radnog vremena.

Online korištenje računala omogućilo je također svim zainteresiranim kandidatima da  kontinuirano uče na daljinu. Na taj način i stariji programeri, prema svojem vlastitom tempu učenja, mogu stjecati nova znanja i vještine. Ili još bolje, odgovarajuće certifikate koji na globalnoj razini dokazuju da mogu koristiti najnovije tehnologije i razvojne alate. Posjedovanje određenog broja takvih certifikata može svakom poslodavcu pokazati kako još uvijek niste za baciti.

Kako najjednostavnije prikazati takva novostečena znanja potencijalnom poslodavcu? Jedan od najboljih načina je korištenje odgovarajućeg servisa, kao što je https://info.credly.com/. Takav servis garantira da ste stekli i posjedujete određene certifikate, pa se ne morate mučiti da to posebno dokazujete poslodavcu.

 

programeriVeteraniCredly

Web lokacija za prezentaciju vlastitih certifikata potencijalnim poslodavcima https://info.credly.com.

 

Jedan od najjednostavnijih načina za stjecanje novih certifikata iz vlastitog naslonjača je kombinacija polaganja ispita (Pearson VUE) i objave dobivenih certifikata (već spomenuti Credly), jer se u ovom slučaju sve odvija potpuno automatski. Cijene polaganja ispita kreću se od pedesetak dolara naviše, ali se puno certifikata može steći u nekakvoj granici do 100-150 dolara. Što i nije previše, ako se želite nastaviti baviti programiranjem te primati i dalje dobre programerske plaće.

 

Pogled sa stanovišta poslodavca

Probajmo sad cijelu priču pogledati s druge strane, to jest sa stanovišta poslodavca. Pri tome ne mislimo na poslodavce s legacy sustavima, nego baš na poslodavce kojima trebaju programeri za korištenje najnovijih tehnologija na potpuno novom projektu. Može li se u to uklopiti neki „djedica“ koji za sebe tvrdi da dobro programira?

 

programeriVeteranUcenje

Zahvaljujući online učenju stariji programeri mogu stjecati nova znanja i vještine.

 

Odgovor je zapravo prilično jednostavan. Ako vam takav stariji programer može predočiti neki novostečeni certifikat, ili vlastiti projekt kojeg možete pregledati na webu u nekom od spremišta programskog koda (Git, SVN, Mercurial, i slično), onda s velikim stupnjem sigurnosti  možete biti sigurni da prati najnovije tehnologije i trendove. Zašto bi takav programer bio lošiji nego neki početnik? Pogotovo ako početnik nema nikakve certifikate, niti objavljene projekte.

Isto tako, takav programer može u razvojni tim donijeti poprilično iskustva iz prošlosti u rješavanju problema, nepredviđenih situacija, konfliktnih ponašanja unutar tima i slično. Drugim riječima, u svakom većem timu ne bi bilo loše imati i jednog starijeg/iskusnijeg programera.

 

Ocijeni sadržaj
(0 glasova)

// možda će vas zanimati

Newsletter prijava


Kako izgleda naš posljednji newsletter pogledajte na ovom linku.

Copyright © by: VIDI-TO d.o.o. Sva prava pridržana.