Most CS programs these days do not teach skills such as:
- source control
- configuration management
- integration (and continuous integration)
- code readability (AKA how to comment correctly)
- programming methodologies
- bug tracking
These topics are considered easy enough to be taught on-the-job (OTJ), even though mastering them can be very complex.
Should these skills be taught in universities? Can a real-world programmer really do without these? Is it sufficient to learn them OTJ, as part of a first-year programming experience?