Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

I've been developing on multiple platforms for years, including Java, PHP, Flash/Flex, ASP.NET (including MVC), Ruby on Rails, and many others. I've decided (for various reasons) that it's time to pick one technology to learn deep, instead of learning many technologies wide; and I chose .NET.

I've decided that one crucial move will be to grab some Microsoft certifications -- if only to show that I'm serious about this as my technology of choice.

But how do I choose which certification to take? There are several of them, with similar-sounding descriptions. Although I will probably choose between the windows and web versions of the MCPD.

I'm targeting team lead and project-manager style jobs, if that helps.

Edit: The reason I want to do certification is because my resume reads as:

  • 3 years JEE
  • 3 years C++
  • 2.5 years Flash/Flex
  • 2 years .NET
  • 1 year Ruby on Rails
  • 1 year PHP

When I say I have "ten years of experience" and apply for a job that says "5+ years of experience in .NET," I know I can learn and do the work. But I don't have those five years; I gave them to Flex, C++, and JEE.

I think considering my specific situation, a certification is a (small) step in the right direction.

share|improve this question

closed as off-topic by gnat, GlenH7, MichaelT, Bart van Ingen Schenau, Dan Pichelman Nov 18 '13 at 16:24

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." – gnat, GlenH7, MichaelT, Bart van Ingen Schenau, Dan Pichelman
If this question can be reworded to fit the rules in the help center, please edit the question.

Certifications alone won't be of much help in climbing the food chain. – Rein Henrichs May 4 '11 at 22:19
@Rein the main complaint/worry of employers is that I don't have years of experience in .NET. I have years of experience, spread out across several technologies. Certifications will help with that. – ashes999 May 4 '11 at 22:23
No, really, they pretty much won't. – Rein Henrichs May 4 '11 at 22:55
@Rein I agree. But it's better than nothing. Where I am + Certification > Where I am with no certification. – ashes999 May 4 '11 at 23:24
IMO as a hiring manager, your time would be better spent evaluating and improving the way you communicate your current value proposition. Certification has pretty bad utility (cost/benefit ratio). – Rein Henrichs May 4 '11 at 23:31

3 Answers 3

up vote 6 down vote accepted

Certifications show you can study and take a test

They don't demonstrate that you actually comprehend any thing that was on the test. In the worse case certifications can turn off a lot of hiring managers as they got burned in the dotCom bubble boom with unqualified staff but were "certified", it looks like someone trying to take a short cut to actual knowledge and experience.

I think twice about people with lots of certifications, especially in things they have little or no demonstrable experience in. I had so many real estate agents in the 1990's applying for developer positions with a arms length of certifications and bogus years of experience it was sickening. Lots of my peers experienced the same thing.

Look at it this way

Would you hire a graphic designer with a bunch of Photoshop certifications or one with a portfolio of demonstrable work using Photoshop, given that they claimed the same number of years of experience?

Certifications don't make you more marketable

Better marketing makes you more marketable. You should invest in learning how to sell yourself on what you knows and learn how to demonstrate what you know, don't spend money on taking tests about things you partially know in an attempt to prove something to someone.

Demonstrable knowledge isn't about years of experience, it is about demonstration

Spend some time writing an open source application, no matter how trival, that demonstrates your knowledge, put it on GitHub, put it on, put links to those sites on your resume.

Spend time writing about development on a blog, people with experience have personal opinions about what they do. Blog about your open source development and your opinions about .Net and its libraries. Opinions, even ones I don't agree with demonstrate your knowledge about something.

I know this will sound silly, but your job isn't what you do, it is selling yourself. You need to be able communicate that as quickly and clearly as possible. Marketing and Sales is all about communication.

Generalists usually make better management

Later on in your career when you get totally burned out on programming, you will want to be able move on up into management or some position where you lead. Generalists can mentor and manager a broader range of talent.

In golf you need to know how to use every club, only knowing the putter won't get you far on a full size golf course.

Being a .Net guru won't get you a management position, it will get you a glass ceiling of Senior .Net Developer. Being able to demonstrate a broad range of expertise will get you farther toward management than being a .Net guru. And it will open more doors outside the .Net world.

Success != scoring good on tests

Think about it, nobody in the software development field that is a big name got there because of some test they took. They all built something or wrote something that demonstrated that they knew what they were doing.

Years experience != proficiency

I have worked with many developers that claimed 10+ years of experience in Java. 9 out of 10 of them wrote code like it was 10 years ago. They had 10 years of doing the same thing they did the first year. 10 years of 1 year of experience isn't valuable either.

The 1 out of the 9 could easily demonstrate their proficiency either with examples or their opinions about current modern Java. The others were still using Enumeration, Vector and Hashmap in 2009 and didn't even know or care about Generics or the Collections API, this was a negative demonstration of their experience.

Take it personally

If you want to go and take certifications for yourself, to see what the testing organization thinks is important or valuable then there may be some value to it for you personally. It might show you where the holes in your knowledge of a particular technology is and give some direction of knowing what you don't know you don't know.

As a kudo on your resume, I stand by my assertion that certifications aren't very valuable to third parties.

share|improve this answer
I understand -- all to well -- your points. These were precisely my reservations when I embarked on my PMP certification. If anything, that proved that certifications (albeit that they're just "learn to pass my test") do have some basic, low-level value. I don't expect my salary to jump 10k overnight; but I do expect that when I say "I know .NET," this will provide some level of supporting proof. – ashes999 May 4 '11 at 22:36
you are not aiming high enough, with the right work to show you should be able to easily jump your salary 10k US overnight if you can demonstrate it to the right person – Jarrod Roberson May 4 '11 at 22:50
Based on your edits, I know what you're saying. I've set myself up nicely for an architecture-type position with my experience -- but I won't be able to climb out of a hole of intermediate positions without years of experience. I have the skills and experience, but not the numbers. Hence the certification. – ashes999 May 4 '11 at 23:10
@ashes999 you miss my point entirely, years don't matter any more than certification. Only your ability to demonstrate your knowledge. Zuckerberg didn't need to pass any tests or have 10 years of experience to build the first version of FaceBook. He was able to raise 500 million dollars in venture capital because he demonstrated what he could do. You can climb out of the intermediate positions tomorrow if you could show someone something that you made that was more advanced than your numbers of years would suggest. – Jarrod Roberson May 4 '11 at 23:13
@Jarrod so very true. – Rein Henrichs May 4 '11 at 23:16

You could choose a MS qualification that would have a demonstrable value to an employer.

Two of the senior devs where I work this week passed 'MCTS Exam 70-515 - Web Applications Development with Microsoft .NET Framework 4'. As a result we are now a Microsoft Silver Partner and entitled to a bunch of free copies of Visual Studio and other software. A direct saving to the company of thousands of pounds in licensing costs. The cost benefits were enough for my company to offer a cash bounty for any devs able to pass the exam.

There will be other pathways that will also offer tangible benefits to employers - so they should not all be lightly dismissed.

I agree with the sentiment that passing a test isn't enough in itself. But if you can offer years of associated experience, the willingness and motivation to pass the test and for the test to offer genuine cost savings to the employer I can see how that would be interesting.

share|improve this answer

It's interesting that you say "it's time to pick one technology to learn deep, instead of learning many technologies wide," because in my opinion, the main benefite of Microsoft certifications is that studying for them forces you to increase the breadth of your knowledge.

If you have spent a couple of years working with .NET, you probably won't learn any topic that you have worked with deeper than you already know it by getting certified. However I'm positive that you will learn some areas that you've never had cause to touch. e.g. when I did the ASP.NET 3.5 certifications, I learned about web parts, Microsoft's JavaScript library, internationalization, and a number of the more esoteric data-bound controls that I'd never had reason to use in a site, despite several years of professional experience.

Now this will probably be quite helpful indeed in your attempts to parlay "2 years of .NET amongst 10 years of professional experience" into jobs that ask for more years of .NET!

But as for which certification to take - absolutely, go with .NET 4.0. No reason whatsoever to pursue an older cert now if you haven't already started on it. Look at "Windows Developer 4" and "Web Developer 4" on the Microsoft Certified Professional Developer (MCPD) page.

You'll notice that they have two exams in common: 70-513: WCF Development with .NET 4 and 70-516: Accessing Data with .NET 4. So it might be useful to look into doing one or both of these exams first, if you're not sure what to focus on.

However, if you can make a decision as to whether you're more interested in focusing on Windows or Web development, it would be good to do either 70-511: Windows Applications Development with .NET 4 or 70-515: Web Applications Development with .NET 4. Passing one of these two exams will immediately give you an MCTS certification so it's the quickest step to getting started at getting some "letters after your name". Also they are really solid broad exams that will surely widen your knowledge of Windows or ASP.NET development.

share|improve this answer

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