Published on

Q&A with Ben Frain

Senior front-end developer and author

Hi, I'm Ben Frain. I'm a senior front-end developer and author. In my day job I concentrate on CSS 'architecture' (if I may give it such a grand title) and prototyping at bet365.com. I've also written the books 'Responsive web design with HTML5 and CSS3' and 'Sass and Compass for Designers'. I write about web development on my blog http://benfrain.com/blog.

How did you get started in web development? What is your background?

I trained in media and production as I'd always wanted to direct films. I was a TV actor after university for 5 years here in the UK. No notable roles, just 5-10 lines in a few Northern dramas made between 1996-2001 (I had hair then)!

To support the TV work, during that time I was also working for a company selling computers. The Internet was just becoming a 'thing' and I offered to build them a website (it was better than selling PCs over the phone). So I got a copy of Adobe PageMill 2.0 and started fumbling my way through.

I stopped the TV acting around 2001 as I'd written a screenplay and wanted to try and get it made. I'd already written and directed a few short films and thought 'how hard can it be to make a feature?'. Turned out it was pretty hard!

That grand plan failed too but I'd enjoyed writing the screenplay so I started writing for magazines and building websites to subsidise myself while I tried my hand at being a screenwriter. At this point, you've probably already guessed what I hadn't; I was a little delusional about both my abilities and chances!

Four screenplays (and no sales later) I was splitting my time between writing for Mac magazines and making websites. Once my first son was born I needed to concentrate on what was most lucrative. So I concentrated on the web work. Slowly I got better and figured out my strengths and weaknesses and started to feel confident in my developer abilities for the first time in my life. Accepting that I was just a 'HTML and CSS' guy (and getting really good at that) instead of trying to be a 'full stack developer' helped enormously.

In the next couple of years I started writing a book about HTML5 and CSS3. Then along came responsive web design and it made so much sense, I knew I had to incorporate that subject too. That book ended up being 'Responsive web design with HTML5 and CSS3'. The first edition came out in April 2012 (the second published book on the subject after Ethan Marcotte's own seminal work) and the second edition is due out in summer 2015.

Shortly after that book was released, following a decade or working for myself I went to work for bet365.com.

It's still a little weird to me. I had zero desire to work with the web and absolutely no education in doing so, yet here I am. A fine man sent me this Joseph Cambell quote which summarises the situation, "We must be willing to let go of the life we planned so as to have the life that is waiting for us." My Dad was an engineer and my Mum was a teacher. So I suppose I shouldn't be too surprised at what I'm doing now; I enjoy solving problems and writing about the process.

What are you working on now?

Besides finishing up the 2nd edition of 'Responsive Web Design with HTML5 and CSS3', I'm most obsessed with figuring out and documenting an approach to CSS architecture that I call Enduring CSS (or ECSS for short).

It goes against the grain of most popular and conventional CSS authoring/architecture wisdom. Instead of trying to share and abstract styles, the emphasis is on predictability, isolation and maintainability. You'll be able to read all about it soon at http://ecss.io.

Besides that I just document my development adventures and findings on my blog.

What software do you use for your work?

I'm slightly obsessed with tooling. Whatever I write here will be out of date within a week! Right now I'm into Gulp for task automation, PostCSS for all my CSS needs (including Autoprefixer which should be awarded the equivalent of the Nobel Peace Price for web development), BrowserSync for injecting my styles/script into all my devices and good ol' Sublime Text 3 to drive it all. I'm a big fan of linting tools so I have linters set up for JavaScript/TypeScript, CSS and the like. It helps to catch all my 'school boy' errors. I use Sketch for any graphic stuff and iTerm2 for command line business. The web community provides most of the most useful tools I use. So, thanks everyone, you're all amazing.

And what hardware?

Mac Pro at the office (old tower version, not the new fancy one), Retina MacBook Pro 15" at home. I'm a mechanical keyboard junkie so my two current favourites are the Happy Hacking Professional 2 (purchased when I had a spell using Vim) and a Tenkeyless KUL ES-87. I like the clickety-clackety sound of mechanical keyboards. It probably drives co-workers nuts but makes me feel incredibly productive. I touch the mouse as little as possible but where I have to, I still think Microsoft and Logitech make the best mice. Every few years I just get their latest and greatest. I also use a bunch of handsets for testing. Everything from old Androids and Blackberry's to the latest iOS and Android phones. I don't like using them but they are essential for accurate cross-browser testing.

What is your ideal work environment?

What I loved about working for myself was that I could set up my physical environment exactly how I wanted. Right now I'd love to try a standing desk, a better monitor (we all have to use the same monitors at work) or retina iMac but that's not easy in a big company due to bureaucracy. However, that's completely offset by the fact that I love solving problems with the team I work with. That was the big thing missing from being a 'lone gunmen'. I love bashing ideas about with people and coming up with something together that's far better than anyone could manage alone (well, I certainly couldn't manage alone anyway). The best thing I did for myself was surround myself with people way smarter than me. For example, I'm determined to get competent with JavaScript and there's plenty of people I can pester for advice on that at work. I'd still be utterly clueless in that regard otherwise. Ultimately though, I'm pretty happy if I'm solving problems and learning things.

Who are the creatives you admire most?

The people I admire most are the people I work with. You probably won't have heard of any of them. Forgive the indulgence but I'd like to mention them anyway: Matt Mitchell, Tom Millard, Paul Craig, Sophie Williams and Pete Griffiths. I think we probably all know people like this; silent geniuses. They crank out incredible stuff day after day without ceremony.

In terms of industry people, I'm admire people who are incredible at what they do, create amazing tools or challenge the accepted wisdom (or all at once). In no particular order I admire all the following for various reasons: Thierry Koblentz, Nicolas Gallagher, Andrey Sitnik, Sindre Sorhus, Heydon Pickering, Lea Verou, Ana Tudor, Joschi Kuphal, Scott Kellum, Vitaly Friedman, Matt Wilcox, Nicholas Zakas. There's loads more and I feel bad I can't remember them all right now!