О Настоящих Компьютерщиках и IT-профессионалах

Ещё двадцать лет назад, вскоре после Первого Подключения к Интернет, написал небольшую заметку под названием Моральный Кодекс Настоящего Компьютерщика. С тех пор, наблюдая за людьми на Хабре и других подобных ресурсах, обратил внимание, что есть и другая категория людей с чуть ли не противоположными ценностями, которые пришли в IT не потому что им интересно программировать, администрировать, тестировать или творить что-либо ещё в этой сфере, а просто зарабатывать. Хотя их уровень знаний и умений может быть не меньше, чем у Настоящих Компьютерщиков, подход и система ценностей при этом совершенно другая. Вот небольшая таблица, которая поможет понять разницу:
Настоящие КомпьютерщикиIT-профессионалы
Приходят в IT потому что им интересно знать, как всё это работает и творить что-то в этой области самимПриходят потому что IT-престижная отрасль, в которой хорошо платят
Выбирают специализацию (область деятельности, языки программирования и т.п.) исходя из того, что интересно им самимВыбирают специализацию из соображений «что будет востребовано рынком труда»
Изучают основы — общие принципы, базовые алгоритмы и протоколы, низкоуровневые APIИзучают инструменты, необходимые для решения конкретных задач — библиотеки, frameworks и т.п.
Из-за ориентированности на знание основ легко «перепрыгивают» на другой язык программирования или framework.Узко специализируются, меняют привычный набор инструментов только под влиянием требований рынка
Стремятся видеть картину целостно, с учётом всех уровней абстракций, для которых имеются знания (в идеале — от ассемблерных команд до интерфейса «человек-машина»)Пользуются только теми уровнями абстракции, которые нужны для решения поставленной задачи. На другие заглядывают только в случае «протечек абстракции».
Используют готовые решения только тогда, когда задача неинтересна или не хватает квалификации для её качественного решения, или же есть неизбыточное решение, которое их полностью устраивает.Стремятся к максимуму code reuse всегда и везде.
Конечная цель создания софта — пользование им приносит радость конечным пользователямКонечная цель создания софта — пользование им приносит прибыль бизнесу
Не жалеют времени на оптимизацию, чтобы сэкономить память и сделать приложение быстрымРуководствуются принципом «не оптимизируй, пока в этом нет явной необходимости»

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