Hey! I had a discussion with a group of professors recently about the different disciplines one can master in electrical and computer engineering. There seems to be a prevailing notion that the closer one works to the physical layer, the harder his job is. Most of my professors seem to believe that. When I asked why, the answer was more or less that electronics are much harder to design and troubleshoot than software because of a lack of tools that software people have. For example, when troubleshooting a circuit design burned on an fpga (I have no experience in these so forgive me if anything sounds strange) a slight delay in an input signal, or a small shift in its bandwidth above or below what is expected by the circuit could cause the circuit to behave completely differently than expected. Because it takes time to burn a design on an fpga and run it, testing to see what goes wrong may take a lot of time, and this simple bug could take days to figure out. Also, analog IC design and RFIC are considered the most difficult by most, due to the heavy background in mathematics and physics required. Applied math (probability, statistics, calculus, discrete, linear algebra etc and more advanced, information theory, control theory, signals and systems, etc) is considered the easiest, because it deals with abstract ideal forms of the real systems. Is this really the case? Before this conversation, I was of the idea that the difficulty of a subject is not a matter of the subject itself, but how deep knowledge one has about it. Now, I'm not sure, since acquiring deep knowledge in a field is varying in difficulty from field to field, but once you learn something, doesn't it stop being difficult? Do you actually believe there is such a hierarchy of difficulty in electrical and computer engineering? Moreover, do you believe an electronics engineer could do the job of a software engineer with less training required than the other way around? Thanks!