• Записи 40
  • Теги 29
  • Комментарии 233

О Сети и о жизни

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

Ещё двадцать лет назад, вскоре после Первого Подключения к Интернет, написал небольшую заметку под названием Моральный Кодекс Настоящего Компьютерщика. С тех пор, наблюдая за людьми на Хабре и других подобных ресурсах, обратил внимание, что есть и другая категория людей с чуть ли не противоположными ценностями, которые пришли в IT не потому что им интересно программировать, администрировать, тестировать или творить что-либо ещё в этой сфере, а просто зарабатывать. Хотя их уровень знаний и умений может быть не меньше, чем у Настоящих Компьютерщиков, подход и система ценностей при этом совершенно другая. Вот небольшая таблица, которая поможет понять разницу:

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

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

4 комментария:

Нет
Гость
0

Вот есть мнение по этому поводу:

4X_Pro
0

Тег img на этом форуме не поддерживает задание width и прочих атрибутов, только URL картинки.
По существу: как-то не вижу связи с моей заметкой (кроме того, что и там и там речь про IT идёт).

MadTechGuy
0

Случайно нашлось видео как раз на эту тему:
[youtube]oquRyO6Lkro[/youtube]

MadTechGuy
0

И тут становится ясно, почему создаётся впечатление, якобы Настоящих Компьютерщиков стало мало. Их не мало, просто изменился уровень абстракции, на котором сосредоточено их внимание. Сейчас на первый план вышли более высокоуровневые вещи (как, например, всякие JS-фреймворки), тогда как раньше внимание было сфокусировано на уровнях ниже. Дело в том, что вместе с технологическим прогрессом появляются всё новые и новые уровни абстракции, по мере того, как предыдущие уровни наполняются, дорабатываются. Когда на текущем уровне уже по большому счёту есть всё, что может понадобиться, тогда создаётся следующий. И, скорее всего, дальше всё будет идти по этой же тенденции — будут создаваться новые уровни абстракции и основное внимание будет сосредотачиваться на них (где-то, наверное, всё равно будет какой-то предел, в который всё упрётся). И если, находясь на высоком уровне абстракции, пытаться детально изучать то, что находится на всех уровнях ниже, то на это может и всей жизни не хватить… Но на высоких уровнях это и не нужно: чтобы писать на assembler'е, не обязательно углублённо разбираться в (микро)электронике, чтобы писать на C, не обязательно разбираться в архитектуре процессора и его инструкциях, а чтобы писать на PHP, не обязательно знать, как устроена реализация на C его встроенных функций и классов. Достаточно в общих чертах знать об уровне ниже, и лезть в остальные уровни уже, как правило, нет смысла. Точно так же, если разработчик использует для web-разработки какой-либо фреймворк, то ему не обязательно знать, к примеру, язык SQL-запросов какой-либо СУБД. Более того — ему лучше не выполнять запросы напрямую, чтобы не смешивать слои абстракций, ибо это чревато. И некоторые моменты из правой колонки как раз и объясняются многим из описанного мной.

Написать комментарий
Прикрепить файлы: (не более 4 файлов, не более 102400 Кб каждый, 102400 Кб всего)


Задать вопрос