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