Три добродетели программиста

Программист должен быть ленивым, нетерпеливым и самоуверенным.
3 минуты19120

Программист должен быть ленивым, нетерпеливым и самоуверенным. Так считает Ларри Уолл, создатель языка Perl. И большинство IT-специалистов подтвердят, что это правда.

Программист спит — программа работает

Лень — двигатель прогресса. Человеку надоело таскать тяжести на руках — и он изобрел колесо и транспорт. Устал ходить пешком — приручил лошадь. Поленился считать в уме — придумал абак, счетную доску. За несколько тысяч лет поколения ленивых инженеров довели абак почти до совершенства, снабдили клавиатурой и тачскрином, прикрутили жесткий диск и bluetooth. И объединили все абаки мира в сеть — интернет: привет вашему абаку от нашего.

Конечно, не всякая лень помогает разработчику: лежа на печи, много не напрограммируешь. Но правильная, продуктивная лень — мощная сила. И программисты научились использовать ее мудро. 

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

Лень программиста — это желание сделать как можно меньше, чтобы в результате получилось как можно больше. И это работает! 

Да что же оно так медленно!..

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

Нетерпение разработчика — это стремление как можно скорее получить работающую программу. И не как-нибудь, а хорошо работающую!

Но вот приложение запущено, и… Эй, почему так медленно?.. Почему эти SQL-запросы отрабатываются так долго? Почему эти вычисления занимают кучу времени?.. Нет, так не пойдет! 

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

Другой аспект, в котором проявляется нетерпеливость айтишников, — одержимость быстродействием компьютеров. Еще в 1965 году руководитель Intel Гордон Мур описал подмеченную им закономерность — и сделал предсказание: производительность процессоров возрастает в два раза каждые полтора года. Закон Мура работает и сегодня, спустя полвека. И программистам все еще хочется быстрее, еще быстрее!

Самоуверенность и отвага

Программист — птица гордая. Все, что он делает, — прекрасно по определению. Или должно быть прекрасно.

Разработчик, который гордится своей работой и своими способностями в области IT, никогда не выкатит пользователю плохую программу. Гордость не позволяет ему сливать работу по принципу «и так сойдет». Ни за что не допустит, чтобы пользователи отзывались о его продукте плохо — иначе какой же он программист? Каждый негативный комментарий — удар по самомнению. «Неудобный интерфейс», «медленно работает», «все кривое и валится через раз» — для айтишника нет ничего хуже, чем услышать такое о своей программе. Нет, уж лучше заранее продумать эргономичный интерфейс, отладить и протестировать всю функциональность, провести рефакторинг…

Гордость и самоуверенность твердят: «Ты можешь сделать лучше! Сядь и сделай!» 

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

Жаль только, что в резюме нельзя написать «Ленив, нетерпелив, самоуверен». Увы, пока не все работодатели способны разглядеть в этих качествах признаки хорошего айтишника. 

Но мы-то с вами знаем!..

А какие негативные личные качества помогают в работе лично вам?

webпрограммирование
Нашли ошибку в тексте? Напишите нам.
Спасибо,
что читаете наш блог!