|
|
|
|
|
by fendrak
5696 days ago
|
|
"How is it that a CS major pays tens of thousands of dollars for a degree, and has little to no concept of version control, project roles, design documentation, functional specs, or a bug tracker?" Simple: this isn't what Computer Science is about! A fundamental misconception about computer science seems to be that is is software engineering. This couldn't be further from the truth. CS is about algorithms: their efficiency, their provable correctness, and their applicability to actual problems. None of that necessitates version control. Dijkstra said, "Computer Science is no more about computers than astronomy is about telescopes." It seems to me that version control, bug trackers, and wikis are about software, not Computer Science. These things are important, to be sure, but they're not Computer Science. |
|
This also touches on the ever-sensitive recruiter/hiring manager issues. So many recruiters seeking a software developer have a mandatory checkbox that indicates Computer Science degree; which (as you point out), just is not an appropriate fit; but why not?
Also, Dijkstra was a bright guy, but I don't think the distinction between Computer Science and computers is at stake here. There are plenty of skilled software engineers who couldn't replace RAM if their project depended on it. However, I don't think the jump from the theory and foundation of computer science to software development techniques is a large one. Wikipedia (citing numerous sources) calls Computer Science - the study of the theoretical foundations of information and computation, and of practical techniques for their implementation and application in computer systems. I think your CS distinction is the first clause - and I think it's important. Nonetheless, my point falls into the second clause, and learning the "practical techniques for their implementation" seems more economical for most individuals.