Home » Opinion » Do Programmers even NEED a degree?

Do Programmers even NEED a degree?

Well, a post that is no longer available really got  things going in blog-o-sphere.  Shoot!  Even Joel Spolsky got involved.  I saw another post, but I’m sorry to say, I can’t find it right now.

The original article put forth the idea that we are teaching the right stuff in our undergraduate Computer science degree programs.

Joel’s article suggested that what we really need is a bachelor of fine arts program for programmers.  That programming, and computer science are really two entirely different disciplines.

I think Joel’s onto something and his solution is probably the closest to what our current educational system can handle.  But, I have another solution to the problem that goes further.

Why get a degree at all.  Most of you reading this post know as well as I do that a good 80% of what most programmers learn, they didn’t learn from college.  Let’s face reality here.  First, any degree program is, at best, 20 years behind.  It’s just a fact.  Ours is not the only industry facing this reality.  Second, the really good programmers are already doing what these schools are trying to teach.

Joel suggest that we have people from the industry come in and teach this BA course work he’s suggesting.  There are several major problem with this.  First, most (not all) of the really good programmers can’t teach.  Some could with some training, but the school isn’t going to train them.  And those who can teach, probably don’t know the recent material.  There ARE exceptions.  My point here is that the exceptions won’t fill the need.

But, what would happen if we went back to a really old way of doing things?  It worked.  We are almost doing some form of this already, mostly after graduation.  What if we just skipped the programming degree completely.

I’ve been in this field long enough (20+ years) to know that most of the really good programmers got into our field through some back door.  I was a camp and recreation major that converted to programming via DePaul’s career change program.  A hoop I jumped through simply so I could get the first job.  At least 80% of what I was taught I was already doing as I had experimented with Basic, Pascal, and C.

I know another guy who dropped out of school his sophomore year because he already had the job he was going to school to get.

And don’t even get me started on certifications.  Let’s say we stop testing knowledge and start testing aptitude.  The aptitude test I took nearly knocked me out of the DuPaul program.  At the end of the program, the main prof told me i was the best natural talent he’d seen come through the program.  Wonder if he knows he almost never saw me?

Let’s face it, what we as programmers need to know to do our jobs effectively can’t be taught.  And most of what can be taught could be taught on the job.

So, here’s my recommendation.  Why don’t we go back to using the apprentice system?  This allows a good senior programmer to get a feel for what kind of programmer the new guy is going to be.  It would help the new programmer find out really quickly if this is what he really wants to do with his life.  He give the formal training the new programmer needs.

Unless you’re just starting out, you know that most of what you learn, you learn from experience.  Why not just admit that and stop trying to fit programming into a degreed program that largely doesn’t work for our industry?

See also:

 

Other post in Opinion

About Dave Bush

Dave Bush is a Full Stack ASP.NET developer focusing on ASP.NET, C#, Node.js, JavaScript, HTML, CSS, BootStrap, and Angular.JS. Does your team need additional help in any of the above? Contact Dave today.

Leave a Reply

19 Comments on "Do Programmers even NEED a degree?"

Notify of
avatar
Sort by:   newest | oldest | most voted
John
Guest
Really good article. I agree with your system of teaching. I have a college degree in Graphic Design but ended up in Printing. I found it to be a natural extension of my talents. Although I have to admit my design classes helped my career choice, I was basically taught by a mentor in the trade. I would like to expand my knowledge into 3-D modeling or simulation creation. The thing holding me back is the thought of going back into school and wasting my energies on outdated or obsolete information. With my computer and graphics background I feel would… Read more »
Students With Jobs
Guest

I’ve got to say, you weave a convincing argument. Terrific article, and I agree with the apprentice system. It seems to work well with most of the trade skills. I don’t see why it should be any different with programming.. and that is coming from a college student!

Yellow Jacket Coder
Guest
I’m going to have to disagree. It is entirely untrue to say that a degree is required. But it is true to say that many self-taught programmers have large gaps in their knowledge that required coursework would have filled. Any programmer that decides that “X is lame; I’m not going to bother learning anything about it” will have gaps that will make them less useful. Not all self-taught programmers are like this, but in my experience, enough are that it can cause problems when they have to do non trivial tasks. There’s also the issue of expecting a professional to… Read more »
Mike
Guest
I have to disagree about the degree and ability. I left in my second year of college and was able to do work for on company that would have qualified for master thesis work (a multi-user/multi-tasking OS that ran on 8086/80286 systems, compilers, virtual machines, debuggers, etc.). We hired a guy that had a doctorate in Computer Science and I originally thought he would be great. It turned out all he could do was copy code he would find in a book or online and shoehorn it into existing code. If it didn’t work he rarely was able to get… Read more »
Cus
Guest
Thanks for referencing my site. One thing I didn’t emphasise in my original post was that my degree was in *accounting* 🙂 I’ve worked with folks with degrees in geology, history and others – they were in the majority. What I’ve found however, is that almost all the good programmers had enough of an interest that they were interested in self-improvement outside of work. It’s how I continue to learn, even if I’m more of a Designer or Solutions Architect now. Degree or not, having a developer who is enthusiastic can be a real boon *as long as the developer… Read more »
jw
Guest
No degree worked for me. Senior programmer/DBA for 8 years now. Dropped out of college ASAP. I’m just not big on organized education. We have hired MANY CS grads here. Most don’t have a clue and it takes them several YEARS to get up to speed to be able to work in a REAL programming department at a mid-sized corporation, and we have nothing “fancy” here (simple standards based apps). I think it is really sad, and probably confirms to me that going back to school to complete an degree program would be a waste of time. Either you are… Read more »
mike
Guest
A computer-related degree can have a lot of value for someone who wants to get into the field and can find a company looking to hire for entry level programming positions. A degree is about the only qualification a company can really look for in an entry level position. Companies that hire entry level programmers are usually doing it with the expectation that the senior level programmers will provide some degree of mentoring. This doesn’t mean the senior guy has to sit over the new guy’s shoulder all day long, just that they review some of the code and be… Read more »
Tim
Guest
I followed the path of wanting to be a studio musician that failed to become a mechanical engineer that turned to a computer science degree and ended up programming. I whole-heartedly agree that a computer science degree is vastly different than a programming (or MIS) degree. Computer science is a lot more about theory and understanding how computers, compilers, microprocessors and digital logic works whereas a programming degree would (I presume) focus more on problem solving and using a language’s syntax as a vehicle for delivering a solution to a challenge or need. I am compelled to add another aspect… Read more »
SnowboardingProgrammer
Guest
I didn’t need a degree. I have been programming for 25 years or so. I am 31. I got expelled from high school. I am doing great! I am completely self taught except for the computer course at private school that started me off in the 80s. I have started many of my own companies including bigbearlake.net and reservationtrack.com my new one about to be released. I do everything graphics and all! I also have several projects engineered for future AI and other computing needs. So no I definitely don’t think a degree is required.
Rhys
Guest

I have to agree, i actually got into my programming job through an apprenticeship scheme. Not sure where you are but here in the UK the government is doing a lot to encourage companies to take on apprentices

Drew
Guest

I only minored in “Computer Science & Engineering” with another in Theater and a degree in International Studies. I wouldn’t call what I do right now science, but I am definitely programming and it takes a creative mind. If I’d actually found a love for programming earlier, I doubt I would’ve needed a degree, but it is useful when applying for jerbs.

Gcoder
Guest
I agree. I dropped out of high school, as the learning environment was more forceful than encouraging and engaging. I learn best when I enjoy something, if I’m pushed or forced, than I lose interest. That’s what happened in high school, so I left. I had started coding when I was 12. By the time I was 15, I got an internship $7/hr. But I didn’t do much, other than learn from my senior. And that 7/hr were more than worth it. I learned a lot. When I was 17 and had dropped high school, I got a decent job… Read more »
John
Guest

In a degree you get the basic knowledge and you learn to work as a scientist. But to make that work you need passion. From my experience the quality of the software in the industry is very poor and most will fail in a basics university exam. Why? Because why thing we are the best and we thing we know all and we don’t thing as scientists.

B. Clay Shannon
Guest
I agree a degree is not required; I’ve been programming professionally for 20 years, and all I had was a few classes in junior college after I was classified as a displaced worker when the gold mine where I was working as a blaster (“powder monkey”) shut down. Besides, what can anybody teach you that you can’t learn from a book/the Internet? And will you ever make up the four years of lost income and the tuition and other costs incurred? Unlikely. Yes, aptitude and code you’ve written should be the key, not a piece of paper that said you… Read more »
B. Clay Shannon
Guest

As Frank Zappa said, (paraphrased) “If you want to meet girls, go to college; if you want to learn something, go to the library.”

biagiop1986
Guest
I think it’s a matter of “focus”. Colleges and universities focus a lot on math, physics, electronics, A.I. courses and so on. Depending on the company you will work for, you could need a lot of the concepts learned in different classes, not only programming ones. Where I studied, programming skills were needed only to make projects in courses not directly related to programming. So, I learned Java in A.I. class, C++ in Computer Architecture class and so on. So, now I know how to program but I learned it while learning a lot of valuable different stuff. I think… Read more »
Dave Bush
Guest

And a guy who learned programming on his own couldn’t also pick up that other stuff when he needed it?

biagiop1986
Guest
Of course he/she could, but the problem is that studying this way will never give “the big picture”. One could lack at all the time to *really* study a linear algebra book and just get a quick glimpse of unintelligible symbols. Studying advanced theoretical concepts is a slow process of reading, experimenting, digesting and eventually understanding things. Is not like looking at the syntax of a switch statement. Moreover, the bigger danger is that one could never know he/she lacks some knowledge: imagine one starting to write C code after reading K-R book. Can he/she do that? Of course, all… Read more »
Dave Bush
Guest

In theory, you are right. In practice what I’ve found in my 26+ years of programming is exactly the opposite. I think we just have to agree to disagree.

wpDiscuz