Diferente pentru blog/programator-mediocru-dezvoltator-bun intre reviziile #1 si #5

Diferente intre titluri:

blog/programator-mediocru-dezvoltator-bun
Sunt un programator mediocru, dar un dezvoltator excelent

Diferente intre continut:

*Acest mesaj este cross-posted pe* 'vivi.ro/blog':http://www.vivi.ro/blog/?p=3686
 
Pentru că cineva povestea într-un comentariu despre anumite tehnologii şi cum sunt bune la una sau alta, am simţit nevoia să scriu un articol despre cât de util este să fii expert în anumite tehnologii.
Eu de exemplu consider că sunt mediocru în cunoştinţele mele de limbaje de programare şi cu toate astea mă consider foarte bun la ceea ce fac, ba chiar aş spune că sunt un world-class developer.
*De ce spun că sunt mediocru?*
Ştiu să programez în Java, C++, Python, Ruby, Javascript, Actionscript, PHP, ObjectiveC şi am produs cod de calitate de pus în producţie(*) în aproape fiecare din limbajele astea.
<blockquote>
(*) A pune ceva în producţie înseamnă că ce cod am scris eu a fost lansat către utilizatori. La Google asta înseamnă multe milioane de utilizatori care trec prin codul scris de tine.
</blockquote>
%{color:lightgray}
(*) A pune ceva în producţie înseamnă că ce cod am scris eu a fost lansat către utilizatori. La Google asta înseamnă multe milioane de utilizatori care trec prin codul scris de tine.%
Cu toate astea, ştiu probabil fiecare dintre ele cam la 70-80% din potenţial şi nu sunt guru în nici unul dintre ele (poate cu excepţia Actionscript-ului).
De exemplu, am cunoscut mulţi oameni mult mai deştepţi decât mine care cred că inheritance este ceva evil. Dacă ai o clasă care moşteneşte altă clasă este greu de înţeles exact cum funcţionează codul, e greu de înţeles ce metode sunt suprascrise şi de ce, e greu de făcut debug, e uşor de stricat dacă clasa părinte se schimbă. Dacă inheritance este evil, imaginaţi-vă cum sunt privite alte construcţii mai “puternice”. :-)
*Concluzia?*
Ştiusunt cazuri în care jobul cere  fi super guru într-o anumită tehnologie şi respect asta.
Cred că un programator are două opţiuni generale în carieră: devine guru într-o anumită tehnologie, sau încearcă să fie generalist.
Dar în general cei care se hiper specializează tind să rămâacolo specializaţi, nu sunt generalişti, nu pot învăţa uşor alte limbaje, nu se pot adapta. Nu e rău sau bine să te specializezi, doar că există avantaje şi dezavantaje.
În general cei care se hiper specializează tind să deviblocaţi într-o industrie, nu pot învăţa uşor alte limbaje, se adaptează greu.
Pentru mine este okay să fiu curios despre un anumit limbaj, e foarte important să vreau învăţ şi să înţeleg detalii când dau peste ele, e necesar să înţeleg ceea ce folosesc, dar mie nu mi-a fost niciodată teamă că nu sunt guru în vreo tehnologie.
Pe de altă parte cei care sunt generalişti ca şi mine nu vor putea niciodată să se angajeze pentru optimizare hardcore de compilatoare sau scriere de codec-uri video pentru transmisii live.
Nu am petrecut niciodată nopţi albe încercândfolosesc feature-uri esoterice. Nu am fost niciodată îngrijorat că nu sunt la curent cu cea mai recentă librărie cutting edge.
În ambele situaţii, cel mai important este să faci ce simţi că îţi place. Dacă eşti pasionat de ideea de a dezasambla kernel-ul linuxului, fă-o. Dacă vrei să faci web, fă-o. A face ce îţi place este mai important decât orice altceva.
Tu ce fel de persoană crezi că eşti sau ţi-ai dori să fii?

Diferente intre securitate:

private
protected

Diferente intre topic forum:

 
7396