Applying a College Degree
Last Sunday, I had lunch with 4 friends I haven't seen since I was attending U.C. Davis. In 2001. Five years ago(!). In a random "what-are-you-up-to" e-mail recently exchanged between Jeff and I, it came to be known that we live a mere 4-5 blocks away. What's more, my old roommate Conrad lives only a couple houses away from Jeff, so he is equally close!
So, Jeff, Conrad, and two other guys (Yang, Naoki) from our Computer Science program met up for lunch on Sunday. It was great to catch up and hear what people are doing since obtaining their Bachelors or Masters degrees. I am fascinated with the broad range of jobs open to people studying Computer Science. There are the obvious software engineering jobs; but, also the not-so-obvious jobs dealing with computer/network security, configuration management, industrial control systems, etc.
I think that undergraduate Computer Science programs do a good job of providing students with the skills to work in a variety of jobs in the field. But it is up to the students, upon graduating, to decide how they want to apply their new skills in a way that serves society best. It's much like a parent providing their child a moral foundation upon which the child can build a structure composed of experiences influenced by their moral beliefs.
A problem I've seen with computer-related jobs is that fine-grained skills quickly become obsolete. Programming languages come and go, design tools are replaced, and application frameworks are eternally subject to popularity trends. But in the end, the basics rarely change. Just as it takes commitment to stay morally-grounded, it takes commitment to stay keen on the underlying concepts of one's trade.