CSS

Working at Twitter is something of a luxury. And I don’t mean the snacks.

I work on twitter.com, the main website for desktop browsers. My everyday tools are JavaScript and Ruby. Which surprises me, since every other job has heavily involved HTML and CSS.

At Twitter, this has been a very minor consideration. Why? Because our designers handle the HTML and CSS. I work with Mark Otto, who has designed a non-trivial percentage of the Internet through his Bootstrap library. He knows his stuff, but is still happy to learn or adjust if needed, to make the best result. It works very well.

Now, a lot of you are thinking “so what?” and “this is normal”. Maybe for you, this is.

But I’ve spent the majority of my career working at digital advertising agencies. There, the “creatives”, who are all “Art Directors” by rank, throw a Photoshop PSD over the wall and forget about the rest of the process. They don’t care what CSS is, they don’t care what HTML tags are.

I once worked with an Art Director on a style guide. I thought this would be a really simple idea. Not so. After carefully explaining the heading tags, H1 through H6, I turn up the next day to find the guide complete: heading tags H1 through H6, paragraph tags P1 through P6 and table tags T1 through T6.

I’ve never been able to understand why a web designer wouldn’t be interested in learning the basics of the material they work with. It is, quite literally, the media. If they were print designers, I would expect them to know about paper. Instead they live in Photoshop, on a Mac, and know nothing about the world outside.

However, thinking about it, I realise that I’ve been wrong to blame them.

At a digital agency, the “creative”‘s job is not to design.

Their job is to satisfy the client.

And the client, invariably, is impossible. They want three different executions of an idea. By tomorrow. Even though they’ve already decided what they want. Even though they already have a brand guide that limits any hope of creative spark. And no budget.

Oh, and the site has to be completely different to anything else. And viral. And have video.

Never will the client care about accessibility, semantic markup, reusability, comments or sanity. Except perhaps to check a box.

At Twitter our designers can take the time to iterate on new features with their Product Managers, and engineers too, until they’re really happy they’ve got it right.

At a digital agency, designers work all night to complete three page designs they know will be useless, because they haven’t been properly briefed. There’s no time to mock up designs in CSS, or test the interaction model on an iPhone. It’s an impossible job.

But they do these things. Clients get happy, sites gets churned out, money is made.

It’s two different worlds, with different requirements and different results.

For now, I think I prefer it on this side.