Hlavní Technologie Jak poznat rozdíl mezi dobrým programátorem a skvělým programátorem

Jak poznat rozdíl mezi dobrým programátorem a skvělým programátorem

Váš Horoskop Pro Zítřek

Pokud by psaní kódu byla věda, všichni vývojáři by byli skoro stejní.

Stejně jako v umění, ani dva vývojáři nemají stejné myšlení nebo vnímání nebo subjektivní pravdu při psaní kódu pro stejný výsledek.

Zatímco někteří se snaží dosáhnout požadovaného výsledku, k několika, přijde to téměř přirozeně, jako by je zjevení zasáhlo v okamžiku, kdy sedí, aby vytvořili programy nebo vyřešili problém.

V příspěvek na blogu „Steve McConnell (citovaný jako odborník na softwarové inženýrství) píše, že původní studii, která zjistila obrovské rozdíly v produktivitě individuálního programování, provedli koncem šedesátých let Sackman, Erikson a Grant. Zjistili, že poměr počáteční doby kódování mezi nejlepšími a nejhoršími programátory byl asi 20 ku 1. Nenašli žádný vztah mezi množstvím zkušeností programátora a kvalitou nebo produktivitou kódu.

I když v této studii byly nedostatky, i po jejich zohlednění data stále ukazují více než desetinásobný rozdíl mezi nejlepšími a nejhoršími programátory.

je Paul teutul sr ženatý

Ve společnosti Arkenea máme více než pět let zkušeností s najímáním vývojářů a je stejně náročné jako v dřívějších dobách říci skvělému programátorovi od dobrého.

Není to jedinečná výzva. Viděli jsme, jak mnoho velkých podniků a společností napříč průmyslovými odvětvími bojuje se stejným problémem. Mnoho z nich vytvořilo proces filtrování pomocí různých testů, ale můžete opravdu otestovat umělce?

Přímá odpověď je ne.

Psaní dobrého kódu jednoduše není jediným faktorem při posuzování, zda je programátor skvělým zdrojem.

Ale existuje způsob. Existuje několik dalších indikátorů (kromě kvality psaní kódu), které oddělují skvělé programátory od dobrých.

Christopher Burke, v reakci na Quora , zdůraznil, že každý, kdo může psát pracovní programy pro řešení problémů, je programátor. Dobrý programátor je na druhé straně ten, kdo spolupracuje s ostatními na vytváření udržovatelných, elegantních programů vhodných pro použití zákazníkem, včas a s nízkou mírou vad, s malým nebo žádným mezilidským dramatem.

Ale to, co dělá skvělého programátora, je ten, kdo intuitivně rozumí algoritmům a architekturám, umí vytvářet samostatné systémy s konzistentní konzistencí s malým dohledem, umí vynalézat nové algoritmy, umí refaktorovat živé systémy, aniž by je porušil, dokáže efektivně a kogentně komunikovat s netechnickým personálem na technických a netechnické problémy, rozumí tomu, jak udržet své ego pod kontrolou, a může své dovednosti učit ostatní.

Podle mých zkušeností bych však srovnal jeho definici programátora s definicí dobrého programátora a jeho definici dobrého programátora s definicí velkého.

Řekl bych, že někdo, koho Christopher nazývá skvělým programátorem, by po dosažení této fáze své kariéry nemusel psát kód. Osoba by strategičtěji spolupracovala se společnostmi a jejich vývojovými týmy na určování směrů produktů - v podstatě někoho jako CTO.

Ochota zůstat s problémem, dokud nebude vyřešen (nezaměňovat se sedět na problému), spojená se schopností jej kreativně vyřešit, je velmi žádaná dovednost nebo nadání, které se vyskytují pouze u skvělých programátorů.

manželka jona grudena cindy brooks

Takže klíčová otázka, jak identifikujete skvělého programátora? Tato osoba bude schopna rychle zjistit kořen vašeho problému. Nemusí okamžitě poskytnout řešení, ale může si rychle a efektivně naplánovat cestu k dosažení řešení.