Põhiline Tehnoloogia Kuidas teha vahet hea programmeerija ja suurepärase vahel

Kuidas teha vahet hea programmeerija ja suurepärase vahel

Teie Homseks Horoskoop

Kui koodi kirjutamine oleks teadus, oleksid kõik arendajad üsna ühesugused.

Nii nagu kunstis, pole ühelgi arendajal sama tulemuse jaoks koodi kirjutamise ajal ühesugune mõtlemine või taju või subjektiivne tõde.

Kuigi mõned võitlevad soovitud tulemuse saavutamise nimel, jõuab see vähesteni peaaegu loomulikult, justkui tabaks neid kolmekuningapäev hetkel, kui nad istuvad programmide loomiseks või probleemi lahendamiseks.

Sees blogipostitus , Steve McConnell (viidatud tarkvaratehnika eksperdina) kirjutab, et algse uuringu, milles leiti individuaalse programmeerimise tootlikkuses suuri erinevusi, viisid 1960. aastate lõpus läbi Sackman, Erikson ja Grant. Nad leidsid, et algse kodeerimisaja suhe parimate ja halvimate programmeerijate vahel oli umbes 20: 1. Nad ei leidnud mingit seost programmeerija kogemuste hulga ja koodi kvaliteedi või tootlikkuse vahel.

Kuigi selles uuringus oli vigu, näitavad andmed isegi pärast nende arvestamist enam kui kümnekordset erinevust parimate ja halvimate programmeerijate vahel.

Robert Valletta netoväärtus 2017

Arkeneas on meil arendajate palkamise kogemus üle viie aasta ja on sama keeruline kui varasematel päevadel öelda suurepärasele programmeerijale heast.

See pole ainulaadne väljakutse. Oleme näinud, et paljud suured ettevõtted ja ettevõtted kõikides tööstusharudes võitlevad sama probleemiga. Paljud on loonud filtreerimisprotsessi erinevate testide abil, kuid kas saate tõesti kunstnikku testida?

Otsene vastus on eitav.

Hea koodi kirjutamine pole lihtsalt ainus tegur, otsustades, kas programmeerija on suurepärane ressurss.

Kuid on ka viis. On veel mõned näitajad (peale koodikirjutamise kvaliteedi), mis eraldavad suurepäraseid programmeerijaid headest.

Christopher Burke, vastusena Quora , rõhutas, et kõik, kes oskavad probleemide lahendamiseks kirjutada töötavaid programme, on programmeerija. Hea programmeerija on aga see, kes teeb teistega koostööd, et luua hooldatavad ja elegantsed programmid, mis sobivad kliendi jaoks õigeaegselt ja madala defektimääraga ning inimestevahelise draamaga vähe või üldse mitte.

Kuid suurepärase programmeerija jaoks on see, kes mõistab algoritme ja arhitektuure intuitiivselt, suudab vähese järelevalve all ehitada enesekindlaid suuri süsteeme, suudab leiutada uusi algoritme, suudab refaktoreerida pinges olevaid süsteeme neid rikkumata, suudab tõhusalt ja veendunult suhelda tehniliste töötajatega tehnilise ja tehnilised probleemid, saab aru, kuidas oma ego vaos hoida, ning oskab oma oskusi teistele õpetada.

Oma kogemuste põhjal võrdsustaksin siiski tema programmeerija definitsiooni hea programmeerija ja tema hea programmeerija definitsiooni suurepärase programmeerija määratlusega.

Keegi, keda Christopher nimetab suureks programmeerijaks, ma ütleksin, et ta ei kirjutaks oma karjääri sellesse etappi jõudes tingimata koodi. Isik töötaks strateegilisemalt ettevõtete ja nende arendusmeeskondadega, et anda toote juhiseid - sisuliselt keegi nagu CTO.

Valmisolek jääda probleemini seni, kuni see on lahendatud (mitte segi ajada probleemi peal istumisega) koos võimega seda loominguliselt lahendada, on väga soovitud oskus või sobivus, mida leidub ainult suurepärastes programmeerijates.

kui pikk on Adam Rodriguez

Nii et põhiline küsimus, kuidas saate tuvastada suurepärase programmeerija? See inimene saab kiiresti teie probleemi juureni jõuda. Ta ei pruugi lahendust koheselt pakkuda, kuid suudab välja tuua tee, kuidas lahenduseni kiiresti ja tõhusalt jõuda.