This great post from Elliot Jay Stocks covers a number of points that I deal with on a few levels each week.

To start off: I am a web designer who codes. I’m someone who enjoys the process of writing good, semantic code – loves the cleanliness of it, loves the craft, the constant learning, the new techniques – all of it. It appeals to me. It doesn’t appeal to everyone.

The design side of the process is different for me. It requires inspiration, it requires space to breathe and it requires patience. A good friend of mine who is a comedy writer for the BBC said to me once that while it appeared that he was doing nothing but loafing around his plush Docklands apartment, what he was actually doing was creating space in his brain for ideas to develop in the background. When I realised he was serious it completely changed my attitude to creativity. There’s no point pushing it – give it space, let it develop, and the ideas will come. In short, for me – and for many others, I suspect – it’s a completely different process from coding.

Coding, I get in early, put the coffee on, and crank through line after line. Designing, well, a good part of it is loafing around allowing the ideas to develop sub consciously.

So, anyway, this article from Elliot … it expresses frustrations that some designers don’t know enough about code – and then, how that impacts the development process. I agree – it’s frustrating. But it needn’t be. I work with a couple of extremely accomplished graphic designers – they design the site, I code it up. They don’t know how to code, they don’t want to learn, and we’re all happy. But they have a craft – they have experience, they have a good attitude, they take advice when I say ‘that won’t work because of X’ – they understand that I’m the expert in some areas. Because they know their craft inside and out, the sites are generally successful.

The flip side is that I occasionally work with other graphic designers who *really* need to either learn their craft better so that they can acknowledge their speciality OR they need to learn to code so that they can understand the limitations of their work.

Of course, working in teams is a crucial aspect of large projects – and everyone has their speciality, but as Elliot points out

a decent working knowledge of your team members’ skills is a huge bonus: even if you’re not making nightmarish mistakes that fill your developers with dread, there may still be aspects of your non-code-aware design process that makes the lives of your teammates unnecessarily hard.

– Elliot Jay Stocks

And that’s it, I guess – in a team – whether it’s a 2 person team or a 10 person team, a decent knowledge of your team members’ skills and processes will make your team stronger. So, get learning – there’s no excuse.