During my hiatus I ran across an article lamenting the college degree requirement.? Programming is a young field – many of it core principles and tenets were created a mere 40-50 years ago.? Best practices are still hotly debated all across the Internet, and the value of a college degree is still struggling to establish itself.
Part of the problem is that a large number of practitioners came into the profession without a computer-related engineering or science degree.? These individuals have had long and productive careers and so understandably are more forgiving of others without a computer-related degree.? Of course these numbers are at least partially due to the immaturity of the field.? Not all universities offered computer related degrees, so folks got degrees in other fields.? The rapid explosion during the dot-com boom and Y2K scare created a huge demand for developers, driving up salaries and luring folks into the field who had probably never considered it as a viable career path.
So now we are in a situation where we have established degree programs and well-accepted curriculum for teaching people how to develop software, but an actual industry consisting of a number of folks who did not have the opportunity to learn the curriculum because they were busy actually doing it.? Naturally, number of these people look around and think that since they don’t have one of these degrees and they have done fine, their worth must not be that great.
Of course, they would be wrong.
In the article, the author makes a couple of different claims.? The first is that experience trumps a degree.? This is true, but how do you define experience?? Is experience working as a shift supervisor for 5 years worth more in a development context than a senior project developing yet another web page?? And if you are attempting to compare a developer of 30 years against a recent college graduate, there will be no contest.? Experience only matters in context.? Degrees are just another way of demonstrating experience.
The author also claims that want and desire should outweigh having a degree.? Of course, want and desire is also one of those things that is real problematic when it comes time to define it.? To use the author’s example of the person who taught themselves programming at night while working a full-time job, perhaps the taught themselves programming not because of any particular interest in it, but because it was a way out of the dead-end job they were currently working in.? Doesn’t getting a degree indicate an equal or higher amount of desire?? As anyone who has suffered through one of the “weed-out” courses in computer science or engineering can tell you, getting a degree in business administration can seem mighty tempting at 3:00 am on a Saturday when you are stuck in a lab and your friends are stuck in a party.
Finally the author claims that since everything taught in the degree programs can be learned outside of college, there is no real need to actually go or finish school.? While true, this simply misses the point.? If I am seeking to hire a candidate and I receive 500 applications, I do not have time to sit down with each of them and determine whether they have learned the skills I need them to know.? Everything we do and every profession can be learned without having formal education in it.? But formal education provides a common standard against which others can judge us.? There is no need for every person to be an expert civil engineer to determine whether the guy building that bridge has some minimum knowledge.? Instead they can look to see if he has his degree.? They can look to see where he got his degree from and determine how much prestige it has.? This gives us a common understanding of the type of knowledge he is expected to have.? Without a degree, the only way to determine this would be to have enough knowledge to ask him yourself, which is not practical.
I obviously fall into the pro-degree camp.? On the job learning, or even learning from home, tends to focus on what is needed right now.? You can learn the motions, but it is much more difficult to learn the reasons.? A formal education should focus on teaching you the why’s and leave the how’s to be learnt in your own time.? A degree program should protect you from having to learn the arcane details of a specific language in favor of learning why those details exist.? The degree program should teach you how to approach and solve problems.
A degree also provides you with a common learning experience and language.? Upon entering the workforce you can immediately relate to other developers who share the same knowledge and language.? A college degree implies that you have a minimum amount of ability and that you have demonstrated a minimum ability to communicate that knowledge.? In business, communication is everything.
At this point I should mention what I mean when I refer to a “college-degree”.? The article took that to mean a “Computer-based college degree”, so I have done the same.? In reality, however, I believe that the benefits of a degree translate well across domains, especially if the degree is still in a science or engineering based discipline.? The difference between a person with a comp-sci degree and one with a chemical engineering degree is minor enough that it can often be overlooked unless you need instant productivity.? Both would have demonstrated an analytic ability and a intense dedication to learning.
This is all assuming a recent graduate (up to even 10 years).? If I am looking for a more experienced applicant, than experience will obviously be the determining factor.? In the end, a degree is simply another way to get your resume noticed.? Hiring is not about interviewing all the perfect candidates, it is about not hiring a bad ones.? Most companies are always ready to hire good people, but if you do not have the qualifications that scream out “good employee”, it is up to you to go the extra mile to demonstrate that.