Education paths for tech workers has been pretty cut and dry for the past few decades. Get through high school and ideally be good at math, then move on to a university and major in computer science, or computer engineering, or some type of mathematics. Alternately, go to university and major in the humanities and spend a lot of time with learning on your own after graduation while working your day job.
There are a few problems with this model though. Most software jobs don’t require a deep understanding of pointer arithmetic and data structures. After graduation, most of us will spend your days writing web-apps that help with some business process. I don’t mean that as a bad thing, at all, there is a lot of value there which is why this is such a big part of the programming world. So, you spend 4 or 5 years learning the most intimate details of software development and may rarely have an opportunity to use that knowledge.
(I have a hard time learning in this environment, do you?)
Expense was a big problem for me, I bet others have shared this experience. A university diploma isn’t cheap and it is growing more and more difficult to justify for a lot of people. I spent about 10 years on my undergrad working full time as a way to offset the cost. Each semester I took one or two classes and paid in cash. While taking one class per semester, the industry work experience I was gaining quickly became more valuable than the degree I was working on. I knew something was up, but there that nasty rumor that you will never advance without a degree kept looking my way.
There are quite a few non-traditional school options around that are probably worth exploring if you find yourself questioning the university route. Job specific schooling can be a great alternative for people who don’t fit well into a university system, or people that are already in the workforce but are looking for a change.
Tech schools range from the extremely casual to an intense boot camp type atmosphere (sans push ups I suspect). On the more casual side of things are websites like codeschool.com where a student can register and work through a series of exercises based on the technology they want to learn.
(Nashville Software School graduating class)
The goal of this program is to teach technologies that there is local market demand for, and to help the students land a gig as soon as they graduate. From what I understand, they are doing a pretty good job at both of these things.
If you want to build software for the space station, or for geological drilling expeditions, sure, go get that university degree. But if you aren’t set on that, you may want to consider some vocational options.
Next time I’ll be talking with a friend and instructor at Nashville Software School to get a closer view of how they do things.