On Fri, Aug 31, 2018 at 05:47:40PM -0600, Jonathan M Davis via Digitalmars-d wrote: [...] > The school I went to (Cal Poly, San Luis Obispo) at least tries to > focus on the practical side of things (their motto is "learn by > doing"), and when I went there, they even specifically had a Software > Engineering degree where you had to take a year-long course where you > did a project in a team for a company. But at least at the time, the > big difference between the SE and CS degrees was that they required > more classes with group work and fewer theoretical classes, and there > certainly weren't any classes on something like debugging. The > software engineering-centric classes focused more on a combination of > teaching stuff like classic design patterns and then having you do > projects in groups. And that was helpful, but it still didn't really > prepare you for what you were going to be doing in your full-time job. > It's still better than what a lot of schools do though. I'm frequently > shocked by how little many CS graduates know when they first get out > of school. [...]
I suppose it depends on the school. And yes, I've seen CS graduates who have literally never written a program longer than 1 page. I cannot imagine what kind of shock they must have felt upon getting a job in the industry and being faced, on their first day, with a 2 million LOC codebase riddled with hacks, last-minute-rushed fixes, legacy code that nobody understands anymore, inconsistent / non-existent documentation, and being tasked with fixing a bug of unclear description and unknown root cause which could be literally *anywhere* in those 2 million LOC. I was lucky that I was spared of most of the shock due to having spent a lot of time working on personal projects while at school, and thereby picking up many practical debugging skills. T -- Real men don't take backups. They put their source on a public FTP-server and let the world mirror it. -- Linus Torvalds