in reply to Climbing the corporate ladder

I have been fairly heavily involved in the hiring process at my current and previous jobs. At my previous job, I often looked first at the applicant's college, degree, and GPA, and if I didn't like what I saw there I barely scanned the rest of the resume. At my current job, I will often look at the degree, but I will only pay attention to it if it is something interesting (namely, something besides a CS degree). And I think I had decent justification for both attitudes.

In my previous job, our company was heavily involved with creating, optimizing, and implementing fairly complex algorithms. Most of what we did was to analyze a problem, place it in the context of known algorithms, figure out what new techniques or algorithms needed to be developed, come up with them, and then translate them into code. As we gained experience in interviewing people, it became evident that those skills were rarely found in self-taught coders. It requires a genius to get good at those on one's own, whereas they teach exactly that sort of thing, useful or not, to everyone who goes through a CS education. We loved fresh college hires.

That company is now dead, and I suspect a big part of the reason is because we spent our time and effort doing what I just described. Like so many other companies from that time, ours was technology-obsessed, and we had a great solution in search of a profitable problem. We worked hard to make our solution just right, but didn't pay too much attention to making it useful or appealing to customers. (Sound familiar, anyone?)

At my current company, we've been shipping product since near the beginning, and we mostly need developers who can figure out what people need, code it up, and make sure it keeps working even in unanticipated situations. And for that, college is largely useless. We don't care for fresh college hires. Someone with a good solid degree may work out fine -- but usually only if they've had quite a bit of post-college real-world experience, and a self-taught guy with 6 years of experience is usually way better than someone with 2 years of experience plus 4 years of college.

I guess I'm saying that college can be useful, but it's really dependent on the company and position. If a company ignores you because you don't have a degree, then it might be for a good reason (eg they are working on stuff similar to what is taught in schools), or it might be for a bad reason (eg they have a blind belief that a person with a degree is always better or safer to hire than a person without). Both types of reasons might be cause for not wanting to work at that company in the first place.

Another related bit of experience: upper management types, when looking to hire peers, definitely do notice degrees for prestigious universities. On the other hand, I've also heard them ooh and aah over someone's track record, when that person never finished their degree. You will need something for them to be impressed with for that sort of position, but education is only one type of shiny object you can hold out.

For myself, I would only go to school if it was going to actually teach me something that I needed. Perhaps that's because I have a steady paycheck, no kids, and a well-stocked refrigerator, but if you have the luxury of improving yourself rather than improving your superficial appeal to other people, then do whatever is going to really make you more effective. The experience gained from tackling a difficult problem certainly qualifies. Schooling might, if you feel you are lacking analytical skills or knowledge of the state of the art and algorithmic techniques. College will definitely expose you to many patterns and approaches that you might not encounter in your regular life (or not recognize). So will reading other people's code, working collaboratively on open source, or reading and trying to understand the various technical blogs and summaries floating around.

Oh, and one last data point -- in hiring at my current job, a CPAN module or open source project on someone's resume is going to be way more impressive to me than any degree. And I have an advanced degree from a good school, so it's not just because I'm a defensive antiestablishment basement coder. (I'm a mainstream defensive basement coder, dammit! Agree with me or be irrelevant!)