Pangunahin Teknolohiya Paano Masasabi ang Pagkakaiba sa Pagitan ng Magaling na Programmer at isang Mahusay

Paano Masasabi ang Pagkakaiba sa Pagitan ng Magaling na Programmer at isang Mahusay

Ang Iyong Horoscope Para Bukas

Kung ang pagsulat ng code ay isang agham, lahat ng mga developer ay halos magiging pareho.

Tulad ng sa sining, walang dalawang developer na may parehong pag-iisip o pang-unawa o ang paksa na katotohanan habang nagsusulat ng code para sa parehong kinalabasan.

Habang ang ilan ay nakikipagpunyagi upang makabuo ng nais na kinalabasan, sa iilan, halos natural itong dumating, na para bang tinamaan sila ng isang epiphany sa sandaling umupo sila upang lumikha ng mga programa o malutas ang isang problema.

Sa isang post sa blog , Si Steve McConnell (binanggit bilang dalubhasa sa software engineering) ay nagsulat na ang orihinal na pag-aaral na natagpuan ang malaking pagkakaiba-iba sa indibidwal na pagiging produktibo ng programa ay isinagawa noong huling bahagi ng 1960 nina Sackman, Erikson, at Grant. Nalaman nila na ang ratio ng paunang oras ng pag-coding sa pagitan ng pinakamahusay at pinakapangit na programmer ay tungkol sa 20 hanggang 1. Wala silang nahanap na ugnayan sa pagitan ng dami ng karanasan ng isang programmer at kalidad ng code o pagiging produktibo.

Habang may mga pagkukulang sa pag-aaral na ito, kahit na pagkatapos ng accounting para sa kanila, ang data ay nagpapakita pa rin ng higit sa isang 10-tiklop na pagkakaiba sa pagitan ng pinakamahusay na mga programmer at ang pinakapangit.

Sa Arkenea, mayroon kaming higit sa limang taon na karanasan sa pagkuha ng mga developer, at ito ay kasing hamon tulad ng sa mga naunang araw upang sabihin sa isang mahusay na programmer mula sa isang mahusay.

Hindi ito isang natatanging hamon. Nakita namin ang maraming malalaking negosyo at kumpanya sa buong industriya na nakikipagpunyagi sa parehong isyu. Marami ang lumikha ng isang proseso ng pag-filter sa pamamagitan ng iba't ibang mga pagsubok, ngunit maaari mo bang subukan ang isang artista?

Ang tuwid na sagot ay hindi.

Ang pagsulat lamang ng mahusay na code ay hindi lamang ang kadahilanan kapag hinuhusgahan kung ang programmer ay isang mahusay na mapagkukunan.

Ngunit may isang paraan. Mayroong ilang iba pang mga tagapagpahiwatig (bukod sa kalidad ng pagsulat ng code) na naghihiwalay sa mahusay na mga programmer mula sa mabubuti.

Christopher Burke, sa isang tugon sa Quora , naka-highlight na ang sinumang maaaring sumulat ng mga nagtatrabaho na programa upang malutas ang mga problema ay isang programmer. Ang isang mahusay na programmer, sa kabilang banda, ay isang nakikipagtulungan sa iba upang lumikha ng mapanatili, matikas na mga programa na angkop para magamit ng kostumer, sa oras at may mababang mga rate ng depekto, na may kaunti o walang interpersonal na drama.

Ngunit kung ano ang gumagawa para sa isang mahusay na programmer ay ang isang nakakaunawa ng mga algorithm at arkitektura nang intuitive, maaaring bumuo ng self-pare-pareho na malalaking mga sistema na may maliit na pangangasiwa, maaaring mag-imbento ng mga bagong algorithm, maaaring refactor live na mga system nang hindi sinira ang mga ito, maaaring makipag-usap nang epektibo at cogently sa nontechnical staff sa teknikal at mga nontechnical na isyu, naiintindihan kung paano mapanatili ang kanyang kaakuhan na naka-check, at maaaring magturo ng kanyang mga kasanayan sa iba.

Gayunpaman, sa aking karanasan, aking ipatulad ang kanyang kahulugan ng isang programmer sa isang mahusay na programmer at ang kanyang kahulugan ng isang mahusay na programmer na may isang mahusay.

Ang isang taong tumawag kay Christopher isang mahusay na programmer, sasabihin ko, ay hindi kinakailangang sumulat ng code sa pag-abot sa yugtong ito ng kanyang karera. Ang tao ay nagtatrabaho nang mas madiskarte sa mga kumpanya at kanilang mga koponan sa pag-unlad upang magbigay ng mga direksyon sa produkto - mahalagang isang tao tulad ng isang CTO.

Ang pagpayag na manatili sa isang problema hanggang sa malutas ito (hindi malito sa pag-upo sa isang problema), kaakibat ng kakayahang malikhaing malutas ito, ay isang hinahangad na kasanayan o kakayahan na matatagpuan lamang sa magagaling na programmer.

Kaya ang tanong na quintessential, paano mo makikilala ang isang mahusay na programmer? Ang taong ito ay makakakuha ng mabilis sa ugat ng iyong problema. Hindi siya maaaring agad na magbigay ng isang solusyon ngunit maaaring mag-tsart ng isang landas patungo sa mabilis at mabisang solusyon.