Do Certifications Make Better Web Developers?

I recently got the Microsoft Certified Professional Developer (MCPD) cert in Web Development. The exam focuses on the innards of the .NET Framework, but also touches on some high level topics like architecture and requirements gathering.

Now the exam questions are generally multiple choice, and I see a few patterns that help me guess the correct answer:

  1. Any answer that says “Use the [insert Microsoft product name]” is correct
  2. If two answers invoke the same MS class, the simpler one is correct (because their tools are so easy!)
  3. Any questions about what you have to do when upgrading or managing multiple .NET versions, the answer is usually “You don’t have to do anything, it will just work!”.
  4. Any question about whether you need to unit test a MS product or a third party plugin, well you get the idea.

It should come as no surprise that a certification on a proprietary technology would have a certain level of propaganda on the excellence of that company’s products, their ease of use and scalability, and the general tendency to steer you to use even their simplest pre-built components rather than creating your own.

I could go on, but the point of this post is that certs focus primarily on the framework, which is fine. You’re claiming to be an expert on a particular software. Companies have invested in that software and want to hire you because you will be more proficient. Microsoft has no interest in making me a great Java programmer.

The question I pose it this:

Does the knowledge gained in such a curriculum make you a better web developer, or does it simply serve to make you reliant on their tools, thus strengthening their industry market share?

I guess first you’d have to define the merits good web developer, then identify how a certification assists in improving those merits. I composed my list of what I would consider a web developer with the total package:

  1. A deep understanding HTML syntax, structure, the role common display and form elements, and knowledge of how a browser interprets HTML into a visual presentation.
  2. A deep understanding of Javascript syntax, the role of javascript, standard events, DOM traversing and manipulation techniques, and AJAX
  3. A deep understanding of CSS syntax, its role, and the ability to use clean CSS/HTML to make a website look like a design composition.
  4. Knowledge of the client-server relationship. An understanding of the requests/ response lifecycle, an understanding of the role of state preservation techniques: databases, sessions, cookies, hidden fields
  5. Knowledge of how web servers work, performance, load balancing, security, and architecture strategies
  6. An understanding of basic programming principles: OOP, separation of concerns, nTier design, isolating and debugging, flexibility vs. simplicity, decoupling dependencies, logic, problem solving
  7. Database architecture and SQL syntax
  8. Experience with project life-cycle, specification, QA processes, version control, all that fun business and team stuff
  9. A comprehensive knowledge of the tools provided by your framework and other 3rd party resources

Personally, I weigh framework knowledge fairly low on the importance scale. Frameworks change very frequently which means deep knowledge of particular tools can become outdated, often with little transferable knowledge. Plus, if you understand the principles, and if you have experience developing without the aid of a thick framework or a glitzy IDE, you generally won’t have a hard time learning those tools.

On the plus side, learning about frameworks through certification can introduce you to areas you may not otherwise tread in your day job, such as possibly performance monitoring or event logging. Also, framework tools all address common business needs. The knowledge of these tools provides a context to learn about other frameworks because they most likely provide similar tools.

I’ve seen junior developers cling to a drag-and-drop IDE like a baby to a bottle. Their first step in solving the simplest problem is often to search for a prebuilt tool, and they are often lost if that tool breaks or requires any customization. I’ve also seen old timers stubbornly insistent on pounding out code in notepad, one character at a time, as they’ve done for the past 25 years, convinced that all these new tools are a fad.

The bottom line is this: frameworks provide a layer of abstraction from the core foundation of the web. Have any opinion you want on this fact, but the important thing is that developers know where the line exists between the framework and the web, so they can more quickly isolate and solve problems. The knowledge of framework tools is necessary to be an efficient developer, but the understanding of the underlying technology of the web is extremely useful for solving problems and making design decisions.

So my feeling is that framework certifications are helpful to a certain degree in making you a better web developer, aside from the obvious benefits of resume padding. What I think we need, though, is an industry-wide web developer certification that is framework independent and focused on the core principles of the web. A web developer’s equivalent to the Bar Exam, approved by the W3C with only the agenda of producing a better web. (If such a benchmark exists, please tell me. I’ve seen some HTML certs on W3schools, but I don’t know how much credibility they hold.)

This entry was posted in asp.net, career. Bookmark the permalink.

3 Responses to Do Certifications Make Better Web Developers?

  1. John Pencola says:

    @Steve:
    This is an interesting topic. Having not participated in taking certifications, I can only give some generalized feedback. So here goes…Assuming the motivation for taking such a test is to better your professional skills, personally I believe that testing of this nature is sort of pointless. Primarily, as you mentioned, in the technical field where frameworks and languages are in such flux and it seems like these tests are rooted in memorization of syntax and proprietary code. I think we’ve both always erred on the side of real-world/applied knowledge being far more beneficial than memorization, so from a knowledge standpoint, I would say that getting certified is probably low on the totem-pole. I would be wary of an industry-wide cert. for the same reasons, although I agree that it would be a nice consolidated primer for general web development knowledge. Now, this is when you look at it in terms of knowledge gained, but what about the other benefits? Can you talk more about some tangible benefits beyond knowledge that you have noticed? Thoughts?

    ” I’ve seen some HTML certs on W3schools, but I don’t know how much credibility they hold”
    ..short answer, none. W3Schools is an outdated, misleading resource that unfortunately a lot of developers turn to. Check out http://w3fools.com/ for the breakdown.

    -JP

  2. mindstorm says:

    I think we’re in agreement that experience is the best education. So a much better use of a programmers spare time would be to do freelance work and/or contribute to open source projects, or just do an experimental project for yourself. I taught myself jquery by creating a lights out game among others.

    I believe the primary goal, and benefit, of certs is not to be better but to look better on paper. And it works. As I sift through stacks of resumes, I take a second glance at devs with a few extra cert bullets. It shows initiative, and the ability to learn; both useful skills in our field.

    The knowledge benefits I found are the introduction to concepts and tools that I don’t work with. You never know which way you’re headed and what might come in handy. If you ask a group of cert takers which was the least useful chapter, you will get varied answers. And as the .NET framework grows, the certs are becoming more specific and thus, more beneficial.

    Framework tools are also excellent case studies in OOD. Because of the need to balance usability and flexibility, these tools are often designed with great encapsulation practices that you might not think of if tasked with creating a tool from scratch for your project. However your project may need to scale, chances are someone as done it first and there’s a way for the framework to handle it. UI Culture Globalization is a prime example for both of these points.

  3. John Pencola says:

    @Steve
    “I believe the primary goal, and benefit, of certs is not to be better but to look better on paper”
    So, I guess you’ve found your anser then. Certifications may make you *look* like a better developer. Summarizing after thinking more on this and getting your feedback, I don’t think there is a completely cut-and-dry answer to the question you originally posed:
    “Does the knowledge gained in such a curriculum make you a better web developer, or does it simply serve to make you reliant on their tools, thus strengthening their industry market share?”
    …it also depends on the person. For example, I retain little knowledge by simply reading up on a framework. But some people may find they can absorb and retain the information through studying, which in turn has the potential to make them better developers.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>