I think it's the other way around - computer scientists can get away without understanding the underlying hardware, and do their research based on a basic/abstract machine. Because they are doing research on computer science - how different algorithms can be improved or new data structures (or ML techniques etc).
Software engineers are more likely to need to know the underlying machine and write code suitable for such - because they need to write working/production ready code. It's like applied science, vs pure research science.
Software engineers are more likely to need to know the underlying machine and write code suitable for such - because they need to write working/production ready code. It's like applied science, vs pure research science.