Główny Technologia Jak odróżnić dobrego programistę od świetnego?

Jak odróżnić dobrego programistę od świetnego?

Twój Horoskop Na Jutro

Gdyby pisanie kodu było nauką, wszyscy programiści byliby w zasadzie tacy sami.

Podobnie jak w sztuce, dwóch programistów nie ma takiego samego sposobu myślenia, postrzegania ani subiektywnej prawdy podczas pisania kodu dla tego samego wyniku.

Podczas gdy niektórzy walczą o osiągnięcie pożądanego rezultatu, niektórym przychodzi to niemal naturalnie, tak jakby w chwili, gdy zasiadają, aby tworzyć programy lub rozwiązać problem, uderza ich objawienie.

W post na blogu Steve McConnell (cytowany jako ekspert w dziedzinie inżynierii oprogramowania) pisze, że oryginalne badanie, które wykazało ogromne różnice w indywidualnej produktywności programowania, zostało przeprowadzone pod koniec lat 60. przez Sackmana, Eriksona i Granta. Odkryli, że stosunek początkowego czasu kodowania między najlepszymi i najgorszymi programistami wynosił około 20 do 1. Nie znaleźli żadnego związku między ilością doświadczenia programisty a jakością lub produktywnością kodu.

Chociaż w tym badaniu były błędy, nawet po ich uwzględnieniu, dane nadal pokazują ponad 10-krotną różnicę między najlepszymi programistami a najgorszymi.

kto jest partnerem Terry Bradshaw?

W Arkenea mamy ponad pięcioletnie doświadczenie w zatrudnianiu programistów i odróżnienie świetnego programisty od dobrego jest równie trudne, jak dawniej.

To nie jest wyjątkowe wyzwanie. Widzieliśmy, jak wiele dużych przedsiębiorstw i firm z różnych branż boryka się z tym samym problemem. Wielu stworzyło proces filtrowania za pomocą różnych testów, ale czy naprawdę możesz przetestować artystę?

Prosta odpowiedź brzmi: nie.

Pisanie dobrego kodu po prostu nie jest jedynym czynnikiem przy ocenie, czy programista jest świetnym zasobem.

Ale jest sposób. Jest kilka innych wskaźników (poza jakością pisania kodu), które odróżniają świetnych programistów od dobrych.

Christopher Burke, w odpowiedzi na Kora , podkreślił, że każdy, kto potrafi pisać działające programy do rozwiązywania problemów, jest programistą. Z drugiej strony, dobry programista to taki, który współpracuje z innymi w celu tworzenia łatwych w utrzymaniu, eleganckich programów odpowiednich do użytku przez klienta, na czas i z niskimi wskaźnikami defektów, z niewielkim lub żadnym dramatem interpersonalnym.

Ale świetnym programistą jest ten, kto intuicyjnie rozumie algorytmy i architektury, potrafi budować spójne, duże systemy przy niewielkim nadzorze, potrafi wymyślać nowe algorytmy, potrafi refaktoryzować działające systemy bez ich łamania, potrafi skutecznie i przekonująco komunikować się z personelem nietechnicznym. i nietechnicznych, rozumie, jak kontrolować swoje ego i może uczyć innych swoich umiejętności.

Z mojego doświadczenia wynika jednak, że zrównałbym jego definicję programisty z definicją dobrego programisty, a jego definicję dobrego programisty z definicją wielkiego programisty.

Powiedziałbym, że ktoś, kogo Christopher nazywa świetnym programistą, niekoniecznie musi pisać kod po osiągnięciu tego etapu swojej kariery. Osoba ta współpracowałaby bardziej strategicznie z firmami i ich zespołami ds. rozwoju, aby wyznaczyć kierunki dotyczące produktów – zasadniczo ktoś taki jak CTO.

Chęć pozostania z problemem, dopóki nie zostanie rozwiązany (nie mylić z zajmowaniem się problemem), połączona z umiejętnością kreatywnego rozwiązania go, jest wysoce pożądaną umiejętnością lub umiejętnością, którą można znaleźć tylko u wielkich programistów.

ile lat ma Haley Williams

Więc kwintesencja pytania, jak rozpoznać świetnego programistę? Ta osoba będzie mogła szybko dotrzeć do źródła Twojego problemu. Może nie od razu dostarczyć rozwiązania, ale może wytyczyć drogę do szybkiego i skutecznego dotarcia do rozwiązania.