views:

1882

answers:

25

What kind of certifications would you recommend to an young future programmer?

A: 

I'd say no.

OTOH that might be because I rarely if ever work in code that interacts with 3rd party libs.

BCS
+5  A: 

No

get experience instead of more textbook knowledge (you always have textbooks and websites on hand when you work). A decent degree which taught you more than the api of the language the lecturer liked could always be useful though

Oskar
Any degree that focuses on a particular API instead of on general principles isn't going to be that good. Learning an API should be easy enough provided you get the principles behind it, the sort of thing that you can easily pick up on the job.
Donal Fellows
+27  A: 

The only certification companies take very seriously in actual developers is a Bachelor of Science in Computer Science (or related field).

Most other forms of certification are only good for the people charging you to take their exams.

That piece of paper (a degree from an accredited college) is often a first requirement to getting a programming job. It rarely matters which college you get the degree from.

If you are specializing in a certain kind of programming (e.g. for drug manufacturers, or defense contractors, or banks) there may be industry-specific certifications that are helpful.

Adrian Dunston
What constitutes a computer science degree can vary pretty widely from school to school.
Scott A. Lawrence
That is why accreditation exists :).
Guvante
I have to agree with this answer. I spent 7 years working odd jobs and going to school while constantly applying for programming positions. I had experience, but couldn't get in the door without that piece of paper. As soon as I had my B.Sc. in Comp Sci, I got offers, regardless of relevance.
Marc Reside
+5  A: 

Deliver software. Work on an open source project. Become an expert with at least one statically typed and one dynamically typed language. Write a blog and document what you do. Certifications aren't useless, but they do not a respected programmer make.

David in Dakota
A: 

A computer related degree of some kind makes it a lot easier to get your first job.

tolomea
A: 

MCAD if you are using .NET. Zend offers a php certification as well.

But there certainly isn't any mandatory certification.

cazlab
+1  A: 

Every niche of SD does not have a certificate program. The closest cross-cut you can get would be a BS in CS. Many have succeeded in this field without one, however.

Forgotten Semicolon
+1  A: 

In my opinion, certifications aren't nearly as useful as a good Computer Science foundation. Get a B.S. in Computer Science, and that will teach you the fundamentals to any computer system. This will show a prospective employer or client that you can learn whatever library or system of the month. A certification just says that you know how one particular system works.

pkaeding
A: 

Unless you're specializing in a certain proprietary software, certs are sort of a thing of the past, especially for programmers. The Internet is a far better resource these days than most 2,000-page books. Experience is a better test of knowledge than an exam.

Lucas Oman
A: 

You've asked two different questions here.

The answer to the first: no.

My answer to the second would be: none. Instead make friends with some smart programmers and work on interesting projects with them. http://www.paulgraham.com/college.html, http://gist.github.com/6443.

+3  A: 

None. When I'm hiring, the only things I really look for are a Computer Science degree and/or (relevant) experience.

Sad to say, but generally I've found that certificates mean very little, other than that the certificate holder wasted some time and money.

Matt
Having a certificate does not mean that the holder wasted time and money; They can get deals on licensing, both for the company that paid for the test and you as a potential employer. Certs may not be a good indicator of competence, but don't take them as a sign of stupidity or gullibility either.
Jerph
There are clients that demand the contractor to have developers with certain type of certificates. You could call this random screening, but it happens in practice.
Mercer Traieste
That's fine, they are the ones you do not want to work for. So they work fine as a screening tool
Stephan Eggermont
+1  A: 

I wish I could say that IEEE CSDP is the answer. I happen to have that certification myself (which I think gives my criticism some validity) and was very happy when the program started, since it was by an independent organization and not a product vendor. However, in my opinion, it's just too heavily weighted towards software engineering and not enough towards programming.

There is also the CSDA certification, which is geared more towards people who are new to the industry.

I happen to think that programming is more than a craft than an engineering discipline. However, if you think the opposite, then CSDA or CSDP might be for you.

Paul Reiners
+8  A: 

The answer is none.

When screening CVs I generally avoid people with certificates and I know I'm not alone. It might impress keyword-hungry recuitment agencies, but in the real world experience is needed, not a pretty piece of paper hung on the wall.

Not to mention that I recall Cisco certificates exam answers to be widely available a few years back, making the value of those near zero (or equal to "able to google for answers" certificate). The same might apply to other certificates.

Don't be a fool and spend time and money on these. You should rather build something cool of your own or participate in an open-source project in the time you'd have spent preparing the certificates, you'll end up with much more impressive things to show/tell to your prospective employers.

Gilles
+1  A: 

Certifications are good to show that you have a broad exposure to a certain technology, and you have already learned the basics of it. You will also learn alot while studying for a certification exam. With that said, one thing to remember is a certification (just as with any college degree) doesn't prove that you know how to use the technology the certification covers with any level of expertise. It is always possible to pass an exam without know how to apply the technology, and no certification or degree can replace real world experience. However, certifications are a good way to differentiate yourself from other job candidates and may help make your resume stand out.

As far as which certifications you should do; just do the ones that are closest to the technologies you use or want to use on the job. And, there's no need to get 30 certifications, just focus on the core ones that relate to you.

Chris Pietschmann
+1  A: 

Most certifications only prove you could pass a multi-choice test and probably studied for the exam by using self-test software like CBT Nuggets.

When I interview developers I want experience or a degree in a computational/numeracy/science subject.

A long list of Microsoft Certified Blah doesn't get a second look!

Ray Hayes
+2  A: 

I'd recommend getting a bachelor degree in Computer Science/IT/Engineering (Software) as a minimum if you're serious about producing quality software. University degrees teach you in depth theory, as well as give you the skills to find information out on your own.

Certifications, or at least Microsoft certifciations such as MCAD, MCSD, MCPD, etc are definitely useful. An MCAD will teach you the basics of how to build appliations in .NEt, as well as covering a broad (surface) area of the framework. It won't teach you about object modelling, OO design and patterns though. For that you will be best served studying at uni, as you'll also pick up other useful courses, like computer hardware.
MCSD/MCPD will teach you about modelling and design, but only at a very high level, allocating 90 mins worth of reading to what university teach in depth over a semester.

There's so much more to know than what is learn by certification that it's really only an option if you're a 9-5 programmer.

Certifications are important to people that don't know any better. Experience has shown my certs are of value when tendering for work, for example. I've had occassions when I've need to show how many MS certified developers will be working on a project.

My computer will not hire anyone without at least an undergraduate degree in IT or related.

Certifications teach you how (eg API's) Degree teaches you why (eg theory of OO)

rob_g
Your computer is hiring people? :)
Justin Ethier
haha. yeah, um... I enter resumes of people with MS Certs and the computer generates a random winner? :p
rob_g
A: 

I'd join the rest and say - no certificates and instead, create your own amazing project, lead it or team up with other people and make sure you have an end result to show. This will impress companies much more than a course you took / certificate you have. Learn at least one common programming language (C++ or C# will do) and run with it, but make sure you don't aim too high.
You rather end up with something good that works than an amazing project that barely managed to finish the basics. BTW - eye candies (as in nice user interface / graphics) is something that tend to impress when presented - consider your direction.

Also, I'd highly recommend having a BSc in computer science. Sure, you can run without it, but I admit that the degree gave me tools about how to study (mind you - not programming language etc, but rather how to learn and look for what I want), and good foundation for mathematics and algorithms which I highly recommend to have.

Good luck.

Adi
+5  A: 

I've been interviewing people in Silicon Valley since 1994, and my impressions are:

  • Certifications are an indicator someone knows how to study for a test and have no bearing on programming ability.
  • Advanced degrees in computer science may indicate that the interviewee is a brilliant engineer and may indicate that they can't cope outside the world of theory. (I really think colleges should teach computer science and software engineering the way they teach mathematics and physics: they're strongly related, but not the same.)
  • Hard science degrees are a good indicator of engineering-problem solving ability. I know lots of good engineers with physics degrees.
  • Any college degree (science, liberal arts, doesn't matter) is an indicator of being able to learn to play by someone else's rules.

Referenceable experience from a real-world internship is the most impressive thing you can have when looking for your first job in software. Contributions to an open source project (especially if you showed the tenacity to clean up the boring and tedious bugs!) also look good.

Slothman
A: 

My opinion is that other than your degree from college no other certifications are needed. I lost faith in these certifications after seeing how people prepare for the Microsoft(MCP,MCTS etc..) exams!!! All you need is your programming talent and experience to impress in case of an interview.

blntechie
+1  A: 

There aren't any mandatory certifications. Previous posters have mentioned the bachelor of science in computer science as a good foundation, and I agree. I doubt I would have been able to write good software in such a wide variety of industries (publishing, marketing, healthcare, consulting) without that foundation.

That said, when I've been responsible for hiring in the past, I haven't limited my pool of hires to just CS graduates. People with degrees in any engineering specialty (electrical, mechanical, etc), physics, chemistry, and mathematics have all been exposed to the sort of coursework that makes them well-suited to roles as programmers.

It's possible to find good programmers who don't have the backgrounds I mentioned, just as it is possible to find bad programmers who do have a CS degree or a degree from another scientific discipline. If a young programmer wants to succeed, they should spend as much time honing their ability to clearly communicate what they know as they do on building their skills in writing good code.

Scott A. Lawrence
A: 

As most people said: a bachelor in Computer Science is the single most important 'certification' you can get. However, the certification programs from software vendors like Microsoft (Flex, Oracle, etc.) are still worth something. If two programmers of otherwise equal skills (as far as can be read in a resume) are considered for a job, one is a Microsoft Certified Developer and the other one isn't, the recruiter will certainly consider the one with the certification first.

That being said, relevant experience and having worked on good project is more important that those certifications (but not the degree). So that being said, you can do appropriate certification, but selecting good projects to get the appropriate experience is likely to get you further (like in a job where they will pay for you to take the certifications!)

ADB
+6  A: 

I don't think there are certificates that are good for every programmer. But if you're specializing in a certain field, a certificate is definitely a PLUS (so don't listen to guys that say something opposite ;-)). The truth is that 95% of programmers do not participate in any open source project, write own blogs, read programming blogs and books, or visit sites like stackoverflow.com. They believe that don't have to do anything to hone their skills, and their "professional experience" is everything that matters.

A certificate is a clear sign that you're not just one of them; that you actually care and you want to develop. Then, a certificate has the same advantages as any other exam, it forces you to review the material, to remind things that you really should remember, and also to learn something new in this process. And, if you're looking for a job abroad, I guarantee that a well recognized certificate is something that your future employer will like to see on your CV.

As I said at the beginning, I cannot recommend a certificate that will be good for every programmer. But for Java programmers the Sun certificates (SCJP, SCWCD, SCBCD, SCJD, SCEA) is definitely something worth looking at.

Skillwired
A: 

A friend of mine recently got a job because of the articles that he'd written on codeproject.com. He included a link to all his Code Project articles in his resume. I would bet that your rep and answers here on Stack Overflow will soon become just as important.

Guy
+1  A: 

The easy answer is no.

That includes any degree, especially computing or computer science and definitely any that has "software near engineering" in the title.

MSDN or similar 'professional' certification is a sign of brain washing or having worked in Redmond.

Google used to have a survey on their application form asking you to rate yourself 1-10 on some set of skills. A 10 rating meant that you really had written the book on a subject and asked for the ISBN. I guess that would be a good bit of paper to have.

Unsliced
+1  A: 

If coders were hiring people, then much of the answers provided about experience over certifications would be valid.

However when attempting to get a job, those hiring doing preliminary searches are HR folks (not coders). Because of job sites (Monster, Career Builder, Dice, etc) they have a wealth of people to pick from requiring them to sift through resumes searching for specific things. Having these certifications provides at least some level of "filtering" mechanisms. This guarantees that if they have at least received this certification, they have knowledge comparable to a standardized test, real world experience (while more valuable then certification testing) is more subject to what was produced and in what environment.

ebresie