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?

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.

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. StrohmJan 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 WallaceJan 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 WallaceJan 23 '12 at 5:12

28 Answers
28

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.

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.

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.
–
jwentingSep 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 HunterSep 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...
–
MikaveliSep 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...
–
jwentingSep 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
–
KeenoFeb 7 '13 at 11:23

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.)

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).

+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.
–
MikaveliSep 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."

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.
–
HoLyVieRJan 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.

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 :)
–
jwentingSep 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).

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.

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".

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.

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.
–
jhockingJun 21 '11 at 11:23

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.

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.

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é.

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.

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.

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.

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.

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.

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.

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.

It depends... For the Great Ones (capitalized on purpose) in any field, it doesn't matter. Many haven't finished college. These types of people don't interview for jobs, other Great Ones hunt them down and hire them. They are self motivated learners, and the outcome is evident in the output.

Then there is the rest of us. Sometimes we have to get through HR to get the interview. And that recruiter has a stack of 600 resumes, and time to call only 10 people. So they trim it to 400 by looking for a college degree, and then to 40 by looking for a specific certification. And this is the #1 reason to get certified. So that your resume has a better shot of getting read.

The second reason is motivation to push yourself a little farther than you might ordinarily push yourself. Not relevant for the Great Ones, but a little extrinsic motivation does help me from time to time.

As a candidate it will vary from employer to employer.
Some look for people with a specific skill set, so if they want a person with certification it will matter, if they don't they'll probably ignore it.

I heard stories of companies who wanted people to take certifications so they could be a Gold Partner with Microsoft. The certifications were just for that goal, not because these companies wanted people to be more skilled.

LEARNING VALUE

I think this is the most important part.
The Job value is always relative, but the learning value always stays with you.
Taking a certification can be very good for you:

You get some sort of consolidation of your knowledge

You will learn more about something you love and that will make you happy

You gain value in knowledge that belongs only to you

THE WHY

Do you want to take certifications because of the employment value, learning value or both?
Think about it, if you do it just for the employment i'm not sure if it's worth it.

Surely, a certification helps in everyones career. It will assure the employer that you have well versed in the courses you have done and also gives you more confidence in attending the interview. The Certificate issuing authority will give a trusted environment to the company which is recruiting you.

Cannot agree with you. Value of certificates discredited by a lot of "specialists" who cannot program at all. Even here at SO I've seen a lot of certified by MS "specialists" who couldn't perform simple search using google/msdn
–
zerkmsSep 6 '11 at 5:43

1

yes, I cannot say that all people cannot program. And from another point of view - certificate nowadays mean just the fact, that peson has learned something (and doesn't mean he understands subject at all)
–
zerkmsSep 6 '11 at 5:58

3

I guess certification alone is not a measure of skill on its own. It is one of the means you could use to show that you are interested and willing to spend unpaid-for effort in a specific line of technology.
–
Emmad KareemSep 6 '11 at 6:33

It's always a bit frustrating to see those with experience giving those without experience bad advice; especially given how much ambitious college students hold that advice in such high regard. The honest truth, regarding certifications, is that they are not only highly accepted by employers, they're more or less required by most. For soon-to-be-graduates, having that certification on your resume is what sets you apart from the other 1000+ CS, CIS, and EE graduates. And while I cannot attest to the value of Brain-bench certifications in the market, I can vouch for those from CompTia and Microsoft.

For anyone in college looking to break into the programming field, I highly recommend looking into Microsoft's MTA Certifications, as they're specifically designed for college students.

For what it's worth, I once moved from one job to another within a single company doing government contract work. There was a certain certification that was required by the government for the new job. I went to a bookstore, charged a study book to the company, took the test (charged to the company), passed the test, and then gave the book to another employee. I had nearly forgotten about the certification in short order.
–
Rice Flour CookiesMar 23 '12 at 14:36

2

Looking back at my original comment and the 4 downgrades it received, I can't help but chuckle. After $110,000 and four years of 15 hour days studying IT/Programming I couldn't find a job to save my life. 3 days after getting my MS certification I was hired. I guess futures OP's can take that for what it's worth.
–
Josh CampbellDec 30 '12 at 9:53