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.
Ok, that's sort of like a marketing thing where I put a headline out there just to get you to read
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.
Hope this helps ;)
Thanks for the answers madd0.
Yes and no. See below.
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.
Perhaps when getting a first job as a developer. But other than that, I do not really think so.
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.
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#.
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.
1) I don't.
I'd prefer certification on the technology.
I'd prefer C#.
i wud like to know what all certifications are available for C++
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.
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.
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.
I am not seeking certification on .NET so not the right person to answer this.
Both. At moment specifically looking for generic c++ certification. The foundation for moving forward as previously discussed.
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.
No interest in .NET.
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.
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.
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?