Чем лучшие программисты отличаются от хороших?

Данная статья основывается на нити вопросов и ответов на веб-сайте Quora: «Что отличает прекрасного инженера-программиста от хорошего?»
Не секрет, что наиболее востребованными навыками сегодня обладают программисты, поскольку, в среднем, каждый программист получает десятки нежелательных сообщений от рекрутеров каждую неделю. Тем не менее, все разработчики программного обеспечения не идентичны, и некоторые из них смогут продвинуть Вашу компанию намного дальше, чем другие.
Проблемой для рекрутеров является то, что они не слишком подкованы в технических аспектах, и поэтому не всегда знают, как выглядит идеальный разработчик. Чтобы помочь разобраться в этом, на веб-сайте Quora было задано ряд точных вопросов, касающихся данной проблемы и несколько успешных технических менеджеров описали качества идеального программиста.
Вот что они сказали:
1. Они способны балансировать прагматизм и перфекционизм Поделился Russel Simmons, бывший технический директор и соучредитель Yelp
Прекрасные программисты могут одновременно совмещать мастерство/скорость/уловки и изысканные/утонченные/обдуманные решения, а также здравый смысл, чтобы выбрать подходящий подход для данной проблемы. Некоторые программисты не уделяют должного внимания деталям, которые необходимы для решения какой-то проблемы. Другие же застряли в режиме перфекциониста.
2. Они не избегают нахождение и устранение ошибок Поделился Рассел Саймонс
Посредственные программисты часто опасаются и ненавидят устранять ошибки, даже их собственного кода. Отличные программисты погружаются и углубляются в проблему с большим упорством. Они не могут быть удовлетворены своей работой, если выясняется, что ошибка кроется вне их кода, поэтому обязательно находят её.
3. Они обладают здоровым скептицизмом Поделился Рассел Саймонс
Хороший программист найдет решение, которое будет работать, и на этом закончит. Отличный же программист, как правило, не доверяет своему коду, пока подробно самостоятельно не протестирует его.
4. Они понимают, чего бизнес пытается добиться Поделился Слава Акмечет, основатель Rethink DM
Такое свойство можно также обозначить как «осведомленность о продукте». Большинство инженеров (особенно действительно талантливых) склонны тратить огромную часть своего времени для улучшения вещей, которые не сделают ни малейшего различия в большой системе. Отличные инженеры знают о том, что компания существует с определенной целью, и они понимают, что является важным для клиентов, а что нет.
5. Они знают, когда не нужно писать код Поделился Джефф Дин, директор Galvanize Stack
Этот пункт связна с предыдущим. Да, программисты должны следовать плану. Но иногда этот план не имеет смысла, и знающий инженер поймет это и скажет об этом другим.
Конечно же, это здорово писать хороший код. Но если этот код не продвигает компанию вперед в значительной мере, тогда его написание становится бесполезным.
6. У них нет привязанности Поделился Джефф Дин, директор Galvanize Stack
Лучшими программистами являются те, которые могут работать не покладая рук над проектом в течение нескольких месяцев, и когда они сталкиваются с тем, что существуют более эффективные подходы, они будут первыми кто спросит: «Хорошо, что дальше?».
7. Они могут четко излагать сложные идеи Поделился Джейсон Шварц, владелец продукта в Spotify
Может ли инженер объясниться с представителями, которые не владеют техническими знаниями, также как с другим инженерам? Многие технически опытные инженеры не считаются лучшими, только потому что они не могут ясно делиться своими идеями.
8. Они предпочитают упрощать что-либо, а не усложнять Поделился Джейсон Шварц, владелец продукта в Spotify
Сложные и трудные задачи часто очень интересны для разработчиков. Отличные инженеры хотят упростить задачу вместо того, чтобы строить что-то более сложное.
9. Они действительно хорошо знают свою сферу деятельности Поделился Картик Айяр, инженер в Google
Отличные инженеры очень хорошо информированы о то, что происходит в мире программного обеспечения, за пределами своей области и, таким образом, им не приходится изобретать «колесо». Это делает их более эффективными и, в конечном счете, более оперативными в использовании своего времени.
10. Больше всего они любят код Поделился Джейсон Шварц, владелец продукта в Spotify
Быть инженером это отличная высокооплачиваемая работа, поэтому многие хорошие разработчики занимаются этим. Отличные инженеры занимались бы тем же, даже если бы это было не так. Они поддерживают свои навыки актуальными, и обладают выдержкой к работе на протяжении длительного времени, потому что они делают то, что любят.
#управлениеперсоналом #рекрутер #management #менеджмент #рекрутинг #ITрекрутинг #собеседования #руководство #интервью #interview #ITвмире