Про тотальную вопиющую некомпетентность не скажу, - редко-редко, но попадаются вполне грамотные инженеры и по механике, и по электронике, но общий тренд - тяготеют к типовым решениям, совершенно не работая головой. Электронщики предпочитают собирать всё "из кубиков" референсных схем с даташитов, что в принципе неплохо, но в отсутсвтие понимания фундаментальных принципов и элементарных законов физики и ТОЭ/РТЦ в частности, ведёт к совершенно глупым, и зачастую фатальным ошибкам. С системотехникой совсем беда - построение сколь-нибудь сложной системы выливается в избыточные и кривые решения со множеством потенциальных косяков и проблем. Системный анализ отказоустойчивости и надёжности, в принципе недоступен подавляющему большинству. Работает и ладно :o
В общем нет инженерной хватки и должных компетенций у текущего поколения :( и да, "без интернетов" не могут практически ничего, увы :((
Аналогично по программированию (мой программер, которого я подтягиваю на проекты, - весьма квалифицированный и достаточно высокооплачиваемый, настолько, что я могу позволить себе его нанять на пару неделек "под проект" разок в квартал, но не на постоянную зарплату, - говорит что в их коллективе (работает он в РЖД гле-то, или связанной с ней конторе по обеспечению диспетчерского и бортового ПО поездов) из полутора десятка программеров, всего двое чего-то могут, остальные генерят лютый трешь с помошью неросеток (платных) и потом неделями исправляют то, что там накуролесено. Когда начальству вся эта хуйня надоедает, поручают задачи толковым,которые хоть и загружены по самую маковку, решают эти задачи за пару-тройку дней. По его словам программировать большинство просто нихера не умеет. Про вычислительную математик, устатистику и прочая даж не говорим. Большинство совершенно не понимает как и почему это всё работает, не понимают какие методы применять. Если что-то не получается по ресурсам - вывод один, - надо брать более мощное "железо" :o
Большинство программеров способны (и то с трудом) сделать какой-то интервейс, ввод/вывод данных со стандартными библиотечными функциями, и только. Серьёзные палки в колёса оптимальному программированию - кроссплатформенные фреймворки, применение которых жёстко регламентируется, т..е ты обязан писать код с использованием строго определённых библиотек и функций (но некто ведь не мешает писать СВОИ функции, а вот это-то и мало кто умеет:( Даже простой байтовый парсинг бинарного протокола вызывает шок и неприятие. Всем подавай JSON/XML, и прочее такое, чтобы организовать простейший обмен с какой-нить железкой :((
Если честно, то я в детстве свято верил в компетенции и непогрешимость конструкторов. Если что-то сделано (мост, самолёт, корабль, автомобиль, космический корабль, и прочее, - то сделано это в высшей степени надёжно и компетентными специалистами, и можно смело положиться на 100% надёжность техники. Сейчас же, особенно сталкиваясь с "инженерной братией" из 2000-х понимаю, что лучше я не буду знать как это сделано, иначе буду ходить пешком, и в самолёт/автомобиль и пр. никогда не сяду :))