Glavni Tehnologija Kako razlikovati dobrog programera od velikog

Kako razlikovati dobrog programera od velikog

Vaš Horoskop Za Sutra

Da je pisanje koda znanost, svi programeri bili bi gotovo isti.

Baš kao i u umjetnosti, ne postoje dva programera koja imaju isto mišljenje ili percepciju ili subjektivnu istinu dok pišu kod za isti ishod.

Iako se neki trude postići željeni ishod, nekolicini to dolazi gotovo prirodno, kao da ih epifanija pogodi u trenutku kad sjede za stvaranje programa ili rješavanje problema.

U post na blogu , Steve McConnell (citiran kao stručnjak za softverski inženjering) piše da su izvornu studiju koja je pronašla velike razlike u individualnoj produktivnosti programiranja proveli krajem 1960-ih Sackman, Erikson i Grant. Otkrili su da je omjer početnog vremena kodiranja između najboljeg i najgoreg programera bio oko 20 prema 1. Nisu pronašli nikakvu vezu između iskustva programera i kvalitete koda ili produktivnosti.

Iako je u ovoj studiji bilo nedostataka, čak i nakon što su ih uzeli u obzir, podaci i dalje pokazuju više od deset puta veću razliku između najboljih i najgorih programera.

Neto vrijednost roberta vallette 2017

U Arkenei imamo više od pet godina iskustva s unajmljivanjem programera, a izazov je kao i ranijih dana prepoznati velikog programera od dobrog.

To nije jedinstveni izazov. Vidjeli smo da se mnoga velika poduzeća i tvrtke iz različitih industrija bore s istim problemom. Mnogi su stvorili postupak filtriranja pomoću različitih testova, ali možete li stvarno testirati umjetnika?

Izravan je odgovor negativan.

Pisanje dobrog koda jednostavno nije jedini čimbenik pri prosuđivanju je li programer izvrstan resurs.

Ali postoji način. Postoje i neki drugi pokazatelji (osim kvalitete pisanja koda) koji izvrsne programere odvajaju od dobrih.

Christopher Burke, u odgovoru na Quora , istaknuo je da je onaj tko može pisati radne programe za rješavanje problema programer. Dobar je programer, s druge strane, onaj koji surađuje s drugima kako bi stvorio održive, elegantne programe prikladne za upotrebu od strane kupca, na vrijeme i s niskim stopama kvarova, s malo ili nimalo međuljudske drame.

Ali ono što izvrsnog programera čini je onaj koji intuitivno razumije algoritme i arhitekture, može izgraditi samokonsistentne velike sustave s malim nadzorom, može izumiti nove algoritme, može refaktorizirati žive sustave bez njihovog razbijanja, može učinkovito i kognitivno komunicirati s netehničkim osobljem na tehničkom i netehnička pitanja, razumije kako držati svoj ego pod kontrolom i svoje vještine može podučavati druge.

Prema mom iskustvu, njegovu bih definiciju programera izjednačio s definicijom dobrog programera, a njegovu definiciju dobrog programera s definicijom velikog.

Netko koga Christopher naziva izvrsnim programerom, rekao bih, ne bi nužno napisao kod nakon dostizanja ove faze svoje karijere. Osoba bi strateški više surađivala s tvrtkama i njihovim razvojnim timovima kako bi dala upute o proizvodima - u biti netko poput CTO-a.

Spremnost da ostanete s problemom dok se ne riješi (ne treba ga miješati sa sjedanjem na problemu), zajedno sa sposobnošću kreativnog rješavanja, vrlo je željena vještina ili sposobnost koja se može naći samo kod velikih programera.

koliko je visok keegan allen

Dakle, suštinsko pitanje, kako prepoznati izvrsnog programera? Ta će osoba moći brzo doći do korijena vašeg problema. On ili ona možda neće odmah pružiti rješenje, ali može zacrtati put do brzog i učinkovitog rješenja.