Glavni Tehnologija Kako ugotoviti razliko med dobrim programerjem in odličnim

Kako ugotoviti razliko med dobrim programerjem in odličnim

Vaš Horoskop Za Jutri

Če bi bilo pisanje kode znanost, bi bili vsi razvijalci v bistvu enaki.

Tako kot v umetnosti tudi pri razvijalcih ni enakega razmišljanja ali dojemanja ali subjektivne resnice pri pisanju kode za isti rezultat.

Medtem ko se nekateri trudijo doseči želeni rezultat, se le redkim zgodi skoraj naravno, kot da jih v trenutku, ko sedijo za ustvarjanje programov ali reševanje problema, prizadene epifanija.

V objava v spletnem dnevniku , Steve McConnell (naveden kot strokovnjak za programsko inženirstvo) piše, da so prvotno študijo, ki je ugotovila velike razlike v individualni programski produktivnosti, v poznih šestdesetih izvedli Sackman, Erikson in Grant. Ugotovili so, da je razmerje med začetnim časom kodiranja med najboljšimi in najslabšimi programerji približno 20 proti 1. Niso ugotovili povezave med količino izkušenj programerja in kakovostjo kode ali produktivnostjo.

Čeprav je bila v tej študiji pomanjkljivosti, tudi po njihovem obračunu podatki še vedno kažejo več kot 10-kratno razliko med najboljšimi programerji in najslabšimi.

kako visok je paul goodloe

V podjetju Arkenea imamo več kot pet let izkušenj z najemanjem razvijalcev in prav tako zahtevno je bilo, kot v prejšnjih dneh, da odličnega programerja ločimo od dobrega.

To ni enkraten izziv. Videli smo, da se številna velika podjetja in podjetja iz različnih panog borijo z isto težavo. Mnogi so s pomočjo različnih testov ustvarili postopek filtriranja, toda ali res lahko preizkusite umetnika?

Neposreden odgovor je ne.

Pisanje dobre kode preprosto ni edini dejavnik pri presoji, ali je programer odličen vir.

Ampak obstaja pot. Obstajajo še nekateri drugi kazalniki (poleg kakovosti pisanja kode), ki odlične programerje ločujejo od dobrih.

Christopher Burke v odgovoru na Quora , poudaril, da je kdorkoli, ki lahko piše delovne programe za reševanje problemov, programer. Dober programer pa je tisti, ki sodeluje z drugimi, da ustvari vzdržne, elegantne programe, primerne za uporabo s strani kupca, pravočasno in z nizko stopnjo napak, z malo ali nič medosebne drame.

Toda za odličnega programerja je tisto, ki intuitivno razume algoritme in arhitekture, zna z majhnim nadzorom zgraditi samoskladne velike sisteme, lahko izumi nove algoritme, lahko preoblikuje žive sisteme, ne da bi jih prekinil, lahko učinkovito in skrbno komunicira z netehničnim osebjem na tehničnem področju in netehnična vprašanja, razume, kako obdržati svoj ego, in lahko svoje sposobnosti nauči druge.

Po mojih izkušnjah pa bi njegovo definicijo programerja enačil z definicijo dobrega programerja in njegovo definicijo dobrega programerja z definicijo velikega.

Nekdo, ki ga Christopher imenuje odličnega programerja, bi rekel, da ne bi nujno pisal kode, ko doseže to stopnjo svoje kariere. Oseba bi bolj strateško sodelovala s podjetji in njihovimi razvojnimi skupinami, da bi usmerjala izdelke - v bistvu nekdo, kot je tehnični direktor.

Pripravljenost, da ostanete s problemom, dokler ni rešen (ne smemo ga zamenjati s sedenjem na problemu), skupaj s sposobnostjo kreativnega reševanja, je zelo zaželena spretnost ali sposobnost, ki jo najdemo le pri velikih programerjih.

martha firestone ford družinsko drevo

Torej bistveno vprašanje, kako prepoznati odličnega programerja? Ta oseba bo lahko hitro prišla do korena vaše težave. Morda ne bo takoj ponudil rešitve, lahko pa začrta pot do hitre in učinkovite rešitve.