Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am finishing my college degree in programming soon and I'm exploring the next steps to take to further my career. One option I've been considering is getting a certification or a series of certifications in the area of development I want to work in.

Are these certifications worth the time and money? Do employers place a lot of value in them?

share

locked by maple_shaft Jun 23 '13 at 19:17

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

7  
Most important they won't hurt you. – Lukasz Madon Sep 6 '11 at 10:42
16  
@lukas: Actually, they may. – Jungle Hunter Sep 6 '11 at 11:26
8  
It sounds to me as though you're considering dropping out of school. DON'T DO IT. No matter HOW much of a pain in the ass school is, with that major concentration, you're in very good shape for a number of fields. Instead, talk with all of your professors, and ask them for suggestions on maximizing your marketability. – John R. Strohm Jan 23 '12 at 0:04
2  
There are many reasons why you should finish your degree. One that hasn't been mentioned here (yet) is that if you don't, a prospective employer will view you as someone who doesn't finish what he starts; so probably won't hire you. – David Wallace Jan 23 '12 at 1:18
3  
You plan on working on a doctorate in mathematics, at the same time as you work full-time on something else? I tried that once. I don't mean to sound condescending, but it's pretty much impossible to give doctorate studies the attention they deserve under these circumstances. In my case, it was the studies that ended up suffering. – David Wallace Jan 23 '12 at 5:12

29 Answers 29

The main purpose of certifications is to make money for the certifying body.

Having said that, I think certifications are more important the earlier on in your career you are. As a hiring manager, I never use certifications or the lack thereof to filter potential employees, but I do think some companies may look for these as proof that you know what you are doing. Personally, I want the job candidate to show me they can do something (which is a whole other question, I realize!)

The more experience you have, the more you can prove by examples that you know what you are doing and the less important certifications become.

share
7  
Yes the experience can go a long way. I do not have cert in lang X but I have 5 years experience, here is my portfolio. Hard to negate true experience. – Chris Sep 17 '10 at 18:52
1  
I personally know some certified people barely know how to apply programming skills. They may be good at syntax, concepts but not good enough – pramodc84 Sep 23 '10 at 12:24
3  
+1 for saying the main purpose of the certificate! – Abimaran Kugathasan Feb 7 '11 at 7:11
    
@pramodc84 I know some experienced developers who couldn't code their way out of a paper bag. At least a junior developer with a cert as proven they are interested and can learn. – Evan Mar 10 '11 at 17:14
    
When I'm hiring a totally new graduate as a developer, a certification counts in their favour, but not as much as, say, a month or two of work on a personal or open source software project (as long as they can show me the code and talk me through it). – MGOwen Mar 26 '13 at 23:55

I'd actually go so far as to say a "certification" could be a net negative on a resume applying to a software shop. At Microsoft, Google, Amazon, or startups run by folks from companies like those, there's definitely the attitude that if you need a certficate, then you can't really program, and if you actually can program, then you don't waste your time on certificates. Certificates are viewed as something a technician gets, not a "real" computer scientist or software engineer.

It doesn't really matter whether this is a good or valid or accurate view of those who get certifications. What matters is that this attitude does exist among your potential peers -- at least as those kinds of companies. If you want to work in software at a different kind if company, then YMMV.

share
25  
after a lot of bad experience with MSCP and MSCD "certified" people, a company I used to work for made it a policy to throw out any resume coming their way that listed those 2. – jwenting Sep 6 '11 at 8:06
2  
I'm not sure if it will result in a negative effect on all companies. There always will be companies which look for these kind of things. Because if they didn't you wouldn't have the certification market at all. (You may not like these companies or such candidates, I don't like them, and that's totally our choice.) – Jungle Hunter Sep 6 '11 at 9:31
3  
@jwenting Really? So any guy who's sent, by his employer (yes, some still invest in training), would be immediately discounted by that company? Whilst a certificate is no guarantee of good quality, it's certainly no guarantee of poor quality candidates... – Mikaveli Sep 6 '11 at 11:23
3  
yes, we would bin everyone with MCSD or especially MCSP after a glut of negative experience with people tauting those certs, and analysing the curiculi and finding multitudes of flaws in the very basics being taught. btw, we were a Microsoft Solution Provider ourselves... – jwenting Sep 7 '11 at 8:55
1  
@jwenting talk about shooting yourself in the foot. Mikaveli makes a good point. You would discard somebody with 10 years experience just because a) his previous company sent him on a training course b) he/she thought it would benefit him (in other words, he didn't see THIS thread – Keeno Feb 7 '13 at 11:23

There will be both kind of companies:

  1. Ones who don't care for certifications. Companies like FogCreek don't even believe in knowing specific languages. (Knowing may give you points but that's not the criteria.)
  2. Ones who do care for certifications. These companies may believe in certificates or their clients may. Most likely, the company may give you additional points but it isn't their only or compulsory criteria as far as I know. On the other hand, if their clients want to deal only with a company which employes people with certain certificates then it can be a deal breaker.

What kind of companies are you interested in? On their jobs page do you see you certificates mentioned?

Opinion: Personally, all software companies that I tend to look at are more concerned about how good a programmer you are and many times also how good a computer science person (algorithms) you are. And that's how it should be. To me certificates only tell you how much a person could remember during the tests and not how well they think. Thinking is much higher on my list than memorization (if the latter is at all is on the list).

share
7  
+1 for saying certificates tell you how much a person remembers, not how well they think. I often write software in several languages and often need a reference for subtle differences in syntax and the API libraries - it doesn't affect the quality of the software I produce though. – Mikaveli Sep 6 '11 at 9:38

I'm going to address this from the perspective of a potential hiring manager. Note that I typically operate in and around organizations for whom certifications, and even college degrees, are not a priority -- if you can show me code, demonstrate good development practices, can adapt to different methodologies, and are generally a good, creative team member with an emphasis on sharing/collaboration/contribution, you'll get a shot to do your best work. This is not the case everywhere.

  • You say that you have no degree, but you are working on one. This leads me to believe that you want to continue in school and you are just getting your ducks in a row for when you're done. That you're asking these questions now is a good step toward selecting the "right" jobs to apply for, and trying to get a feel for how developer communities form/interact/have associated norms is a good thing. Stay in school, and work to develop your presence in those communities (Programmers.SE, StackOverflow, GitHub projects, etc). Not only will you gain experience, but you will also gain contacts.
  • Remember that you're at the beginning of your career and you have every path available to you -- pick a path that lights you up. If someone says a certification in XYZ will guarantee you a job (note: it won't), and you just hate XYZ, don't do it. Focus your time in the areas that spark your creativity and make you want to learn more so that you can contribute more -- for other developers, for the company that eventually pays you, etc.
  • How valuable are certifications? For some companies, really valuable. For others, not at all. If you have the money and time to devote to studying for and taking a certification exam, and the process of doing so will augment your current coursework in a way that is academically valuable to you, then there's no reason not to pursue one that interests you.
  • The best way to demonstrate your programming ability is to demonstrate your programming ability. I'm not being sarcastic...really, just show it. Contribute to an open source project. Start asking and answering on StackOverflow and gain reputation. You want to be able to walk into an interview with a good knowledge of programming constructs, so you can answer the FizzBuzz-type questions and their ilk, but mostly you want to be able to say "I can do this thing you're asking because look here: I've done the thing you're asking, here and here and here and here."
share
    
Thanks. This definitely helps. – Joel Cornett Jan 22 '12 at 23:49
1  
You should probably add to your first point, local usergroup. If you live in a big city, there are usually a lot of them (just in Montreal there are around 10-20 of them that have monthly meetup). This is a very good way to get in touch with the community. – HoLyVieR Jan 23 '12 at 1:28

I'm not a recruiter, but so far I have an impression that certification courses give you piss poor overview on how to drag and drop items in IDE, at the same time stealing actual coding time and costing a whole lot of money.

The only good part from certification courses I noticed, was where instructor sidestepped and told about some gotchas he's experienced in his career. The actual content of courses was something along the lines of an online tutorial.

I don't do certifications anymore, seems like a total waste of time to me.

share
1  
yup, the work to study for the certification (if done seriously, and not just grinding practice exams and cheat sheets) is the only real benefit for a person's skill. That said, we're starting to train more people for Oracle certs because it sells, some of our customers demand it (won't take people without them on contracts) and others think it a bonus and are willing to pay more for them. But we overall have a competent group who can do the work without a piece of paper that makes the claim :) – jwenting Sep 6 '11 at 8:09

Some companies are a Microsoft Certified Partner, which requires the company to employ a minimum number of certified employees (MCP). In that sense, it definitely can help.

Outside of that however, I would say that it doesn't really help. Putting work into OS projects can be much more beneficial to one's career, especially if said OS project takes off (or you become a regular committer to an already established project).

share
    
really true .... – Web Designer Promoter Oct 27 '12 at 13:46

Having obtained far too many certifications in my career I can say, other than providers who need a specific number of certified people on staff, my certifications never got me a job by themselves. What they do however is give you lots more knowledge of the topic. THAT gets you the job, not the cert itself. But you can get that knowledge without a cert.

share
1  
+1 agree with this. Personality/character gets you the job... most of the time – Agile Scout May 3 '11 at 14:37

Mitigated As measurement tool

I always look with a grain of salt when someone lists a whole bunch of certifications in his resume. From experience they tend to be used as space filler when experience is lacking. They are not useless but when there are too many of them I tend to raise an eyebrow and wonder if all that time and money getting certifications would not have been better spent on an open source project for example.

but Great As a learning tool

That said, I personally used them a lot as a learning tool and assess my progress when learning a new subject. I used to do a lot of certifications from Brainbench in the good'ol days when it was free. Still, even now I would pay for a certification just to gain a feel on my progress and get an idea of how I rank with regards to fellow programmers. Knowing where I stood gave me more confidence when hunting for a job and negotiating a salary that was closer to what I was really worth.

As msvb60 was saying I doubt the certification by itself may not get you a job but the knowledge gained while trying to obtain it definitively will.

share

Something that hasn't really been made clear in the answers is that certification is very helpful if you're not a good programmer.

Forget working for "Microsoft, Google, Amazon, or startups run by folks from companies like those": what if your ambitions are lower and you want to work in (just an example) the IT department of some big government agency? They don't tend to hire good programmers, and most likely the people interviewing you won't have the first idea what a good programmer is. But the MSCP cert might help your resume stand out from the pile of uninspiring resumes from other talentless programmers.

share
    
That's a reason to be wary of hiring people with certifications. – nmichaels Jun 12 '13 at 20:07
    
I'll add that government agencies and by extension the contractors that sell services to them LOVE certifications and other credentials. – James Adam Jun 19 '13 at 15:53

If you already have the knowledge then by all means get the certification. Don't let the certification be the reason you're learning.

Certification shows you take your career seriously but says little about your competence.

share

Yes it looks worthwhile since the courses offered are not just a simple version but the

full course. It would be like getting a certificate from the University.

From http://www.oreillyschool.com/faqs.php

Upon satisfactory completion of all courses in a Certificate Series, you will be eligible to receive a Certificate of Professional Development from the University of Illinois at Urbana-Champaign Office of Continuning Education. The challenge of earning this certificate, coupled with the worldwide recognition of UIUC as a top-ranked institution, will ensure that your accomplishment shines on your resume. To see a sample of this certificate, Click Here.

share

One value a certification can have is proof of interest. If you are having an extended period of unemployment gaining certification during that period can be a good counter to the blank work time on your resume. "Well, while I was looking I took the time to study and gain a good grasp of $TECHNOLOGY".

share

I know you are asking about certifications but have you considered contributing to an Open Source project?

A lot of projects need help and some even have issues labeled as 'easy' which make a great starting point for people with minimum/no experience.

That way you can show prospective employers not only that you can code but also that you have a passion for what you do, enough to do it at your spare time.

share

If a developer showed up at an interview with a bunch of certifications on his resume, I would develop serious doubts as to his value system. There are zero situations in which I'd value time spent obtaining a certification over time spent working on a project. Any project.

share
1  
This is a good dichotomy, about which is a better use of your time. Of course this only applies if you really do use the time to work on a project, as opposed to additional couch surfing. – jhocking Jun 21 '11 at 11:23

I think you need to take a step back and look at the complete value proposition that you put forward to employers, and people that you network with. The O'Reilly course could be useful to almost anyone because it has the university backing, but it is completely dependent upon how you use it. Programmers love to talk and think in absolutes but the world is not really like that. If you think it is then you haven't seen enough of it.

You don't provide enough context, but I'll assume that you don't have a computer science education. Employers may use a CS degree as one of their primary filters. You need to mitigate this filter with equivalent experience or education in different areas that can apply to their domain.

I could see a number of benefits to the O'Reilly course that help in this area:

  • It is run by a reputable technology education organisation. A lot of developers swear by O'Reilly books so why should the courses be different?
  • The person running the course has experience at a leading university. There are different kinds of instructors but the best tend to have some experience in universities and corporate environments.
  • You will reinforce the quote "I know python". Do you really know it? Through a course like this you will fill in gaps in your knowledge. That said it is important to read the syllabus and contact the instructor ahead of applying to the course to avoid wasting your time with basics that you do know. (again some more context would be useful here in your question.
  • It demonstrates a focus. Assuming you are really interested in working with Python it shows that you have been able build on this interest and take it to the next level. This is more achievable than trying to do a more academic course and then struggling to be focused because you were only interested in the programming and not the mathematical aspects of CS.

Building on this course with contributions to open source projects or other tangible examples is only going to help you. This shows that you realise that you need theory (the course) and practice (course exercises + outside projects), and gives you something to talk about with recruiters.

There may be some other certificate options at universities that you might want to look into if you feel that you need to do something a little more academic. It seems like these are targeted towards those with some sort of undergraduate degree so I've no idea if these would work for you.

It seems like many people are conditioned to discount learning that is not done through an established university. This is especially true when dealing with recruiters and managers who have some distance from the actual job at hand.

Many people would say that they just want someone who is capable of doing a particular job. But when it comes to actual selection they will use filters that they understand further reinforcing this problem. eg. they like to hire from the same universities. This turns out to be good and bad from a shared culture through to problematic group think.

This is important stuff to think about when you research employers as you want to make an impact on the right people. If you don't think you'll get past the filter that a recruiter places in front of you, but think you can make a difference for them then you need to find a way to get the people who will. These are the people who are more likely to appreciate a certificate like this.

share

One method that has worked previously (at least for a number of people I know) is to blog, answer questions on forums, speak at user groups and generally have a noticeable online presence.

Blogging regularly, even about topics that you're only just learning, can be a valuable insight to your passion, commitment and communication abilities when it comes to software development.

share

Consulting/Contracting

No one has mentioned the particular case of consulting/contracting. If you are in this category or you would like to be, this can definitely help you.

You are easier to 'sell' on a project if your boss or sales guy can pitch you as being certified in 'niche category X'.

That being said you are not necessarily better or more knowledgeable on a particular topic if you are not certified, and I agree with others who might take a dubious take on them in general. Although, having a few MS certifications I can say for you, if you crank on them on a technology that you are trying to learn, it really forces you to get up to speed.

share

Search for jobs and see how many favor certifications. This may be an alternative to having experience working with the language on actual applications or a CS degree.

To make it worth it, you have to determine how difficult it is for you to get a job without it.

share

I am currently enrolled in the Python certificate program and I have to say that I have found it pretty interesting and challenging. I don't know if it would ever help my career chances more than say, building a software product with Python that I could point to on my resume, but it has been a good experience so far. If for nothing else, it will give you a firm base in the Python programming environment (albeit 3.0) but the versions aren't really that different. Also, it's taught by Steve Holden so you know it's going to be pretty intensive. Hey, it's one more thing that you can put on your resume (or not) and if it's in the spirit of learning then I believe it's even more valuable.

share

Certifications are useful only if you actually learn something by getting them. It is the process that matters and not the paper. If you are planning to sit for a certification just because a company requires it, you should probably rethink if you really want to work for that company. Recruiters/employers who evaluate skills based purely on certifications have no idea about programming.

share

Well, in Italy programmers are looked as the least important part of almost any work organization, so your actual skills (including certifications) are often ignored by employers, and real life experience is much more well regarded.

In good companies however, certifications are a valuable part of your résumé.

share

Certifications are most probably not worth it. Most employers look more at what you did before.That said, studying for certifications is worth it and will help you pick up the core basics. Preparing for it might give you more confidence when facing interviews since you will have sealed the basics by then.

The SCJP is not really a highly regarded certification amongst Java developers, but big employers love it. Some of the books to prepare for it are thorough and give you many opportunities to pick up nitty-gritties of the language - some known that you revisit, some unknown which might be really important.

I have stumbled across a lot of blog posts where programmers rave about something they just discovered in the language, but which are known to most people who leafed through the certification books.

share

In Indian IT scenario or body shops/chop shops, certifications carry some weight, helps in starting a career. Employees who are on "bench", plain English are sitting idle or not allocated to any project, are encouraged, read forced, to obtain certifications. IMHO, certifications just increase an individual's confidence not his/her experience or ability to write better code. The fact that many of good coders are not computer scientists or are school/college drop-outs tell you that certifications are not that worthy.

share

First, finish your degree.

Second, work on some sort of programming project. You might make a significant contribution to an open source project -- enough that you can point to code and/or features and say "I did that." Or start your own project and build something useful. It doesn't have to be the best thing in the world, it doesn't have to gain huge popularity. Again, you want something that you can show off and say "here's something significant that I did."

Third, look for jobs where you can leverage the degree that you will have. If you complete a triple major, that's pretty significant in itself. Having skills in math, statistics, and economics will make you desireable in a way that other developers aren't. I'd expect that having a solid knowledge of any one of those fields would be more important than being an expert programmer, and you should be able to use those credentials to help you land a position where you can continue to develop your programming chops.

Fourth, don't rush. Finishing your degree is much more important than landing your first real job. You'll spend the rest of your life working, but after school you're going to have a lot of trouble finding the kind of time and freedom to explore and learn that you you have in school. Take advantage of the time you have now, use it to build up a solid reserve of knowledge that you can draw on for the rest of your career.

Fifth, skip the certifications unless you're going for a particular position that requires one. I've been programming for a long time, and I've never even been asked about any certifications or felt that any would be beneficial. I can see how they might be appealing since your degree isn't in computer science and you don't have any experience, but remember: after you land your first job, you'll have experience, and you only have to find one person out there who's willing to hire you in order to land your first job.

Good luck.

share
    
As an employer, I'd rather see code contributions to an open source project. If you can satisfy those guys and get your patches accepted, you can probably get past our code reviews. I've met plenty of certified people that couldn't cut it. I've never met an Open Source contributor with those kind of problems. – boatcoder Jan 25 '13 at 4:03

Some employers look almost strictly to certifications and experience. But personnally I think certification only show that you knew very well the technology at a certain point in time.

But it's always look good on a resume!

share

I do not think that you will get better job if you have certification. However, you will get edge if another candidate has same qualities as you but you also have certification. And, since certified experts do give some advantage to their company, your job offer might as well require one. E.g. Microsoft requires certain number of certified people for company to be Gold partner.

I personally still take certification exams although I am not looking for job. I see it as good way to grade your general knowledge and invest in yourself a little.

share

Well there is no definite co relation but it just helps you out in getting filtered from the tons of resume a recruiter gets. A certification implies that you have some knowledge about the framework and gives you a edge over others who are not exposed to that particular version.

Also it implies you took some effort to learn and this could be handy, for the company its better that a person knows something and might not necessarily have to train the resource in case of upcoming project.

share

In addition to the above, Microsoft certifications also allows you to become an instructor (in addition or instead of your development career). Being an MCT (Microsoft Certified Trainer) could provide you with more income (for part time work) and will let you interact with more people outside your team.

Certification is a good credential in case you plan to write a book or as mentioned before you want to provide training.

To obtain the certification you will have to know several part of the technology well, so the study will indeed benefit you.

share
    
+1 for becoming a trainer. Teaching something often leads to new understanding (on many levels). – sleske Sep 6 '11 at 10:00

Having a certificate is no guarantee that you're a good / great programmer, but it is a good indicator that you're at least up to a certain level (after all, it is possible to fail these tests...).

Any relevant qualification can only be a good thing (I'd question any company that discards your CV for having a certain qualification).

Recruiters need ways of filtering (sometimes hundreds of) CV's for developer positions, sometimes they'll use:

  • Experience. Being employed as a programmer for n years is no guarantee of quality. Most people have worked with a guy who's been doing it for donkey's years, but can't.
  • A degree. Being a graduate is no guarantee either. In my last job, I had to pass a language-agnostic programming aptitude test that included recognising patterns, algorithm efficiency etc etc. I did quite well (I got the job), but another applicant (with a 1st class honours degree from Cambridge) scored just 6%.
  • Certification. In my last interview, I was asked if I was a SCJP (for a Java development role). I wasn't (and still aren't), but if the choice came between two developers of apparently equal ability - the only difference being one had the certificate, I'd be surprised if they didn't get the job.

Showing prior work would be great, but who's to say you wrote it (and not a colleague) or that you came up with the solution and not just the code. ...and how long it took you.

Ability / aptitude tests are also great, but how many employers have the time to test, let alone mark hundreds of papers (assuming they want to know more than what a multiple-choice quiz would tell them)?

Nowadays, you need to tick as many boxes as possible. Many employers may not need all your skills (or may not know they need them) - but the more things you can do and, more importantly, the more things you have evidence of, the greater your employment potential.

share

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