10 привычек великих программистов, которых нет у их посредственных коллег

4592
10

Бывают хорошие программисты, бывают очень хорошие, а иногда встречаются великие. Они не пишут код — они создают магию. На весь мир таких всего 1%, и в отличие от остальных 99%, вместо формулы они видят физику. Пользователи на Quora решили разобраться, благодаря каким привычкам топовые программисты способны на то, на что неспособны их посредственные или даже талантливые, но почему-то не столь выдающиеся коллеги. AIN.UA выделил 10 самых важных привычек.

Меньше строк — больше дела

Выдающиеся программисты используют настолько мало кода, насколько это вообще возможно, и делают его максимально читабельным. Если код использует один и тот же паттерн несколько раз — даже если только дважды — они встраивают его в функцию. Хорошие программисты пишут понятные комментарии к коду. Великим программистам этого делать не обязательно — их код и без комментариев понятен.

Не отвлекаться на интернет

Они не тратят время на Youtube, Twitter, Facebook или любые другие социальные сети. В коммьюнити говорят: «Чтобы быть хорошим программистом, нужно 3% таланта и на 97% не отвлекаться на интернет».

Решать проблему, а не делать, что говорят

Часто заказчики или руководители сами не знают, чего хотят — они просто знают, что что-то не так. К сожалению, далекие от IT люди часто уверены, что они знают правильное решение и просят исполнителя его внедрить. Например, ваш босс приходит и предлагает добавить сайт в CDN. На самом деле, он просто хочет, чтобы сайт работал быстрее, и кто-то ему сказал, что CDN решит эту проблему. Обычный разработчик повинуется и добавит CDN, но выдающийся знает, что дело не в этом, и CDN решил проблему лишь частично. Он будет искать возможности просто и изящно ускорить сайт, а не тупо выполнить рекомендации босса.

Иметь инструменты на все случаи жизни

Великие разработчики не склонны раз за разом изобретать колесо — когда перед ними ставят задачу, они уже знают готовые инструменты, которыми ее можно решить. Не нужно каждый раз все делать заново. Платят не за количество написанных строк, а за сроки реализации решения.

Оценивать чужие достижения по достоинству

Эрик Шмидт и Стив Джобс

Так делали даже Эрик Шмидт и Стив Джобс, хотя они и не программисты

Они признают успехи тех, кто этого заслуживает. Выдающиеся разработчики с радостью хвалят коллег за хорошую работу. Благодаря этой привычке, с ними стремятся сотрудничать другие топовые программисты, и возникает такой самодостаточный цикл общения.

Понимать всю систему, а не ее куски

Только 1% разработчиков понимают программную систему в целом. Не просто участки кода, но всю программу. Они видят недостатки не по мере чтения кода, а в любой перспективе — как с точки зрения дизайна, так и процессов, которые задействуют сразу несколько частей системы.

Это как в фильме «Матрица», если рассматривать сюжет как путь эволюции программиста. Сначала Нео обучался разным приемам, которые были умеренно эффективны, но в конце научился видеть всю архитектуру насквозь. Так происходит и с теми программистами, которые однажды становятся великими.

Быть нетерпеливым

Вместо того, чтобы просиживать штаны на встречах, топовые программисты пишут код. То есть, они пишут код вместо того, чтобы его обсуждать. Джефф Дин, Чун Пенг То и Эмит Сайн без промедлений внесли в инфраструктуру Google несколько решающих изменений. Как сказал Билл Коугран: «Однажды утром вы смотрите на вселенную и понимаете, что она изменилась».

Выйти за рамки

Великие программисты не скованы рамками модуля. Они проникают за границы абстракций, атакуют проблему и не успокоятся, пока не решат ее. Однажды я сидел рядом с Пенг То, пока он погружался в плохо работающий код, докапываясь до бага в сборке, генерируемой компилятором. В итоге он понял, как обойти эту ошибку. Если бы он не вышел за границы, навязанные модулем, он не придумал бы обходной путь для этого бага.

Спать и видеть

Если вы не узнаете что-нибудь новое каждый день, не расширяете тем самым границы своих возможностей, едва ли вы станете великим программистом. Когда я веду автомобиль, я запускаю код у себя в голове. Когда вы смотрите телевизор или играете в игры, я что-то ищу и пишу код. Когда я сплю, мне снится программирование, а когда я просыпаюсь, код, который я видел во сне, можно сразу переносить на экран монитора, и он будет работать.

Помогать другим

Выдающийся программист делает всю команду лучше. Это явление еще называют «умножением вместо сложения». Увеличение продуктивности каждого члена команды на 10% — это намного лучше, чем просто удвоить эффективность команды в целом.

Оставить комментарий

Комментарии | 10

Поиск