It used to be that most serious developers went to college and studied CS. Those people that wanted to make a living programming computers became grounded in theory, struggled through assembler class, and understood the classic waterfall development technique. They could write bubble sorts and quick sorts, and could create and destroy pointers in thin air. At least in theory.
As computer science curriculums evolved, they became more practical. Students no longer had to learn C or emacs (a shame, IMHO), but learned Java and .NET, working in nicely crafted IDEs like the ones they would use in the corporate world. Practical programming classes allowed students to build more rich and interesting applications, instead of just building virtual linked lists that weren’t visualized outside of one’s imagination.
At the same time, I’ve found that a larger and larger percentage of developers haven’t gone to college for a CS degree. Some have gotten other degrees, some just learned to program outside of school, and in both cases, they aren’t necessarily any better or worse than those developers with CS degrees. That leads me to this week’s question:
Should we move to vocational developer training?
We’ve asked the question before about whether a degree is required for a technology career, and I think most people agree it’s nice, but not necessary. However I’m wondering today if you think we ought to build better training for those people who are interested in computers, but don’t want to go to college (or can’t afford to). Should there be vocational schools that teach programming, maybe including apprenticeships with experienced professionals in the field.
I think there is a place for some formal training in development, preferably including some C programming, but I’m not sure that I think a four year college degree is needed. I’d like to see a more practical, more affordable way for people to get bootstrapped into technology and begin a career, preferably with some apprenticeships that might build practical experience and good habits among younger coders and DBAs.