Основен Технология Как да разграничим разликата между добрия програмист и великия

Как да разграничим разликата между добрия програмист и великия

Вашият Хороскоп За Утре

Ако писането на код беше наука, всички разработчици биха били почти еднакви.

Точно както в изкуството, двама разработчици нямат еднакво мислене или възприятие или субективна истина, докато пишат код за един и същ резултат.

Докато някои се борят да постигнат желания резултат, за малцина това идва почти естествено, сякаш прозрение ги удря в момента, в който седят, за да създадат програми или да решат проблем.

В блог пост , Стив Макконъл (цитиран като експерт по софтуерно инженерство) пише, че първоначалното проучване, което е открило огромни вариации в индивидуалната продуктивност на програмирането, е проведено в края на 60-те години от Sackman, Erikson и Grant. Те откриха, че съотношението на първоначалното време за кодиране между най-добрите и най-лошите програмисти е около 20 към 1. Не откриха връзка между количеството опит на програмиста и качеството на кода или производителността.

Въпреки че имаше недостатъци в това проучване, дори след отчитането им, данните все още показват повече от 10-кратна разлика между най-добрите програмисти и най-лошите.

колко деца има Джули Чен

В Arkenea имаме повече от пет години опит с наемането на разработчици и е толкова предизвикателно, колкото и в по-ранните дни, да различим велик програмист от добър.

Това не е уникално предизвикателство. Виждали сме, че много големи предприятия и компании от различни отрасли се борят със същия проблем. Мнозина са създали процес на филтриране чрез различни тестове, но наистина ли можете да тествате художник?

Правият отговор е отрицателен.

Писането на добър код просто не е единственият фактор, когато преценявате дали програмистът е чудесен ресурс.

Но има начин. Има някои други показатели (освен качеството на писане на код), които отделят големите програмисти от добрите.

Кристофър Бърк, в отговор на Quora , подчерта, че всеки, който може да пише работещи програми за решаване на проблеми, е програмист. Добрият програмист, от друга страна, е този, който си сътрудничи с другите, за да създаде поддържаеми, елегантни програми, подходящи за използване от клиента, навреме и с ниски нива на дефекти, с малко или никаква междуличностна драма.

Но това, което прави един велик програмист е този, който разбира алгоритмите и архитектурите интуитивно, може да изгражда самопоследователни големи системи с малко наблюдение, може да изобретява нови алгоритми, може да рефакторира живите системи, без да ги нарушава, може да комуникира ефективно и разумно с нетехническия персонал по технически и нетехнически проблеми, разбира как да държи егото под контрол и може да научи своите умения на другите.

Според моя опит обаче бих приравнил определението му за програмист с това за добър програмист и определението му за добър програмист с това за велик.

Някой, който Кристофър нарича велик програмист, бих казал, не би задължително да пише код, когато достигне този етап от кариерата си. Човекът ще работи по-стратегически с компании и техните екипи за разработки, за да дава насоки за продуктите - по същество някой като технически директор.

Готовността да останете с проблем, докато той не бъде разрешен (да не се бърка със седенето на проблем), заедно с възможността за творческото му решаване, е силно желано умение или способност, открити само при големи програмисти.

колко е висок томи чонг

И така, същественият въпрос, как да идентифицирате страхотен програмист? Този човек ще може бързо да стигне до корена на проблема ви. Той или тя може да не предостави незабавно решение, но може да очертае пътя към бързото и ефективно достигане до решението.