Science, Biology, Evolution, Philosophy, Engineering.
and interconnected understanding of the components and electronics. Or is it changes to the software? Programmers only need to understand how to interact with the existing software in the system to create new apps of boundless creativity and sophistication. Surely both hardware and software