Web Development as a Craft… and Career
Karl Dubost’s recent post on the craft of HTML coincided with the launch of the first round of Web coding standards at work. Why did we need coding standards? Karl answers that for me in his first paragraph:
HTML is a practical art. In a professional context, it requires precise and extensive skills. As with many popular crafts, the vast majority of people do it on their own, but only a few do it for a living. The quality of products varies a lot.
When you have a team of developers working on a product, you need to set quality requirements… but to meet those requirements you also need to set the expectation that the developers will work in a consistent manner. Sometimes this can be achieved by having the team lead set the direction for the code by crafting templates and doing code reviews. But what happens as team members rotate on and off the project — how do you retain the knowledge about the coding direction without taking time to bring each person up to speed? What happens as your development team grows to 10, 40, 100 people? This stuff doesn’t scale without spelling out the rules and setting expectations… thus the need for coding standards.
But standards alone won’t create consistency, of course. When Karl says that “HTML is a craft”, he implies that there are techniques that one can only learn through study and practice. When practicing a craft, there are skill levels that reach into the realms of mastery that only few will ever meet. Out of that team of 10, 40, or 100 developers, how many will truly become those masters?
My experience over the past 8 years of working in industry has led me to find that only a few will ever commit themselves to the craft of Web development, and that worries me as a developer and as a manager. We all want job security, and dedicating oneself to excellence in a field implies we’re in that field for the long haul. But what career path can a Web developer expect to have today? What opportunities will be available 5 years from know? There are many unknowns and I think that this may be one big reason I don’t see more talented developers taking the plunge and committing themselves more fully to Web development as a craft and career.
Karl points to another problem: the “majority of people do it on their own, but only a few do it for a living”, which to me implies that most people think anyone can be a Web developer (how many times have you heard someone state that their kid could build a better site?) and therefore they don’t take the craft of Web development seriously. I’ve found that most Web developers who didn’t emerge from computer programming backgrounds have serious complexes over whether or not they’re “real” developers… and a lot of this is due to snarky computer programmers who put Web developers down because they make the same, stupid assumption that “anyone can do Web development”. How is that encouraging to anyone looking at committing themselves to this work as their career? (Nevermind how irrational it is for a computer programmer to dismiss part of their larger discipline.) How is that encouraging to anyone who has hopes of using Web development as a basis for a career that could include programming in other languages?
So what’s a developer to do? And what’s a manager to do? I’ll post my ideas at another time… right now, tell me yours.