Na forumu DPT postavljeno je pitanje jako zahvalno za davanje odgovora na blogu :) :

Hajde definišite mi šta je to početnik, prosečni, i dobar programer (godine iskustva? projekti koje je radio? koje oblasti treba da poznaje? da li je klasično obrazovanje uslov? … itd.).

Evo mog gledišta:

Početnik: Nešto radio kod kuće ili za komšiju, obično je sve što je radio prilično lošeg kvaliteta (naravno, on to sad ne zna), tek se upoznaje sa osnovnim pojmovima. Ako ima teoretsko znanje, još uvek ne može jasno da vidi vezu tog što je učio iz knjige (na faksu npr) sa tim što se trudi da napravi. Trudi se da uđe u softversku firmu makar kao volonter. Treba da se trudi da mu programi koje radi za sebe prorade i da upadne u što bolju firmu gde će imati prilike da uči.

Prosečni: Ima određeno vreme iza sebe provedeno u realnim radnim uslovima. Sposoban da završi većinu zadataka koji se pojavljuju. Neke teoretske pojmove je povezao sa praksom, ali se nije trudio da pohvata one koji mu nisu neposredno trebali. Trudi se da odradi posao što brže ali ne i što bolje. Ne razmišlja dugoročno, zabušava na arhitekturi i na komentarima. Nema nikakva interesovanja u branši van svakodnevnih poslova. Dobar deo programera ostane prosečan cele karijere i to im ne smeta, niti smeta firmama u kojima rade. Uz dobrog šefa kod koji ostaje ne mora uopšte biti loš.

Dobar: Trudi se da svoje radno iskustvo iskoristi za napredovanje. Ima tendenciju da piše kod ispočetka. Ne mrzi ga da čita i isprobava u oblastima van neposrednog polja rada. Vremenom stiče veštinu da vrlo brzo primeti greške u kodu, nameće dobra arhitekturna rešenja.

Poznata je činjenica da u softverskoj industriji nije retka pojava čak reda veličine razlike u produktivnosti između pojedinaca, odnosno jedni su deset puta produktivniji od drugih. To je po mom mišljenju upravo ta razlika između dobrih i prosečnih.