Hlavná Technológie Ako spoznať rozdiel medzi dobrým programátorom a skvelým programátorom

Ako spoznať rozdiel medzi dobrým programátorom a skvelým programátorom

Keby písanie kódu bolo vedou, všetci vývojári by boli skoro rovnakí.

Rovnako ako v umení, ani jeden vývojár nemá rovnaké myslenie, vnímanie alebo subjektívnu pravdu pri písaní kódu s rovnakým výsledkom.

Aj keď sa niektorí snažia dosiahnuť požadovaný výsledok, k niekoľkým, prichádza to úplne prirodzene, akoby ich zjavenie zasiahlo v okamihu, keď sedia pri vytváraní programov alebo riešení problému.



V príspevok v blogu Steve McConnell (uvádzaný ako expert na softvérové ​​inžinierstvo) píše, že pôvodnú štúdiu, ktorá zistila veľké rozdiely v produktivite programovania jednotlivcov, uskutočnili koncom 60. rokov Sackman, Erikson a Grant. Zistili, že pomer počiatočného času kódovania medzi najlepším a najhorším programátorom bol asi 20 ku 1. Nezistili žiadny vzťah medzi množstvom skúseností programátora a kvalitou alebo produktivitou kódu.

Aj keď v tejto štúdii boli nedostatky, aj po ich zohľadnení údaje stále ukazujú viac ako desaťnásobný rozdiel medzi najlepšími programátormi a najhoršími.

robert valletta čistá hodnota 2017

V spoločnosti Arkenea máme viac ako päť rokov skúseností s prijímaním vývojárov a je tak náročné, ako to bolo v predchádzajúcich dňoch, povedať skvelému programátorovi od dobrého.

Nie je to jedinečná výzva. Videli sme, že veľa veľkých podnikov a spoločností z rôznych priemyselných odvetví bojuje s rovnakým problémom. Mnohé z nich vytvorili proces filtrovania pomocou rôznych testov, ale môžete skutočne vyskúšať umelca?

Priama odpoveď je nie.

Napísanie dobrého kódu jednoducho nie je jediným faktorom pri posudzovaní, či je programátor skvelým zdrojom.

Ale existuje spôsob. Existuje niekoľko ďalších indikátorov (okrem kvality písania kódu), ktoré oddeľujú skvelých programátorov od dobrých.

Christopher Burke, v reakcii na Quora , zdôraznil, že programátorom je každý, kto môže písať pracovné programy na riešenie problémov. Dobrý programátor je na druhej strane ten, kto spolupracuje s ostatnými na vytváraní udržiavateľných, elegantných programov vhodných na použitie zákazníkom, včas a s nízkou mierou defektov, s malou alebo žiadnou medziľudskou drámou.

Ale to, čo robí skvelého programátora, je ten, kto intuitívne rozumie algoritmom a architektúram, dokáže vytvárať sebestačné veľké systémy s malým dohľadom, dokáže vymýšľať nové algoritmy, dokáže refaktorovať živé systémy bez toho, aby ich porušil, dokáže efektívne a cogentne komunikovať s netechnickým personálom na technických a netechnické problémy, rozumie tomu, ako udržať svoje ego na uzde, a dokáže svoje schopnosti naučiť ostatných.

Podľa mojich skúseností by som však jeho definíciu programátora stotožnil s definíciou dobrého programátora a jeho definíciu dobrého programátora s definíciou skvelého.

Niekto, koho Christopher nazýva skvelým programátorom, by som povedal, že by nemusel nevyhnutne písať kód, keď dosiahne túto etapu svojej kariéry. Osoba by strategickejšie spolupracovala s firmami a ich vývojovými tímami na smerovaní produktov - v podstate niekto ako CTO.

Ochota zostať pri probléme, kým sa nevyrieši (nezamieňať za sedenie pri probléme), spojená so schopnosťou kreatívne ho vyriešiť, je veľmi žiadanou zručnosťou alebo schopnosťou, ktorú nájdu iba vynikajúci programátori.

madison keys tenista životopis

Takže podstatná otázka, ako spoznáte skvelého programátora? Táto osoba bude schopná rýchlo prísť na koreň vášho problému. Nemusí okamžite poskytnúť riešenie, ale môže si rýchlo a efektívne naplánovať cestu k dosiahnutiu riešenia.