Gregori
Gregori личный блог
22 сентября 2020, 15:30

Что то ай тишники пошли ненастоящие

Решил написать после прочтение парочки постов на смартлабе. Странные рассуждение- мол не знают как работает компьютер, что там внутри процессора. И так -я дипломированный инженер-системотехник. В вузе изучал теорию электроцепей, физические основы электроники, электронику, схематехнику. На последнем курсе как раз и изучали тригеры-счётчики-регистры. То что внутри процессора. Как изнутри устроены. И знаете сколько раз это за 10+ лет работы по специальности мне пригодилось? 0
Знание глубокое железо сейчас узкоспециализированно. Нужно тем кто работает с железками- допустим микроконтроллеры в АСУТП (управление тех процессами на заводе). И то- все эти простейшие конструкции уже очень глубоко внутри процессора. Слишком далеко продвинулись мы от тех компьютеров которые в начале 80тых собирали из радиоконструкторов. Поясню на примере- мой отец чинил сам с паяльником в руках телевизор. А вот планшет сейчас починить  на уровне глубже замены компонентов (экрана например) я уже не могу. У телевизора была тогда в комплекте с ним схема электрическая принципиальная и схема печатной платы. Сейчас степень интеграции компонентов намного больше, везде свои решения какие то и сервис манулы только официальным сервис центам по подписку о неразглашении. 

Ну а какому ни будь программисту SAP или 1C эти знания просто не нужны. От слово совсем. Знание складского учёта или кадровой работы нму нужно больше. На другом уровне абстракции он работает.  Общая тенденция всё та же- устройства сложней, специализация глубже. Мастер по ремонту телефонов  не возьметься ремонтировать планшет на Intelовсом проце отправив к специалисту по ноутам. Это нормально.

 

Причем, напомню, что ай ти- это не только кодинг. это и постановка задачи (и тут нужны скилы не в железе а в предметной области) и аналитика, и поддержка и руководство проектами (софт скилы и разные фреймворки типа айтила и аджайла), и кастомизация под потребности заказчика системы (не факт что через кодирование, а допустем не написание конфигов) и эксплуатация и внедрение со стороны заказчика (другие навыки- от оптимизации sql сервера, до написание скриптом по управлению сетевым оборудованием), работа девопсов и т. д.  много сфер и для каждый свой набор требуемых навыков

И навыки дизасемблирование машинного кода в уме не помогут, Вам когда нужно подправить что то в 1С бухгалтерии- тут надо знать предметную область (что бы понять что хочет бухгалтер) и саму платформу. Я знал назначение регистров процессора, когда мне главбух объясняла что такое проводки и план счетов. Но помогло ли мне это? не думаю. Системы слишком многоуровневые и распределенные. Даже оптимизация на высоких уровнях идет по архитетуре и понимании работы системы+ по алгаритмам (рост сложности). Даже научные расчеты многие перешли на Пайтон (пусть и с оптимизированными библиотеками)-выходит потеря производительности тут не столь значима как эфетивность труда программиста

89 Комментариев
  • Брахман Пилорама
    22 сентября 2020, 15:41
    Это низовому уровню инженерной челяди глубокие знания не нужны. Безотносительно Вас, конечно. Есть большая разница, между изучением принципов работы триггеров, сдвиговых регистров и ассемблера Z80 в 9-м классе средней школы и тем же самым — но на последнем курсе института. В последнем случае (пример из моей группы) выходит неплохой программист на языках высокого уровня, который никогда не сможет сделать законченное устройство или быть творцом в своей сфере.

    Это раб. И все сентенции идут про рабов и о рабах. И вы рассуждаете о них же.

    К счастью все совсем не так. Фундаментальные знания очень нужны. Но в свое время и не для всех. Кто-то создает nginx а кто то таблички в Экселе. И определяется это как раз начальными знаниями и складом ума.
  • Abstract
    22 сентября 2020, 15:43
    Не зная устройства проца, например, на STL для Simatic-S7 прогу не напишешь, по крайней мере оптимально. Нужно знать, какие регистры и для чего используются, как работает стек, как устроена память, таймеры и так далее. Так что мимо. То же самое с прерываниями, не зная как устроена обработка, просто многие моменты не сможешь обработать правильно, в АСУ ТП программа очень плотно связана с железом. Классные программеры знают всё детально о конкретном железе, о конкретном модуле. Речь даже не всегда о разработке нового, многие старые проги приходится восстанавливать или искать ошибки, проводить экспертизу и так далее. Если что, у меня стаж работы в проектировании АСУ более 20 лет. Про ремонты соглашусь, век модульности пришёл, никто уже не лезет внутрь, хотя и бывают прецеденты интересные.
  • deke
    22 сентября 2020, 15:49
    Знание архитектуры вполне помогает оптимизировать код. Грубо говоря, если ты знаешь что FPU может за один такт выполнять сложение и умножение, то переставив две инструкции ты повысишь темп исполнения команд. Разумеется это нужно не всем, применимо только на уровне ассемблера и интринсиков. То де самое и с кешированием — уложил весь код вычисления FFT в первый уровень и получил прирост скорости.
    Поднимаясь выше над уровнем железа переходим к сетям, кластерам, облакам. Снова схемотехника, снова глубокое знание и понимание архитектуры.
    Так что все нормально с IT.
  • Виктор
    22 сентября 2020, 16:01
    Знаний про триггеры и регистры не нужны, вот и пишут потом такой говнокодище, что ABAP кровавыми слезами плачет вызывая дампы в этих ваших SAP

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн