| Back in 2001, I started work as a web-developer right out of high school at the age of 17. My high school diploma wasn't good enough to get into a software engineering university in my country (the Netherlands), so I had to wait until I was 21 to take an admission-test. So I worked for 4 years before I got to a university and followed along for a 1-day introduction. They would tell their prospective students what they would learn in the next 4 years, and what jobs they would find when they were done. At the end of the day was a Q&A with some professors. It was at that moment that I realised: 1. I know more than these professors do; 2. I'm currently a very skilled autodidact software developer; 3. I already know all of what they would teach me in four years; 4. they were working with outdated materials; they taught generics, not specifics. These professors were academics. Google didn't exist yet. They, mostly, hadn't worked in any professional environment. They weren't pragmatic. They were slow perfectionists but also several years behind on the rest of the world. And that was saying something: the bleeding-edge books that I was reading took at least 1 year from the start of writing to publication, so even I was behind on reality. Even today I sometimes wonder what software engineering students learn in 4 or more years. It shouldn't take nearly that long. If you spend 20 hours a week studying software engineering you should be ready to find work in less than a year. And from that point onward, that's where you actually learn how to do it right. |
I thought my degree was a bargain at the state school I went to. Also majored in math. Both CS and math had so many interesting classes, I found myself wishing school was 6 years instead of 4. Work is hardly that cutting edge compared to what we learned in school, which woukd cover the latest stuff in the literature in some classes.
Most of all, I learned that getting stuck at problems is normal in college. You have to be patient, spend a lot of time and slowly make progress. That helps me immensely in my current job, esp. debugging complicated problems.