Решил написать после прочтение парочки постов на смартлабе. Странные рассуждение- мол не знают как работает компьютер, что там внутри процессора. И так -я дипломированный инженер-системотехник. В вузе изучал теорию электроцепей, физические основы электроники, электронику, схематехнику. На последнем курсе как раз и изучали тригеры-счётчики-регистры. То что внутри процессора. Как изнутри устроены. И знаете сколько раз это за 10+ лет работы по специальности мне пригодилось? 0
Знание глубокое железо сейчас узкоспециализированно. Нужно тем кто работает с железками- допустим микроконтроллеры в АСУТП (управление тех процессами на заводе). И то- все эти простейшие конструкции уже очень глубоко внутри процессора. Слишком далеко продвинулись мы от тех компьютеров которые в начале 80тых собирали из радиоконструкторов. Поясню на примере- мой отец чинил сам с паяльником в руках телевизор. А вот планшет сейчас починить на уровне глубже замены компонентов (экрана например) я уже не могу. У телевизора была тогда в комплекте с ним схема электрическая принципиальная и схема печатной платы. Сейчас степень интеграции компонентов намного больше, везде свои решения какие то и сервис манулы только официальным сервис центам по подписку о неразглашении.
Ну а какому ни будь программисту SAP или 1C эти знания просто не нужны. От слово совсем. Знание складского учёта или кадровой работы нму нужно больше. На другом уровне абстракции он работает. Общая тенденция всё та же- устройства сложней, специализация глубже. Мастер по ремонту телефонов не возьметься ремонтировать планшет на Intelовсом проце отправив к специалисту по ноутам. Это нормально.
Причем, напомню, что ай ти- это не только кодинг. это и постановка задачи (и тут нужны скилы не в железе а в предметной области) и аналитика, и поддержка и руководство проектами (софт скилы и разные фреймворки типа айтила и аджайла), и кастомизация под потребности заказчика системы (не факт что через кодирование, а допустем не написание конфигов) и эксплуатация и внедрение со стороны заказчика (другие навыки- от оптимизации sql сервера, до написание скриптом по управлению сетевым оборудованием), работа девопсов и т. д. много сфер и для каждый свой набор требуемых навыков
И навыки дизасемблирование машинного кода в уме не помогут, Вам когда нужно подправить что то в 1С бухгалтерии- тут надо знать предметную область (что бы понять что хочет бухгалтер) и саму платформу. Я знал назначение регистров процессора, когда мне главбух объясняла что такое проводки и план счетов. Но помогло ли мне это? не думаю. Системы слишком многоуровневые и распределенные. Даже оптимизация на высоких уровнях идет по архитетуре и понимании работы системы+ по алгаритмам (рост сложности). Даже научные расчеты многие перешли на Пайтон (пусть и с оптимизированными библиотеками)-выходит потеря производительности тут не столь значима как эфетивность труда программиста
Это раб. И все сентенции идут про рабов и о рабах. И вы рассуждаете о них же.
К счастью все совсем не так. Фундаментальные знания очень нужны. Но в свое время и не для всех. Кто-то создает nginx а кто то таблички в Экселе. И определяется это как раз начальными знаниями и складом ума.
Поднимаясь выше над уровнем железа переходим к сетям, кластерам, облакам. Снова схемотехника, снова глубокое знание и понимание архитектуры.
Так что все нормально с IT.