Interessantes Thema. Ich habe mir selbst oft ähnliche Fragen gestellt und ob Elektrotechnik oder technische Mathematik eine bessere Wahl gewesen wäre.
Andererseits muss man sagen - bissl Softwareentwicklung kann man schnell lernen, aber bissl Elektronik basteln lehren sich auch viele Leute selbst. Aber ab einem gewissen Punkt werden beide Richtungen einfach schwerer.
Ich habe mit vielen Elektronikern, Physikern etc. zusammengearbeitet und programmieren konnten fast alle (meistens Matlab und C). Aber ab einem gewissen Punkt war es dann doch immer vorbei. Vor allem wenn es dann z.b. in Richtung Datenbanken, Performance-Optimierung, funktionale Programmierung, cross-platform development, security etc. geht.
In meinem aktuellen Fall schreibt einer meiner Kollegen auch die wildesten Tools in Richtung Signalverarbeitung, bei denen ich aussteigen. Aber ich habe die gesamte cross-platform-realtime-deep-learning-synthesis-engine "from scratch" in C++ geschrieben - und das könnte dann halt nur ich.
Auch in meinem vorigen Umfeld war ich hauptsächlich von Elektrotechnikern umgeben, und da hieß es auch oft: wir brauchen mehr richtige Informatiker.
Und noch einen Job davor habe ich ebenfalls für einen Elektrotechniker gearbeitet (weiß der Geier warum sich das immer so ergab :)). Und auch da war ich eine gute Ergänzung.Er meinte oft, sein ET-Wissen aus der HTL reichte eigentlich, um das ganze Zeug zu bauen - und zwischen seiner HTL und der Firma lagen ein komplettes ET-Studium inklusive Doktorat und einige Jahre im Job. Dagegen war das Am-Ball-Bleiben in der Informatik ein ständiger struggle. Allein während meines Doktorats wurde beispielsweise mein gesamtes Wissen zum Thema web-dev quasi obsolet (deswegen habe ich den Blödsinn jetzt ganz bleiben lassen ;)). C++ ist eine komplett neue Sprache, die ganzen development Prozesse haben sich komplett verändert - ich hatte danach keine Ahnung von Containern, docker, vagrant, CI, TDD, AWS, nginx, NoSQL, graph dbs, Hadoop/MapReduce, REST und was weiß ich alles... nun da ich selber eher "engineering/science"-Themen bearbeite, muss ich auch zunehmend unsere SW-Developer wegen jeder Kleinigkeit fragen.
Beim letzten thoughtworks radar https://www.thoughtworks.com/radar habe ich mir bei 90% nur gedacht: noch nie gehört.
Natürlich ist das alles kein Basiswissen sondern hauptsächlich Technologien die kommen und gehen, aber auch die Paradigmen ändern sich regelmäßig. Ja, OOP war lange vorherrschend gegenüber prozedural, Gang of Four Design Patterns in jeder Stellenbeschreibung. Nassi-Schneidermann wurde zu OOM. Heutzutage verwendet kaum wer noch UML. Dynamic languages waren hoch im Kurs, langsam geht man wieder etwas mehr zurück zu strong, static typing, compile-time verification. Funktionale Aspekte finden in alle mainstream Sprachen und in "neue" Sprachen wie Scala, Elixir, Clojure. Immutability wird alltagstauglich,mit ganz eigenen Herausforderungen und Auswirkungen.
Bevor ich jetzt noch lange weiterschreibe: ich bin mir mal sicher, dass alle meine vorher erwähnten Personen mit diesen ganzen Themen nichts anfangen können...