Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Alright, I have searched around a bit on this site and found two somewhat similar questions:

Computer Science Programming Certificate vs. Computer Science Degree?

Is it possible/likely to be paid fairly without a college degree?

But these do not provide an answer specifically to what I am seeking. I have my 2 year A.A.S. Degree in computer programming, along with a networking certificate from a technical college. I also have been working at a small educational game development company for 3 years now in various positions, but steadily moving up and now as a lead programmer on a few projects.

Some of the higher programmers I work with claim that no matter how much experience I develop it still will not mean as much as someone with a 4 year degree. Their argument is that most employers will look over my resume because of the common '4 yr' minimum requirement.

I have also heard people state (not as many though) that experience is everything and that an employer would rather have someone that has worked in the field instead of a rookie fresh out of college.

I have heard both sides of this argument, but am looking for a general consensus, or more arguments from both sides from the people who have been there, or are there.

share|improve this question

closed as off-topic by gnat, GlenH7, MichaelT, kevin cline, thorsten müller Jan 20 '14 at 13:55

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – GlenH7, MichaelT, kevin cline, thorsten müller
If this question can be reworded to fit the rules in the help center, please edit the question.

This is when it would be nice to have legitimate certifications and examinations for our field. There are some that have close to a decade of education and are terrible programmers, yet others are self-taught wizards. –  Jordan Aug 11 '11 at 7:12
@Jordon Programming is artful, you can't qualify art accurately, so there can never be an accurate programming qualification. Unfortunately. –  StuperUser Aug 11 '11 at 13:48
I believe that in the long term a 4 year degree pays off, although it does depend on the cost of your education, and, ultimately, on how smart you are. –  Job Aug 11 '11 at 15:08
@StuperUser: artful, I like that. :-) –  Paul Nathan Aug 11 '11 at 20:22
@StuperUser programming and development are more of a craft than art - certifications are still hard because examinations are typically structured on knowing things, and not on process. Bring back apprentice/journeyman/master, I say... –  HorusKol Dec 12 '12 at 3:25

14 Answers 14

up vote 31 down vote accepted

I've worked with many good programmers who did not have a degree (or in fact any formal qualification in s/w at all).

HOWEVER - The trouble with not being educated formally is simple: You don't know what you don't know.

As a consequence, I've seen people go off and use all sorts of horrible methods to solve problems (such as for example, parsers, and some more exotic algorithms for target trackers) simply because they did not know a little about compiler construction, or Kalman Filters). Sometimes those horrible methods work and get a solution over the line, and sometimes they don't work - so it costs the employer a vast amount of money to get a non-solution. And sometimes the result is hideous, unmaintainable code.

If you have the option, get more education. You'll only use 10% of what you are educated in, but you do not know in advance WHICH 10% THAT WILL BE!

(I spent many years working in fields where I did badly in my education and swore I would never work in those fields because I hated it. I fell into those fields by accident and somewhat reluctantly, learned a vast amount, and would do it all again if I could. Never say never.)

share|improve this answer
+1 - Not having studied CS at University, in my early, naive years, I found myself trying to solve problems and being pretty pleased with my solutions, only to be amazed that some bloke with a beard had come up with a standard solution 50 years ago that worked fourteen times better. –  Qwerky Aug 11 '11 at 8:58
+1 for "You don't know what you don't know." +100 if I could. –  John R. Strohm Aug 11 '11 at 12:58
I have a CS degree but I have a faint idea about what a Kalman filter is and when to use it. Yes, I did not go to Harvard or MIT, but I think my program was decent still. On the other hand, Stack Overflow is free and full of experts :) One still has to be willing to put the effort into mastering something, but SO is great for exactly that - figuring out what you do not know. My take on the 4 year degree is - like it or not, but it will likely help one command a higher salary, merely because getting an interview without a degree is harder, and an average coder interviews a lot during their life –  Job Aug 11 '11 at 15:07
True, a good mate of mine is a very talented, but becasue he's not done enough reading around the subject, his knowledge of design patterns and the like is pretty crap. I often have to suggest ways of refactoring his code for him. The converse of that is that i have lots of knowledge about design patterns, but i'm not particularly good with any language. Between us, we get the job done :) –  MrBliz Aug 11 '11 at 15:22
+1. I spent a couple of years working in a field where a lot of legacy code was written by non-programmers (electrical and mechanical engineers). The company only hired qualified programmers when they realised the software was getting too complex to let the non-programmer engineers do it. Anyway, that experience blew the whole "experience always trumps school" thing out of the water. There were entire data structures based on hash tables being used as arrays, for example. I'd hope noone with a CS degree would do something like that. –  Bobby Tables Aug 11 '11 at 22:11

Experience > Qualifications. Everytime.

Experience + Qualifications = winning ;)

share|improve this answer
I didn't downvote. But just want to say that occasionally you CAN come across very bad self-taught programmers who nevertheless have a lot of programming experience. I got badly burned by maintaining code written by oldskool electrical engineers for example. Granted, this was a very specific niche which saw electrical and mechanical engineers doing coding until things became too complex and automated and they needed qualified programmers to come in and do it. But the general point still stands: mechanical engineers who'd been coding for 12 years produced worse code than a 1st year CS student. –  Bobby Tables Aug 11 '11 at 7:15
@Bobby - Electrical engineers can write ladder logic in any language. *8') –  Mark Booth Aug 11 '11 at 11:04
@Mark: too true. /weep –  Paul Nathan Aug 11 '11 at 20:24

I've heard that the BS in Comp Sci is invaluable and you can't get anywhere without one. I've heard that comp sci degrees are meaningless and half of the people who come out of comp. sci. programs haven't even heard of OOP.

Being one who has a BM, my honest opinion is that the places where they have the best developers won't care what your degree is in, so long as you have the aptitude. Even though Google says they want people with MS's and PhD's, if you can show that you know your stuff, they'll hire you.

On the other hand, places where the HR department has significant say in who gets hired and who does not, yes, that can be a problem. So it is nice to get your foot in the door.

share|improve this answer
+1 for the HR comment.... –  MrBliz Aug 11 '11 at 17:50

Their argument is that most employers will look over my resume because of the common '4 yr' minimum requirement

That's mostly true; some employers will not consider you without a four year degree, but the percentage of employers requiring degree has increased over the years. You will have to decide whether or not you want to limit your career to only those companies that do not require four year degrees.

In my experience, having a graduate year degree improves your income potential considerably. At your age, a four year degree should net you an extra half- to one-million dollars in additional income over your lifetime. A degree is a good investment.

share|improve this answer

It depends on the content and depth of content covered in your 2 year certificate. For example, in Australia, a certificate in programming is very very hands on an doesn't cover the core concepts taught in the first 2 years of a computer science or software engineering related bachelor degree, such as design patterns, operating system theory, networks protocols etc.

I find more value in a potential employee with 2 years of a bachelor degree than two years of a (completed) certificate level, plus 2 years real world experience.

share|improve this answer

2-year colleges tend to be very trade-oriented rather than concept-oriented. Consequently, people who choose those degrees for themselves tend to be trade-oriented rather than concept-oriented. That usually means a laser focus on a narrow range of technologies, say Windows desktop applications built using the latest Microsoft toolchain for example. Inside that range they will often outperform their 4-year counterparts, but may need a lot of retraining when venturing outside it. If a company happens to need programmers for Windows desktop applications using the latest Microsoft toolchain, that's great. If you want a change and apply for an embedded software job using a green hills toolchain, you're going to have a harder time convincing someone who only knows you from your resume that you can do it without a significant training investment.

share|improve this answer

I have a master degree in Computer Science. However for the jobs I did so far I use just the 10% of what I studied. Without any doubt, it is not a matter of "quantity", rather the extra 2 more years of study let you go deeper in core subjects or widen the subjects set (in my case during the Master studies I was also involved in Mechanic and Artificial Intelligence, as example).

Said that, experience could be the winning card for the immediate, since many companies tend to take a developer with 2 years of experience than a fresh graduated one after a 4 years course (I also experienced this personally for the first jobs).
By the way an higher education could pay back when it comes time to take some manager position. Once I was speaking with a CEO from a software house in Germany. He told me that in Germany all the managers (and he too) had a PhD.

This is not a mandatory requirement overall, but for certain positions it can make the difference.

share|improve this answer

A good company will overlook education in the face of experience; a bad one will adamantly adhere to "must have a Bachelor's degree" and lose amazing candidates because they're stuck in a stone age mentality.

In this day and age a degree is a stepping stone, that's all. There's a point where your proven experience trumps a piece of paper from an institution that probably teaches you nothing of value.

share|improve this answer
I agree fully. I don't have my four year degree and quite frankly if that prevents me from getting in the door for an interview then they have done me a favor. –  Mike Aug 11 '11 at 14:12
Same, I only have a 2yr degree (I would like to get a B.S. but I don't have the time) but I have been in the IT field for... around 5 years or so now. If the deciding factor is "You don't have a Bachelor's", I probably don't want to work for that company anyway. –  Wayne M Aug 11 '11 at 14:21
-1 "piece of paper from an institution that probably teaches you nothing of value". Sorry I call BS. That may be true for a liberal arts degree (maybe) but it certainly is not the case for computer science degree. –  Kevin Aug 11 '11 at 14:31
I don't know, I've met a lot of people with CS degrees who said they barely learned anything of value in the course, and certainly nothing that was immediately applicable to the real world. –  Wayne M Aug 11 '11 at 14:39

demonstrable experience will always trump a piece of paper in my experience.

I ran my own consulting company for ~15 years and have been a Director of Application Development as both small and large companies without any formal computer science training much less a degree in computer science.

So a piece of paper isn't a requirement for success. Being able to market yourself and demonstrate what you know and can do to the right people is the most important thing.

I actually went to Art School, think about it this way.

Would you hire a Graphic Designer that could show you 4 years worth of work they did for paying clients, that demonstrates what they have accomplished, or would you rather see a piece of paper that represented someone sitting in class and taking tests for 4 years.

share|improve this answer
are you saying that someone who earned a degree hasn't accomplished anything? It's an accomplishment in and of itself, if you ask me. –  Kevin Aug 11 '11 at 14:33
they accomplished something yes, unless they did extra work on side projects like open source development, they don't have anything that demonstrates they can do anything for me, a degree demonstrates you can sit in a desk and study to take tests, not solve real world problems. –  Jarrod Roberson Aug 11 '11 at 15:07
"Experience" demonstrates that you can sit at a desk also. –  Kevin Aug 15 '11 at 22:42

I've just been interviewing candidates this week for a Development contract position. All of them had degrees (Or at least claimed they did), but since i wasn't about to go down the process of ringing up the university's concerned to verify this, it didn't make the blindest bit of difference.

Their experience, the interview, plus the code that they wrote during the interview was what separated the two that made the final shortlist, not their qualifications.

To answer the 'You don't know what you don't know' question, i would say that most universities publish the reading lists for their courses, so pick a module from a university that interests you, and go and read the books.

share|improve this answer

I have a 2-year degree, a couple of certifications, 15+ years experience in the IT industry, and 5+ years experience as a full-time developer. I have never (to my knowledge) been overlooked for a (good) developer position due to lack of a 4-year degree. In my experience, good results-oriented experience coupled with a desire for continuous learning trumps a degree hands down.

As I have transitioned into a lead role and have become more involved with the hiring/recruiting process, I personally much prefer experience to formal education, especially as time goes by.

That's not to say there isn't value in having a 4-year degree; there certainly is. But there's more value in experience. If you don't have a 4-year degree, you should emphasize the benefits you have gained from your experience using tangible, straight-forward language that any recruiter or hiring manager can understand.

share|improve this answer

Speaking from experience, getting a job with a 4 yr. degree and little to no experience is tough. From job ads I've seen, most companies are very willing to substitute experience for a degree. That being said, I do think that a lack of 4 yr. degree can hold you back from some of the higher level jobs. My recommendation is don't worry that you won't be able to get a job, but do consider finishing a 4 yr. degree. In the long run I think it will really benefit you.

EDIT: The one thing that really gives you an edge with a degree is the fact that a ton of HR/recruiter types don't know jack about programming and so they may simply toss resumes that don't have what they think is important. It's just one more thing that will help you get your resume in front of the person that actually matters.

share|improve this answer

A degree is merely a piece of paper.

Technology is always changing, and formal education shows commitment to your area of study. Formal education is a beautiful tool, but in the land of programming, you must be able to keep up with the times. You must always learn, listen, and soak up as much information as possible. You are not to young to learn, and not to old. Everything you know today, you must let go of to learn tomorrow.

As long as you stay focused in your area of study, a 2 year degree or 4 year degree should not make the difference. As long as you study, and pay attention, and learn from everything and everybody around you, success will be available.

Don't be scared to ask questions, and get involved in open source projects, to join a programming community, or just live the way of a programmer. Programming is a way of life, no education is useless, as long as you take is seriously, and learn from the educator.

share|improve this answer

It has been my experience that both BS and Tech School programmers can be perfectly capable "programmers". Even when you look at the BS level candidates there is great disparity. Many schools will classify their MIS majors as CS, but I can tell you from experience that I would rather hire a 2 year tech school grad than a 4 year MIS grad as a programmer.

The major advantage of having a BS in CS or SE is the ability to fully understand the math behind why certain processes are faster than others and solve problems that are more complex than just "how do we code this". Big O and amortized analysis may seem unimportant when you are in school, but if you are going to work on anything big you will need to understand them very well.

If you go the technical degree route you need to be willing to accept the fact that there are employers out there who simply will not hire you even if you are better than your 4 year counterpart. That being said, you still won't have a problem finding a decent job and making a good living, especially as you gain experience.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.