Lately I have been trying to bring in guest speakers for my programming classes. Last month I took the senior Java class on a field trip to a local tech company. For a senior class I have come to the absolutely brilliant conclusion this is a great idea. (I impress myself so easily.) The objective is to not to discuss programming, but to discuss and look at the tech industry. Last month I had a professor from the university Management Information Services department talk. He had spent most of his career in industry, not academia, so it was very interesting for the class. A very different perspective on CS and the tech industry. Yesterday I had a database manager from Blackfoot Communications, a local telephone and ISP company, come in. Again, another perspective on the tech industry. It was very interesting to hear him talk about how many companies he has worked for in his tech career. All of the people we have talked to have the same job to job pattern. CS is for gypsies.
Five of the six kids in the class are heading for a CS/tech career. They get some real eye openers from these speakers. Perhaps the biggest has been that a university degree is not the end of learning, it is the beginning. All the speakers have said that the university is a foundation and is only good for getting started in the field. In all cases the speakers have stressed that the most important thing a university education imparts is how to learn. What they actually learn will probably be out of date in a very few years.
No matter how we look at it, high school CS courses are job training. Kids take math without the intent to become mathematicians. Four years of English and yet how many get a job actually in English? Most of the high school core curriculum is that way. CS classes, on the other hand, are full of kids looking at CS/tech futures. Jobs that are directly related to high school course work. It is important for the kids to see that broad spectrum of jobs that CS can lead to. Talking to everybody from the cubical rats to the pure idea people gives perspective. Knowing the climb from a college degree in programming to being a wiz-bang game programmer is not always direct or easy (unless of course you are going the indie route, then it can be even worse) is important for these kids. So far I have had everything from the horror of cubical programming to someone who has worked around the world. Good stuff.