Interview with Jonathan Snook

Hey Jonathan, for all the readers who’ve never heard of you, how would you introduce yourself in two short sentences?

Hi, my name is Jonathan and I make stuff on the web. I’ve written a few books, speak at conferences, and put on workshops around the world.

Where did you grow up and what was your dream job as a child?

I grew up mostly in Ottawa, which I consider to be my hometown. Growing up, I don’t recall having any grand plans like being president or being an astronaut. I did picture myself on computers, though, and was lucky to have plenty of early exposure to them. It looks like my dream came true!

How did you end up on the web? Did you study Computer Science or something like that?

The web was a natural progression from where I was spending my time. I hung out on BBSs and eventually onto a local Freenet that provided access to IRC, gopher, and eventually the web. I even ran my own BBS for awhile and hacked up a copy of Telegard to do so. Computers were always a hobby and never even looked into a computer science degree. Everything I knew was self-taught through magazines, friends, or other online resources.

It seems that a lot of people working on the web are self-taught and don’t have a formal education in the field they are working in. What do you think, why is that? Is the traditional education system (for „web people“) broken?

I don’t think it’s necessarily that the education system is broken. Having spoken to a number of people who now do web development as a career, it’s interesting to note how many of them fell into it accidentally. It’s quite common for people to have been in school for something else or working on a career in an unrelated field and they wanted to build a web site. In building that web site, they discovered this whole new world.

The web industry had been too young of an industry to be considered when someone thought to themselves, „what do I want to be when I grow up?“ The web was a tool, not a career. Much like somebody might think to pick up a hammer to build a deck and then goes on to become a carpenter. The web is seen as a craft (and all the good and bad connotations that come with that).

The web is exceptional in that the tool itself can be used as the educational platform. We have a fantastic community that wishes to share and continues to do so via its very own medium.

That’s not to say that the traditional education system cannot accommodate the web. I’ve seen some schools that do it exceptionally well and schools can be a great place to build your network. They’re also a good place to be exposed to topics outside, but still possible related to, the field of study (such as writing, photography, history, math, etc).

Let’s talk about sharing your knowledge. You said you wrote some books and speak at conferences, you also have a blog. How much of your time are you teaching? I sometimes think that the problem of traditional education is that the teachers learned their stuff some years ago and since then are teaching what they know but aren’t learning new techniques.

I don’t specifically break up my day, week, or month into a percentage of how much I do versus how much I teach. Ultimately, I want to share what I learn and will take advantage of opportunities to do so. Sometimes that means doing a handful of workshops and conference talks in a month. Other times, I’ll go months without getting much of an opportunity to do so.

One of the problems with teaching web development is the focus on learning tools versus learning the medium. Many schools will teach you C# with Visual Studio or will teach you HTML with Dreamweaver, and it becomes about what buttons to press to get the desired result. This might be okay to get someone trained enough to be able to do production work within an agency but doesn’t prepare them for the onslaught of change that happens within our industry.

Here in Ottawa, for example, we have Algonquin College which does a great job of connecting with the business sector and polling for needed skill-sets. They also encourage those within the industry to participate in teaching at the college. Doing so creates a great lifecycle of producing students who are better prepared for the marketplace without going stale. As a business, if I need more people with a particular skill and I can get the school to train people in that particular skill, then I’m going to hire people who graduate from that school. We need more of this.

The more disconnected one becomes from the community they serve, the less effective they’ll be.

That’s sounds great.
You have coauthored two books, Accelerated DOM Scripting with Ajax, APIs, and Libraries and The Art and Science of CSS. I always wondered how writing a book together works. Can you tell me a little bit about the process and problems?

And, well, now a third: Scalable and Modular Architecture for CSS. Each was a unique experience. With the two books you mentioned, I worked with traditional publishers—Apress for the former and Sitepoint for the latter. They have deadlines and editors and page counts. It’s rather stressful and, in my case, didn’t pay exceptionally well. Many people I know who’ve written a book with a traditional publisher say that you don’t write a book to make money and my experience was very similar.

The thrill of writing a book comes in holding the physical manifestation in your hand. It comes from walking into a book store and seeing your name on the shelf. It’s been handy to be in an interview and when asked if I’m familiar with a topic, I can point to the fact that, „why, yes, I even wrote a book about it!“ It’s an empowering thing.

Writing a book isn’t easy, though. It requires a great deal of research and testing. The DOM Scripting book, for example, meant creating examples and testing those examples in every browser. It meant researching why the approach I was using was the best approach and it meant researching why things are the way they are. A great learning experience but also a time consuming one.

The most recent book, SMACSS, was self-published and therefore saved myself some of the pains of writing (deadlines and word counts) while introducing many others (publishing, distribution, and marketing).

Let’s imagine someone would pay you enough to live for three months, what would you do/work on?

That’s a tough question because I’ve had no lack of ideas of projects I want to work on. I just haven’t had the time to do them. Three months isn’t nearly enough time for all of the ideas I have. I’d sift through and find a project that I think I could complete and get to market within that time and it would be a project that I felt had enough possibility to make money.

It would likely be either a desktop application or a web application that served a particular niche. For example, I’ve been really interested in building a better development tool but one that is specifically tailored to the workflow that I lay out in SMACSS. We’ll see if I can find the spare time to do just that.

So you are also capable of programming for Mac OS X? You really are a jack of all trades, aren’t you?

Maybe not quite that jack! I haven’t jumped into Objective C yet. I’m still a fan of web technologies. If I were to attempt a desktop app, I’d likely try my hand at using Titanium or something similar that would let me blend web technologies with the desktop.

What’s your favorite thing to do when you’re not working?

When I’m not working? I’m not sure what you mean.

I kid! I do tend to fill up my spare time by working on personal projects—like SMACSS. Otherwise, it’s time spent with my two boys, or travelling, or just watching a movie.

So it seems you are kind of a workaholic, in a positive sense. Is that the secret of your success?

I’m not one to encourage people to be a workaholic. I do encourage people to enjoy what they do. And I do enjoy what I do. Success for me has a come from putting stuff out there, stuff that helps other people do a better job or an easier job at what they do. If I could do that in half the time, I’d likely be just as successful. Of course, success is relative. I’m not making millions and living in mansions. But I am getting to travel, which is something that I’ve really wanted and is something that makes me happy. That is what has defined success for me.

That sounds really nice.
What do you think of CSS Preprocessors? I use CodeKit with LESS or SCSS and am really excited.

CSS preprocessors have some great features. I specifically like Compass which is a great addition to SASS. CSS has definitely reached a stage where build tools can create a better experience for developers (through features like mixins, functions, and variables) and for users (through improved performance from file concatenation and minification).

Do you see dangers in using these technologies?

They’re not inherently dangerous, no. You can wreak havoc with CSS just as easily as you can with a preprocessor. With any tool, better results will come from understanding what the tool does.

Jep, that’s right. So let’s bring this to an end: What question would you like to answer, that I didn’t ask?

„How do you get such luscious hair?“ The secret is conditioner.

This was a nice chat. Thank you so much for reaching out. I hope I was able to offer up some insightful responses.

Thank you for your time Jonathan. It was a pleasure.

You can find Jonathan on Twitter, snook.ca and SMACSS.com.