When I was interviewed recently for a blog article about “lessons Web developers won’t learn in school”, I knew without blinking what I’d say.
Being self-taught, I can’t know for sure what is and isn’t taught in Web Developer school. But I’m pretty sure the lesson I wanted to talk about — even if it is addressed in school — is something one can only really learn on the job.
That lesson: Listen to your clients’ requirements but use your discretion in interpreting them.
If you’re a consumer of Web development services, I hope you won’t be put off by the ostensible arrogance of that statement.
If you’re a fellow developer, I hope that statement doesn’t ignite or feed any cynicism toward those we too frequently refer to as “users”.
In the 20 years I’ve been developing Web sites and Web applications (and 10 more designing and developing other kinds of systems), I’ve learned that clients will often initially dismiss as unnecessary content or functionality I recommend, only to arrive at a place some time in the future where it is necessary. I’ve learned not to argue (too much) with clients but rather to implement the infrastructure for those things they swore they’d never need — so that I could add them easily when they realize they were wrong.
As developers, we wear many hats and have many responsibilities. Some of those responsibilities — quite possibly the more important ones — have less to do with bits and bytes and more to do with vision.