4 ms·
No, no. A better comparison is like asking a physicist to be an engineer, and they should be reasonably good at that, though are usually lacking breadth of fiel
by R0b0t1 5y ago
No, no. A better comparison is like asking a physicist to be an engineer, and they should be reasonably good at that, though are usually lacking breadth of field. A CS PhD only reasons about things you can conceivably do on a computer, so being confused by a computer is a bad sign.
- bee_rider 5y agoI disagree, for multiple reasons. You can see the examples that were brought up here. Function name lengths, log4j, dealing complex systems. The first two definitely have nothing to do with CS, the last could be I guess, depending on the overall architecture, but lots of complex systems are just piles and piles of simple cruft. That's not a CS problem. I don't think engineering is the right analogy here. A better one would be: Physicists exist, so do electrical engineers, and so do electricians. Physicists do discovery, electrical engineers do design, and electricians do implementation. And unsurprisingly, the electricians are the most likely of the three to require a license to do their work. Most programmers do implementation work. Finally... No, I don't think a physicist would be a good engineer necessarily, particularly in this context. I mean, there exist branches of engineering that are more like physics -- yes, a physicist should be able to turn into an antennas guy, I guess. But I don't see why a physicist would be good at making designs out of digital building-blocks.
- R0b0t1 5y agoI'm not sure you're qualified to be commenting on this. Physicists, electrical engineers, and electricians all do discovery, but not all of them, and when they do, in different capacities. There's definitely a lot of ways that physicists and scientists in general don't make good engineers. But a physicist has a good shot at being a reasonable engineer, after getting over the fact that they don't actually know everything and rules of thumb and physical models have to be created taking into account the complex emergent behavior we see in reality. Same thing for CS PhDs and software engineering. They should be set up to undertake these things well. Not being able to do so is a mark against them. They don't immediately understand the complex emergent behavior of modern computer systems but neither has any SWE.