Enjoy Every Sandwich

Thoughts on SQL, XML, .NET and sometimes beer.

<November 2008>
SuMoTuWeThFrSa
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456


Navigation

Tools

List O'Links

Kent's Other Stuff

Subscriptions

News

Please read these
Notices and Disclamiers

Post Categories

Article Categories



You can't "certify" craftmanshipability

I'm going to take a departure from my usual Friday Morning Thoughts format and instead do a brief chautauqua. There is single topic that's been bothering me for a while. It finally came to head yesterday. No known quantitative-basis exam can measure a programmer ability to craft quality applications. You can no more certify somebody as a "good" developer than you can certify a good artistic painter. The best you can hope to achieve with any testing process is to measure a persons ability to use a tool to some subjective standard. But being able to say that "I'm certified an expert hammer user" doesn't make you any more a carpenter than somebody who isn't "certified" with a hammer.

I know there are many people who will disagree with my assertion. There are some really intelligent, wise and -- most importantly -- dedicated people at Microsoft who drive their certification program. They are charged with making their certification program a true measure of a persons ability to perform the job tasks for the area being testing. And I can guarantee you that they take the formalities of the measurement process seriously. They are doing great work to that end. The same is true in other companies and certificate issuing organizations, I'm sure.

I used to think of Microsoft's Certification programs as being a good personality screening tool. When I look at an applicant, I can't help but look differently at the one who is certified. For example, suppose I have Abe and Bob. Both are journeymen programmers: they've worked with Visual Basic 6 for a few years and have with the last two years begun using .NET. Both have about the same job experience and educational backgrounds. But Abe is certified where Bob is not. They both came out the technical and social style interviewing process with about the same grade. I'd love to hire both of them, but I can only hire one. Which one do I pick?

Abe.

Why?

Its not the fact that he is certified for a the given technology, rather, the fact that he is certified demonstrates to me that he has taken his career more seriously than Bob; that he is a self-starter (more than likely) and he has the ability to rapidly analyze a problem and form potential solutions to them. It has nothing to do with his ability to use the tool: that's assumed.

But this use of a certification as a selector has a serious flaw. I much as I love having people to work with that are dedicated to learning, that's not all that I need from them. Learning for the sake of learning is hollow. Learning for the sake of application is what I need. That can only be demonstrated by artifacts of the process. What does that mean?

Suppose that instead of spending his time studying for exams, Bob wrote and released some significant Open Source Software product. And before I knew Bob, I used said product. And I like it. I liked enough to study its source code. Sure, I saw things I didn't like, but I also learned something from it. Now who do I think I would hire?

Obviously Bob. He demonstrated ability. Demonstrated ability requires demonstrated knowledge. Demonstrated knowledge demonstrates a different kind of dedication to learning and self-improvement. In a sense, Bob has passed a much more predictive test of ability than Abe did.

But how do you measure that? Remember what my evaluation criteria was:

  • I used Bob's product
  • I liked it.
  • I saw thing in his source code that I judge subjectively to be good or bad.
  • I learned from his work.

You can't qualitatively measure these the last of these three criteria. Every judge is different.

That leads me to another problem I have with who certification is used in our industry. Not so long ago when there were more jobs than people to fill them, certification became a popular differentiator between candidates. That's exactly the wrong time to use it, because it doesn't accurately measure what you're likely to need. In such situations, you need people who can immediately apply themselves to problems, but certification doesn't accurately measure that. What you really need in such situations is to look at the artifacts of a person's work and see if they have the skills and experiences you have immediate needs for. Letting somebody grow into a job isn't a wise strategy in this environment.

Consider our current environment where there are more job seekers than jobs that need to be filled. Is this the right time to use certification as a selector? In the case of Abe and Bob, I'd still pick Bob for all the reasons I've given above. Use of certification as a selector is only valid when no one in your pool of candidates can be measured using an actual work product artifact. I've just then eliminated the value of certification as selector in virtually all cases because any programmer with a little skill and experience can actually produce artifacts that are better selectors.

I've been talking at a highly conceptual level. Let me bring this posting to a close with what I consider to be practical advise about presenting yourself as a job candidate.

  • First and foremost in my mind, your resume must open the door. It needs to explain your features and benefits. Think of your resume as being a sales brochure for you. If I'm interested in your product, I'll seek you out.
  • Second, I believe the best thing you can to quantify your features and benefits it to generate work product. In other words, sit down, shut up and code. Keep coding. Write something I can use. Then share that source. Writing out your design thoughts during the analysis and design phase, as well as documenting your design are show stoppers. They will get my attention faster than anything.
  • Third, don't forego certification. The ability to present work product artifacts is going work great with a people like me. Other managers are going to have different ways of thinking. Even I still cling to the use of certification as a selector because it demonstrates commitment to professional growth.
  • Finally, you have help me find your work. Granted, you could just burn it to a CD and if you get an interview, you could share it with me then. I'd much rather have you blog about it and make the source code available someplace though. That gives me a chance to look at it before the interview.

Finally, I do have a thought about something I'd love to see us -- as an industry -- adopt. Juried evaluations as an adjunct to the certification. That is, I'd love to see a program where panels of respected developers review the candidates work and provide there commentary on it as well as some rating of the candidates craftsmanship in the work. Put that another way, its great if Microsoft says "Abe is a competent hammer user." Its better if Philip Rieck, Matt Payne and Luke Schollmeyer all say "this person produces good work."

The best of all worlds -- the ultimate candidate -- is the one who presents both.

posted on Friday, May 21, 2004 11:08 AM by ktegels





Powered by Dot Net Junkies, by Telligent Systems