Calling All C++ Developers


Ok, that’s sort of like a marketing thing where I put a headline out there just to get you to read my post.  Sorry, but I have a very serious question to ask you and I need your feedback.

For those of you who are developing using Microsoft’s Visual C++ in either version of Visual Studio, it should be safe to say that you are now familiar with the direction that the C++ product group is heading with the language.  The will be an increased focus in native development.

As a result, this has the potential to impact our certification story.  Traditionally, we have created our exams around a technology certification with versions of that exam for C#, VB and C++.  C# and VB exams outnumber C++ exams in regards to numbers of people taking the exams.

This leads me to ask, for the time being, these questions.  I may have more later or as a result of your responses.

1) Do you as a C++ developer place value on certification?

2) If yes to question 1, is your preference for certification on just the language or on the technology such as Windows developer etc.?

3) Is there value to you in having a generic C++ certification?

4) If you are seeking certification on .NET technologies, do you do so in C++ or do you shift to C#?

 

As always, your comments and opnions are welcomed and valued.

 

Gerry

Comments (47)

  1. Ok, that's sort of like a marketing thing where I put a headline out there just to get you to read

  2. madd0 says:

    1) Personnally, I don’t, but I know the industry does.

    3) I would definitively like one. I’d take it myself and probably convince my students to take it too.

    4) C#

    Hope this helps 😉

  3. Thanks for the answers madd0.

    Gerry

  4. Ben says:

    1) Do you as a C++ developer place value on certification?

    Yes and no. See below.

    2) If yes to question 1, is your preference for certification on just the language or on the technology such as Windows developer etc.?

    Knowing the language is the prerequisite. Being able to apply that to the technology is much more important. For example, one may know the C++ standard like the back of their hand, but at the same time not be able to write ATL, MFC etc. Also, I’ve seen many talented developers who had trouble navigating around VS to even make a Hello World application.

    3) Is there value to you in having a generic C++ certification?

    Perhaps when getting a first job as a developer. But other than that, I do not really think so.

    4) If you are seeking certification on .NET technologies, do you do so in C++ or do you shift to C#?

    C# only. Customers asking me to port their products to .Net specifically ask me to do so by *rewriting* it in C#. Managed C++ and interop are so rare as to be non-existent.

    On the other hand, there are many customers not targeting .Net who want it entirely in standard C++ (generally needing to target multiple platforms). Thus, I am really glad that the VC++ team is focusing more on native C++ development than managed and interop. Improving standard compliance would be a huge improvement.

    Put simply: managed and non-managed code is completely separate and do not ever near each other.

  5. John C says:

    Again, yes and no to question 1. My problem with certification is that I feel it can only ever prove so much. Anyone who’s been programming C++ for any length of time will appreciate the depth of the language. New techniques for using the language are put forward everyday. It may sound pompous I guess, but I feel C++ is to a large degree a way of thinking. Can you certify that? I’m not sure… Learning the syntax of the language is simple, but I’ve been coding C++ for about 15 years now and I still feel I’m learning better and new ways to things every day.

    If you must have certification, I think it has to be a two stage deal. First the language as that has to be core. It’s the bedrock you build everything else on. Can you learn ATL without a good understanding of the language, and templates especially? Then you can move on to certfification in more specialist technologies, which at the end of the day can be pretty transient.

    I’ve never needed to be certified at what I do. As a ciontractor I let my results speak for themself, and I stand or fall by what I do. Would certification help, hum… probably not. I know at least one certified ‘developer’ that I wouldn’t let near a compiler 😉

    As for .NET, for me it’s got to be C#. C++ for native stuff, interop if I have no choice (I’m not a fan I have to admit). But for .NET develpoment I use what I feel is the best tool for the job and that’s C#.

  6. Thanks John.

    Again, I am seeing more and more of this style of thinking.  Not that the thinking has changed but more that I am becoming aware of it.  I think I always knew it was there, but needed verification.

    You and Ben both bring up valid points about the knowledge of the language being one aspect, but the application of that knowledge is another.  The latter being the one that is more difficult to test on.

    We do see that most developers value certifications less than network administrators or SQL DBAs, and C++ developers even less so.  I have a tendency to think that C++ developers are typically university graduates of CS degrees where the majority of training in the .NET langauges seems to come from on-the-job or post secondary learning such as community colleges or similar institutions.  My opinion only of course.

    For .NET, we have a foundation exam that is designed to test the candidate on the core fundamentals of the platform before they move on to technology specific areas such as Windows development or Web.

    I do wonder if there is a means for testing C++ fundamental concepts, at the ANSI level of course, that might be a valued starting point for C++ developers.

    I’m not trying push a certification on C++ developers but at the same time, I want to offer options if they are desired.

    Thanks again for you comments.

    Gerry

  7. KAjFASH says:

    1) I don’t.

    3) —

    4) C++

  8. T-Rex says:

    1) Do you as a C++ developer place value on certification?

    Yes

    2) If yes to question 1, is your preference for certification on just the language or on the technology such as Windows developer etc.?

    I’d prefer certification on the technology.

    3) Is there value to you in having a generic C++ certification?

    Yes.

    4) If you are seeking certification on .NET technologies, do you do so in C++ or do you shift to C#?

    I’d prefer C#.

  9. santa says:

    i wud like to know what all certifications are available for C++

  10. Hi Santa,

    Currently the developer exams for .NET Framework 1.0/1.1 and 2.0 are available in C++.

    You can find those exams on http://www.microsoft.com/learning and look under the MCAD or MCSD credentials, and the MCTS for .NET 2.0.

    Gerry

  11. C++ developer says:

    1) Do you as a C++ developer place value on certification?

    Yes. Like any other language certification, C++ certification will be especially useful to the people who begin their career in the language. Nothing can beat the experience to the certification be it C++ or anything else.

    2) If yes to question 1, is your preference for certification on just the language or on the technology such as Windows developer etc.?

    Both options should be available. Language certification helps in memorizing some concepts particular to the language. Off course some of them may be not so useful in the practical world (that is true for any certification) but still many concepts do help in improving the basic yet important knowledge base. The certification helps in promoting the language. I know many of my friends who move to Java starting from the certification.

    I believe technology certification should be as generic as possible. I like the new Visual Studio 2008 certification coming up. The focus should be on using the technology (like VS or MFC etc). Though since some code is present in the questions, it should have options of choosing the language: C# or C++ or VB, still the focus is on the technology and not on the language.

    3) Is there value to you in having a generic C++ certification?

    Yes.

    4) If you are seeking certification on .NET technologies, do you do so in C++ or do you shift to C#?

    I am not seeking certification on .NET so not the right person to answer this.

  12. Angus says:

    1) Do you as a C++ developer place value on certification?

    Yes.

    2) If yes to question 1, is your preference for certification on just the language or on the technology such as Windows developer etc.?

    Both.  At moment specifically looking for generic c++ certification.  The foundation for moving forward as previously discussed.

    3) Is there value to you in having a generic C++ certification?

    Yes.  Whether Microsoft is best provider for this is debateable.  Maybe a standards body or association or something might be better – but don’t see anything available.  Trouble with Microsoft C++ courses/certs I have seen is they are too focussed on a specific Microsoft technology – eg MFC, ATL or whatever.

    4) If you are seeking certification on .NET technologies, do you do so in C++ or do you shift to C#?

    No interest in .NET.

  13. Shaukat Mahmood says:

    I prefer C++ and will always, I will surely go to MCSD if it is available with VC++  track instead of C#, hope Microsoft will consider this point and will re-continue VC++ track for MCSD certification.

  14. Hi Shaukat,

    thanks for your comments.  Unfortunately, the MCSD certification will no longer be obtainable after March of 2009.  

    We have moved to a new generation of certifications that include MCTS and MCPD.  As my posting indicates, the number of people taking the C++ exams is excessively low, and even lower still when it comes to C++ in a managed world.

    This is why we need to research the value of a certification on C++ and how it will fit into the new generation of certifications.

    Gerry

  15. JayJay says:

    Being that I am still a beginner and have novice C++ experience from school, I’m still confused at this point on which I should put more emphasis on.  At the fork, should I go for C# or C++?  Which is going to yield me better opportunities years from now?  

  16. Hi JayJay,

    I can’t answer that question for you because there are too many variables.

    Here is my opinion and take it for what it’s worth.

    What is your goal?  If it is to develop on non-Microsoft platforms, C++ is likely your best choice.  If you plan to become a developer on Microsoft platforms but not use the .NET Framework, then C++ should be your choice.

    If it were me, and I’m basing this on what I do, I would learn both.   It makes you more marketable.

    Gerry

  17. Philip says:

    Hi Gerry,

    I am interested in C++ certification.

    Please let me know

    1.Is generic C ++ certification  expected in the near future?

    2. Has C ++  been implemented in MS VS 2008 certification?

    Thanks

  18. Hi Philip,

    To answer your questions;

    1) There are no current plans within Microsoft to create a generic C++ certification.  We are still investigating the relevance of such a certification so I won’t say it’s completely out of the picture yet.

    2) We will not have any C++ code translations in the .NET exams for the foreseeable future due to low uptake on those versions in the past.  It’s not worth out time and expense at this point to convert the code samples to C++ for one or two exam deliveries.

    Gerry

  19. Abirami Ramadoss says:

    Hi Gerry,

     I am a C++ Developer, i am searching for a long time to do a certification in C++. Can u please suggest me one.

  20. Hi Abirami,

    Unfortunately, I am not aware of any industry certifications for C++.  Microsoft used to offer C++ as a language choice but even then, the exams were not designed to certify on C++ development but rather application development on the Microsoft platform using C++.

    Sorry I couldn’t help.

    Gerry

  21. Abirami says:

    Hi Gerry,

    Thank you, If you come to know any one please inform me. It will be helpful to me..

  22. Volodymir says:

    1) Yes

    2) I’d rather got the certification by language

    3) Yes

    4) I think I’d shift to C# but I currently not seeking for .NET certification.

  23. Brad says:

    I find certifications very valuable – not so I can show someone "I am GOOD!"  but to give myself a goal. I have taken several Sun certs and one MS cert, I find that people that poo poo them, are people that have not taken them.  They probably say school is not important .

    As someone that is transitioning  backwards from Java/.NET – I am looking for a good serious learning curriculum – that usually means a certification path..  I would ask that youa keep C/C++ exam – these languages do things that Java/.NET can not do, and will be around for a long time

  24. Muhammad Abbas says:

    Hello Gerry,

    What about C/C++ certifications from websites like brainbench.com. Is it recognized by the industry? Or for that matter can you suggest any highly ranked website for C/C++ certification.

    Thanx

  25. Hi Muhammad,

    The Brainbench certifications are recognized to a certain extent in the industry but like any certification, Microsoft included, employers are the ones who become the deciding factor.  In other words, if an employer doesn’t value certifications, it makes no difference who you are certified with.

    My recommendation is to check the employer’s job postings to see if they are recognizing any certifications and select the ones that pertain to the companies you want to apply at.

    Gerry

  26. Shri says:

    Till now I hardly found any employer asking for C++ certification and nowadays C# with C++ is becoming a good combination. I am C++ developer but I will go for C# certification because that gives some advantage to me.

    Brainbench and some other tests are considered for initial screening now but nothing beyond that, so even if you don’t have one they will ask you to take that certification within 1-2 days. I don’t think it tests anythng beyond basic C++ knowledge.

    I will prefer to take the certification stressing on Win32 API, MFC, ATL.

  27. Hi Shri,

    Great comments, thank you very much for posting.

    With the shift of focus on more native code from the C++ team within Microsoft, our focus has to shift accordingly in the certification business, this adds some great insight for me.

    Gerry

  28. Nitesh says:

    Hi Gerry,

    I am a Computer Science student and have a desire to stick myself to Systems and Network Programming in the future as i am fascinated with it a lot. Considering languages in the programming language arena i find C++ along with C more fascinating than any language. And ofcourse there is’nt a  better option apart from these languages.

    It would be kind of people at microsoft to come up with a certification for C++ Systems and/or Network Programming.

  29. Hi Nitesh,

    We’re always looking for new certifications.  One of the factors that we need to consider is reach.  That basically means that the more focused we make a certfication, the more limiting the target audience becomes and the less successful the certification is.

    We are still evaluating our strategy around C++ so look for more news about new certifications around the language in the future.

    Thanks for the feedback, it is greatly appreciated.

    Gerry

  30. PatrickNH says:

    I believe implementing a new C++ certification track would be an excellent opportunity for Microsoft, looking at the C++0x draft with the .NET framework.

    1) Do you as a C++ developer place value on certification?

    – Yes, I do, but the certification needs to be a quality focused certification that includes good code coding techniques: i.e.: in some situation it is better to increment with ++I instead of I++ etc. Currently, I don’t believe this type of certification exist for C++.

    2) If yes to question 1, is your preference for certification on just the language or on the technology such as Windows developer etc.?

    – both, make it a certification track. I would even add a certification for programmers that go from C++ to C#.

    3) Is there value to you in having a generic C++ certification?

    – Yes, on a foundational level, but add an exam section for best coding and design practices.

    4) If you are seeking certification on .NET technologies, do you do so in C++ or do you shift to C#?

    – C++, I believe Microsoft does not market the strength of C++ and .NET framework programming well. Will be very interesting in what direction Microsoft will go with C++ certifications, now C++0x draft is getting a lot of attention.

  31. Hi Patrick,

    Thanks for the feedback.

    Although I agree with some of your points, one thing I must point out is that we cannot test best practice.  An exam cannot test subjective material and have 100% correct and 100% incorrect answers.

    For legal defensibility, we must ensure that best practice is NOT on an exam.

    We are looking at what we can do for C++ and the certification market so stay tuned.

    Gerry

  32. hathawaysm says:

    1) Do you as a C++ developer place value on certification?

    Yes

    2) If yes to question 1, is your preference for certification on just the language or on the technology such as Windows developer etc.?

    I think both of these certs would be beneficial.

    3) Is there value to you in having a generic C++ certification?

    Yes

    4) If you are seeking certification on .NET technologies, do you do so in C++ or do you shift to C#?

    I don’t think there is much value in doing .NET development in C++.  C++ is great for native and cross-platform  progamming, doing .NET development in C++ defeats the purpose.

  33. 1) Do you as a C++ developer place value on certification?

    75% :). But, as certifications are well seen on technologies such as .NET and Java, there should also be certifications on c++

    2) If yes to question 1, is your preference for certification on just the language or on the technology such as Windows developer etc.?

    Both certifications should be valuable. If you don’t know the language fundamentals, i think it would be harder to claim to know the technology. Maybe it would be a good idea to have the language certification as a basis to the technology certifications.

    3) Is there value to you in having a generic C++ certification?

    Included in answer 2.

    4) If you are seeking certification on .NET technologies, do you do so in C++ or do you shift to C#?

    C#; i prefer C++ for unmanaged code.

  34. Siva says:

    I want the Certification exam.

    I dont want to shift to C# techonolgy right now

  35. Jason says:

    About 7 years ago I took the courses for the A+ cert and failed..forgetting the majority of it by now.  How difficult is it for someone like me to get a C++ now?  I have no other job experience/skills related to this industry.

  36. Hi Jason,

    Are you asking how difficult is it to get a C++ certification?  I want to point out that A+ and C++ are completely different concepts.  A+ is a certification for entry level PC Technicians.  You need to know how to install and configure operating systems and upgrade and repair computer hardware.

    C++ is a programming language that is used to create applications that run on a computer.  Software development or computer programming is not easy to learn.  It is a science and it is an art.

    Microsoft doesn’t offer a generic C++ certification and I haven’t looked at any others.  However, if you have no experience or skills in C++, it will be extremely difficult.

    Get a C++ compiler and some books, learn the language, build programs with it and learn.  Then consider a certification.  You can find free C++ compilers on the Web along with some free editors as well.

    Microsoft has express editions of our IDE, Visual Studio, http://www.microsoft.com/express/vc/Default.aspx for C++ specifically.

    Gerry

  37. Jason says:

    Gerry,

    My current industry(mortgages) makes me want to slit my wrists on a hourly basis.  The only thing I’m passionate about in my personal life is video games.  I’ve checked into some positions at companies like Blizzard, Obsidian, etc…and they all seem to want C++ for their openings.  That’s the only reason I ask about it.  The A+ cost me 10K in student loans, and I failed it, so spending $$$ on courses for C++ isnt an option.  How do I start w/self taught C++?  C++ for Dummies?  At this point I’d happily take a job cleaning toilets at Blizzard than continue my current path.  You make it sound really tough…so I wonder if it’s hopeless.  Please advise.

  38. Jason, slitting wrists is not a wonderful conversation to have on a public blog.  I assume you’re not serious.

    C++ programming is not for everyone.  That’s not to say you can’t do it.  My point was simply that it’s not easy but also that it’s difference from A+ as well.

    Being self-taught is something you have to determine if you have the ability to do.

    Don’t pick up C++ For Dummies if you are serious about learning C++ programming.  Try this book, http://search.barnesandnoble.com/C-How-to-Program/Paul-Deitel/e/9780136152507/?itm=13.

    This is typical of what most schools use as the text for teaching C++.  It teaches the language but also programming at the same time.

    Never give up.

    Gerry

  39. Jason says:

    Gerry,

    I guess I’ll start there then.  I’m not too optimistic though considering I cant even comprehend the reviews people have posted about it…lol.  When I’m done I can add it to the stack of A+/MCSE cert books I have from years ago.  Thanks for the help.

  40. Victor says:

    1) Yes.

    2) Both.

    3) Of course.

    4) C++

    Knowing C# alone doesn’t always get developers far in their field. Some of them will be forced to learn C/C++ in order to use functionality written in those languages since .NET Framework Library doesn’t solve many problems. Not all technologies are fully .NET compatible (Take DirectX for example.). Even working with COM in some cases requires knowledge of C/C++ though the very idea of COM should eliminate that need. Besides, not everything that needs to be used is written with COM in mind.

    Serious employers seek for certification. Or else who would like to let someone work with technologies developed and supported by Microsoft while that someone isn’t certified by the source of technology itself?

    John C, I haven’t met a developer in my life who was certified and I wouldn’t let him near a compiler to let him do what he was certified for. On the other hand, there are many developers who don’t have certification and therefore don’t have a job, and rightfully so.

    I am definitely interested in C++/CLI certification exams, too bad only few are available.

  41. Joshua says:

    Hi Gerry,

    Very surprised to see that even after 2 years of creation the thread is still running.

    Well, i have been into MFC programming and i really want to do a certification on that. Can you please guide me how i can do a certifications in MFC, ATL and COM.

    Thanks,

    Josh

  42. Hi Joshua,

    I too am amazed that we are still have posts about on this thread.  It’s kind of good though.

    At this time, Microsoft does not have a certification for C++, MFC, ATL or COM.

    I was discussing this just yesterday with my manager indicating that we are missing a market segment around MFC and ATL and Win32 programming.

    Before I create any certification around them, I need more research on reach and interest.

    Stay tuned.

    Gerry

  43. Addy says:

    Well yes I would certainly be interested in the C++ and acompanying technologies for the naitive world. Win32 is a field which I agree is rarely used but MFC COM and COM+ still has it’s place.

    I would absolutely agree with the others even when you have the skill but no direct experience we really need a certification credential to support the skill set. I guess that’s how the market works ideally.

    I’d be eager to know when would MS be able to really decide on something conrete on these.

    Regards

    Addy

  44. Hi Addy,

    Thanks for the feedback.

    I don’t have a time frame for this certification yet unfortunately.

    Gerry

  45. jyothirmai says:

    I wanted to know if any of the certifications related to c++ are available

  46. Currently we only have certifications on .NET 2.0 that contain the option to choose C++ as the language. Most are starting to drop C++ as a choice due to lack of interest in those taking the certification exams.

    We don’t currently have any native C++ certifications although we are looking at how we can bring C++ back into the mix and what a certification program around the language would look like.

    Gerry

  47. Hello !

    1- Not that much. I don't believe that certifications itself prove that you're a very good professional. It's usefull, of couse, in some specific situations and technologies, but experience is more important to me.

    3- yes. It would be nice, but Not that important. it's good for begginers to get motivated, but, today, I think that someone with a solid experience with this language willl not see many use of it.

    4- C#,

    See you soon

    4-