A reporter recently asked me what advice I had for kids coming out of high school. I said, "Go into computer science and you'll probably always have a job." I wonder if I should have said: "Skip college and spend all your time teaching yourself computers."
Especially in America, where an education incurs tremendous debt and most educational institutions teach you so little of what really matters, you have to ask: "Can't I just do this myself?"
Career Focus
Interview: What do software architects really do all day?: Being a software architect means both setting the vision for future applications and demonstrating it with proofs-of-concept. For an architect who engages, the work is anything but abstract.
Get the Enterprise Java newsletter delivered to your inbox.
I don't have a computer science degree, though I've worked at big-name companies and founded my own firm. I've literally grown up in this field. I started programming in BASIC when I was 8 years old and learned how to create database-driven software in dBase III+ when I was 9 or 10. I even grabbed big books on compiler theory and all kinds of nonsense so that I'd know everything I needed.
If I had picked up a degree, I would have missed the entire dot-com boom and graduated during the ensuing recession with no experience carrying a load of debt. Instead, I stayed gainfully employed through all but a month or two of the bust and joined a successful startup as the economy picked up.
But is teaching yourself to code sound advice given today's grinding economy? If you believe the headhunters, the national unemployment rate for the technology sector is 5 percent. If you recall, 5 percent unemployment is supposedly "full employment," where everyone who wants a job has one.
Moreover, most of us in the industry believe the supply of talented programmers will forever be constrained. A recruiter recently asked me why employers are so picky. I explained that of the people who earned a computer science degree, most don't know any theory and can't code. Instead, they succeed at putting things on their resume that match keywords.
Plus, companies don't consider it their responsibility to provide training or mentoring. In fairness, that's because the scarcity of talent has created a mercenary culture: "Now that my employer paid me to learn a new skill, let me check to see if there's an ad for it on Dice or Craigslist with a higher rate of pay."
When searching for talent, I've stopped relying on computer science degrees as an indicator of anything except a general interest in the field. Most schools suck at teaching theory and aren't great at Java instruction, either. Granted, they're not much better with any other language, but most of them teach Java. Not that there aren't bright, shining exceptions; for example, every single Virginia Tech grad I've interviewed has a firm grasp of theory.
Our most successful employees have been nontraditional hires. One of my most valuable players has a doctorate in music, got promoted on his first assignment, received wild raves from clients, and now leads large integration projects. I have another fellow who we hired directly from an Apple Store. On his first assignment, he developed the AJAX UI for a multi-billion-dollar financial institution that the client loved.
There's nothing wrong with education, just with most conventional educational institutions -- which today are getting a run for their money from nimbler organizations. For example, the Starter League (formerly Code Academy) in Chicago teaches Ruby in eight weeks. Graduates I've met from the there seem to be capable and incredibly motivated.
I value computer science theory a great deal -- and I'd love to see more computer science in high schools and much better programs in colleges. But unfortunately, most grads don't seem to be getting their money's worth from the trusty old BSCS. On the other hand, I've met a lot of great folks who've made major strides with little more than a hungry mind and an Internet connection.
In my experience, self-motivation, a nearly pathological interest in the field, and great problem-solving skills are vastly better indicators than a college degree that a hire will be successful. What's your experience?
This article, "Is a computer science degree worth the paper it's printed on?," was originally published at InfoWorld.com. Keep up on the latest developments in application development at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.