ako znas principe programiranja onda ti je sve jedno dali radis adu, c++, asmbler, perl..ili nesto sasvim deseto, (izuzetci su ovi sto pohadaju razne kurseve programiranja).
Sto?
To ti je kao ona izreka "naučio si Slack, naučio si linux)". Taj koji ode na kurs za C#, naučiće C#, ali će mu to manje pomoći da nauči neki drugi jezik. Ko nauči principe programiranja, on onda samo posle treba da vidi kako se ti principi ostvaruju u konkretnom jeziku. Ja sam npr. samostalno u firmi naučio jezik koji koristimo, bez veće muke, jer imamo dosta dobar Reference Manual, dok su programerke koje su radile pre mene išle na obuku, a neke i pored toga nisu ništa naučile.
Osim toga, bitno je da naučiš da razmišljaš, jer samo tako možeš da se snađeš u novim situacijama. Takođe, vrlo je bitna i kreativnost. Programer u kreativnom procesu će stvoriti kvalitetniji program, a sam rad će mu pružiti više zadovoljstva.
Programiranje može biti zanat, i za mnoge to jeste, ali čisto sumnjam da oni mogu na pravi način taj posao da zavole, i da u njemu uživaju. A takmičenja su vrlo bitna, jer se na taj način vežba sposobnost mišljenja koje je vrlo bitno.
Da se razumemo, kad kežem da je bitno teoretsko znanje, ne mislim nabubati ispit koji se zove "Principi programiranja", jer takvo znanje nije pravo znanje, ono ne proizvodi sposobnost mišljenja, a još manje kreativnog mišljenja. Osim toga, bitno je naravno i naučiti i konkretan jezik i steći neko iskustvo.
umetnost i od nje napravili zanat (a i dalje prave). Formalizovati proces, u 99% slucajeva
znaci ubiti kreativnost, a povecati produktivnost.
E ovo je vrlo bitna rečenica i zaslužuje posebnu pažnju. Potpuno je tačno da savremena organizacija rada uništava kreativnost, ali treba imati u vidu da nije svako kreativan. A takvih je 90%. I da bi iskoristili tih 90%, oni su smislili sistem koji njima odgovara. I eto problema za onih najkvalitetnijih 10%. To je veliki problem, ali se može rešiti, ali je potrebno da mu rukovodioci pridaju dovoljan značaj.