On the difficult art of web development

James Norton
3 min readDec 7, 2015

--

It was more than fifteen years ago that I took my first small and tentative steps towards what would become a passion and a job. I wrote my first website. It was rubbish.

At the time I didn’t know it was rubbish, I actually thought I was really clever. I was young and had not developed the critical eye that I am blessed with now. But none of this mattered as the process of making something and then putting it out there in the wider world for all to see immediately hooked me in. I loved it. In the last fifteen years I have been involved in some amazing projects and there is a reasonable chance you have used a website that I worked on.

I used to feel like I was using a science in my day job, building software felt precise and based on rules that could be learnt, challenged and tested. Over time I came to realise that this is only partly true.

In order for rules to be useful, they need to be consistent, easily expressed in an understandable format and their proof should be beyond doubt right up until the moment they are disproved. Unfortunately building software that runs in a web browser is based on rules that historically haven’t conformed to any of these ideals.

Should you not be aware of the types of problems all web developers have faced, just check out the wonderful Quirksmode, written and maintained by the fantastically esoteric Peter Paul-Koch. His browser compatibility tables give a good view of the sort of problems we have all had to face.

Many of the bugs in browsers were at least predictable. Internet Explorer though had a wonderful ability to be unpredictable and the peekaboo bug in IE6 is a great example of how hard some of these problems were to nail down and fix in a systematic way.

Web development as art

It dawned on me some years ago that web development is an art. For those of us still supporting older browsers, that art is very much alive and well. Even if you are fortunate enough to only have to worry about modern browsers, their support for emerging technologies is variable and changing all the time.

Art can be defined as (source):

the expression or application of human creative skill and imagination

With that in mind, web developers paint with the brush of their coding skills as if completing the ceiling of the Sistine Chapel itself.

Web development doesn’t follow simple rules. It is an extremely young technology that has yet to fully cement its place in the pantheon of the engineering disciplines. Web development is an emergent art form.

I guess what I want to say to you dear reader is that I understand. Web development is hard. It might be the hardest software to engineer well. CSS was not designed to be tested and is a uniquely challenging language to code. JavaScript is amazing and flawed in equal measures. Don’t let anyone tell you it’s easy, if they do just ask them to paint your ceiling!

If you enjoyed this, please hit the “follow” button below. Thanks!

--

--

James Norton

I love tech. I love the web. I love building successful products and teams. I work at ASOS doing all these things (but these opinions are entirely my own!)