Moram da ponovim ovo što je napisao Dimković:
Citat:
Neko ko je dobar sw. inzenjer i dobro barata konceptima nema nikakav problem da se specijalizuje za nesto kasnije.
Moj primer - pred kraj faksa, seo sam i napisao spisak programskih jezika na kojima sam do tada bar nešto isprogramirao, pa je ispao spisak od oko 30 različitih jezika (ne baš potpuno različitih, na primer bilo je bar 7 različitih asemblera, ali asembler za jednu arhitekturu se toliko mnogo razlikuje od asemblera za drugu, da su to praktično različiti programski jezici).
Kada sam se zaposlio, dobio sam zadatak da programiram u programskom jeziku koji do tada nisam nikad radio, PL/SQL-u. Sva moja obuka za to je bila: To ti je jezik sa kontrolnim strukturama kao Ada (učio na faksu, napisao ukupno 2,3 programa) sa dodatim SQL-om (i to učio).
Pre nekoliko meseci sam morao da modifikujem kod koji je pisan u Python-u, kojeg pre nikada nisam video. Posle pola sata sam već mogao da pravim izmene, za 4 sata sam već uveliko programirao, pa kad sam završio, zaboravio sam ga za jedan dan.
Osnovno je da se nauče koncepti programiranja, a ne jezik. Kada znaš koncepte, svaki jezik je malo drugačiji dijalekt koji radi slične stvari na sličan način.
Po meni, razvojni put programera bi bio: prvo C, koji onda otvara vrata za C++, a posle C++ ti je sve jedno da li ćeš da učiš C# Javu ili neki drugi OO jezik. Nezavisno od ovoga, obavezno treba naučiti neki dijalekt SQL-a. Za web razvoj, počneš od golog HTML-a, onda se baciš na CSS, pa JS, posle dođe PHP, Ruby, Python ili (sve ređe) Perl (koji je jedan od najodvratnijih jezika u kojem sam nešto radio). Bitno je da razumeš programersku logiku, algoritme, strukture podataka, baze podataka, a u određenoj meri, u zavisnosti od prirode posla, pomaže i matematika, fizika, ekonomija i sl.