As a follow up to the previous post, I thought I'd jot down some thought on the subject of real world vs certs. Perhaps I should reword that. How about certs in addition to real world experience?
First of all, you’d have to be crazy to hire someone with just a certification and no real world experience developing. At best, I would pay very little and give them basically internship responsibilities. There are just too many talented developers out there looking for jobs to be giving away a job to someone just because of some letters after their name. But, let’s assume we are all developers, which I feel is a pretty safe assumption.
You have two developers with pretty similar resumes: BS in Computer Science, four-six years developing for in the heath care industry and both list themselves as being an “expert in .NET” on their resumes. But one is an MCSD. Just at a glance, what can we learn from the two resumes? One is that based on the MCSD we can probably safely assume that they are comfortable in ASP.NET, WinForms, XML Web Services, COM+, .NET Remoting, COM Interop, Windows Services and ADO.NET. And also SQL Server or BizTalk. I’m not saying they know the HTTP pipeline cold, or can whip together their own custom protocol handler for .NET remoting, but they are more than likely to get the zen of .NET. How many people out there list themselves as “a .NET expert” have never touched remoting or got their hands dirty with some serviced components? I’d say a pretty good chunk. I’d also say there are also quite a few people who stick solely to either ASP.NET or WinForms because that’s all they do in their jobs. They still consider themselves a .NET expert although they are wondering why their code keeps bombing out when they try to bind a DataReader to a WinForms datagrid.
I'm not saying that the MCSD is a better coder or that the other guy isn't a .NET expert. I'm just making assumptions, which happen a lot when deciding who gets interviews and who doesn't. Also, when you have someone that has gone out and gotten certified, you can assume that they don’t mind leaving their comfort zone to learn new things. You can also assume that they are interested in investing their time into gaining more knowledge. Or they might be really good at taking tests or had to pass them to keep their job.
There’s the rub. I can almost guarantee that someone will respond saying they have a buddy that passed the BizTalk server exam and has never used the product once. The term paper cert will be thrown about. “The exams don’t test real world experience.” A lot of those arguments were valid a year or two ago. I would think it is safe to say that the people who heard from their buddies you can make $60 bucks an hour working with computers by getting your MCSE and A+ certifications have long since had their jobs sent to far away lands. Right now you are competing against people who have the same passion as you. And those certs may give you a bit of an edge when people are flipping through the hundreds of resumes they’ve received.
Another tricky subject is the people are those who are so confident in their skills that they are insulted that they would need to take a test to prove to others that they are experts. While I definitely can see that being an issue, I’ve found a lot of these individuals are concerned about how people will view them if they fail. They really gain nothing by putting themselves out there and taking a test and passing. They are basically out $120 bucks and can now say I told you so. But if they fail it, they will feel like a complete fool. Self proclaimed expert knocked off their pedestal. If you are one of those people, I don’t know what to tell you. I’d like to think that if they did fail a test they’d see it as a challenge to shore up some weakness in their .NET background and try it again. For now, if you are one of those people you should probably just avoid my posts on the subject because I doubt I'll change your mind.
I’ll end for now by saying why I personally like the tests. They force me into working with stuff I might not do on a day to day basis or find sexy. Creating a Windows Service was just something I never had to do. Although after I spent some time learning how they work, and how much easier they are to create in .NET, they’ve come up as a solution to problems that in the past who knows how I would have solved it.
For an even better post on the subject, check out Joshua Allen's post on the subject. In retrospect I probably should have not bothered typing anything and just linking to Joshua. I also discussed this way back in April. More importantly Kirk left some excellent comments in that post that are definitely worth checking out. But enough of the soap box stuff. I'll try to type up a summary of the whole certification tonight / tomorrow and follow it up with a summary of each exams to help out those who are thinking about going down that road.