Профессионалы и любители
Как ни странно, профессионала и любителя не так просто отличить в жизни. Например, некто гоняет на дикой раскрашенной машине, занимает места, даёт интервью, а на самом деле является директором небольшой организации, занимающейся расчётом энергетической эффективности. А при этом любителе весь в мазуте и масле - механик. Профессионал с большой буквы, получающий в команде больше всех денег за знание дела. А казалось бы - чёрт мазутный!..Отличить их тем более непросто, если учесть, что человек может быть экстра-специалистом по изобретению и реализации алгоритмов, но при этом полным нулём в вопросах построения эффективных многопоточных приложений. А так же и наоборот: кто-то может прочитать одну книжку, выцепить из неё один единственный удачный ход и безбедно на нём жить годами. Как в анекдоте про математика и гвоздь: "вбить по шляпку, после чего задача сводится к предыдущей". Между тем уметь отличить профессионала от любителя - жизненно необходимо, если, конечно, вы не умеете печатать деньги. Разница между тем, кто разбирается в программировании (в широком смысле) и тем, кто только делает вид, может быть не видна месяцами, так как наша работа не требует ежечасного озарения*. Но эта разница всегда раскрывается в минуту наивысшего стресса: профессионал уверен в себе, в своём фундаменте и уже сталкивался со стесняющими обстоятельствами - он будет хмур и зол, но свою работу сделает, как бы не был раздражён необходимостью её выполнять, а любитель свесит лапы и вытворит одно из двух: скажет, что это не мои проблемы (что надо будет понимать как: "я не могу с этим разобраться") или просто впадёт в панику оттого, что гора нового и опасного надвигается на. Эта паника и экстренное катапультирование стоят времени и денег. Поэтому латентных любителей надо научиться вычислять. Все это делают по-разному. Мой подход заключается в том, чтобы выяснить, есть ли у человека этот самый фундамент или нет. Фундаменты для разных работ очевидно разные, но я уверен, что следующий список содержит существенную часть общепрограммистского фундамента:
- Алгоритмы поиска и сортировки
- Опыт работы с графами
- Понимание внутренней структуры используемого хранилища
- Смысл и ограничение рекурсии
То есть, твёрдо оперировать в пределах хотя бы трети каждого тома Кнута.
В той или иной комбинации эти знания нужны почти везде, а значит, они должны постоянно находиться в кэше умений программиста и времени на то, чтобы их вспомнить, уходить должно или мало или нисколько.
Профессионал применяет свои знания систематически, знает слабые места и стремится их заполнить. Любитель делает только то, что умеет, только так, как умеет и не желает ни знать большего, ни уметь лучше: его прикалывает сам процесс в отличие от нацеленности профессионала на результат.
Поэтому бесконечные консалтинговые проекты я считаю любительством в чистом виде: у исполнителя нет никакой возможности врубиться в бизнес заказчика, потому он и не вдаётся; делает так, как умеет и то, что понял. При сдаче, правда, почти всегда выясняется, что это не то, но пока что никого такая ситуация не останавливала. Недавно наблюдал прекрасное. Очень много миллионов ушли в зрительный зал в обмен на распахнутое на весь экран окно, в углу которого показывается значок замка, а в центре- одно окно с тремя кнопками: конструктор отчётов. Это классическое любительство. Ещё и с элементами мошенничества в особо крупных размерах.
Вот что я об этом думаю.
--
* - а если это происходит, то не мешало бы задуматься об объёме своих знаний
Комментариев нет:
Отправить комментарий