Interview: Author David Griffiths

Our Book Promotion: “Head First Rails” starts soon. Win one of four books to be given out for active participation. The coolest thing? Author David Griffiths will be on site to answer questions! Click here for more details. Here, in this brief interview, Satish Talim of RubyLearning talks to David Griffiths.


Satish>> David, could you tell us something about yourself – your background, where you are based?

David>> I’m an agile developer, writer and trainer based in the UK. I used to write a monthly Java development column and I’ve used and taught agile methods to companies around the UK. But I’ve been writing code since I was 12 years old. I worked with Java from the alpha release in the 90s. A lot of things on the client side as well as a lot of enterprise stuff. But everything changed for me when I got an early copy of Bruce Tate’s Up and Running with Ruby on Rails. I found myself in Boston for 3 days with nothing else to do. And anyone who’s been to Boston knows that it’s famous for two things: coffee and book shops. So I got a copy of Tate’s book and a laptop and spent three days burying myself deep into Rails and consuming more caffeine than was probably wise. It was incredible. Here was a way of doing things with a few simple commands, that would have taken 19 classes, an enterprise container and 3-400 lines of XML in Java. An old professor once told me “The profound is always simple” – and Rails was the living embodiment of that. I was hooked. It really hasn’t been the same since.

Head First

Satish>> Your book “Head First Rails” – what is it about?

David>> It’s kind of odd that I’m doing this interview for Ruby Learning, because the truth is that Head First Rails really isn’t a Ruby book. It gives you enough Ruby to do Rails, but Rails is the focus. The interesting thing of course, is that by doing it that way, it actually gives you a reason to learn Ruby. Kathy Sierra (the co-creator of the Head First series) says that there is a world of difference between wanting to learn a language, and needing to learn a language. Head First Rails gives you a reason to learn enough Ruby to learn Rails.

I should probably say a little about Head First in general. The Head First series is best known for titles like Head First Java and Head First Design Patterns. It’s now expanding into lots of other subjects. Head First uses psychological techniques to engage you. The truth is that your brain (more specifically the part of your brain called the reptilian complex) really doesn’t think that learning computer languages is very important to your survival. You can spend hours staring at books. You can try to convince it that you need to get that code written or you can’t pay the mortgage. But no – that doesn’t work. Your brain is more concerned about keeping you watered and fed, and uneaten by lions.

So what the Head First books do is trick your brain into thinking that this stuff matters. The books try to turn learning a slightly abstract topic into a survival exercise. That’s what Head First Rails attempts to do. It’s not a reference book – it’s a survival book.

Satish>> Who is the book targeted at?

David>> O’Reilly marketing always say “It’s for anyone with a credit card” :-) The truth is that the book was written for people like me. People who have probably developed in some other language and framework, and are looking to learn about a newer, faster, more lightweight, more productive tool. They probably have a lot of ideas for the kinds of systems they want to write, but simply don’t have the time to hack away at one of the traditional frameworks. They may have even tried to get into Rails before, but somehow couldn’t get engaged with the material. They may have even bought two or three Rails books, but they haven’t really read that much of them. Head First Rails is designed to give you that way into the topic.

Satish>> What’s been your experience with the publisher – O’Reilly?

David>> They’re a great company to work for. The amazing thing is that they’re a really small company compared to a lot of the tech publishers. This really tiny publishing house, that has a reputation and stature far beyond its size. I think the reason for its success is primarily down to the leadership of Tim O’Reilly. He’s surrounded himself with a group of talented and creative people who are driven to change the world by spreading knowledge.

Dealing with O’Reilly editors is completely different from my previous experience in the magazine world. In a lot of publishing, editors are the people who run the schedules. They bark at you when you’re late. They make sure you’ve signed the right contracts. They check that the blurb on the book matches what’s inside. I’m simplifying of course.

But the kind of editorial support you get from O’Reilly is world’s apart. To begin with they train you. They ship you off to their offices and train you. Not simply in how to put one word after another, but they train you in the deep stuff. The hard stuff. Things like how to motivate a topic. How to make something engaging. Something that maybe at first is kind of non-descript. Then there’s all the meta-cognition stuff – learning about learning. Looking at the way the brain works, how it interacts with its environment. How to use design, and redundancy, and twists and turns and conflict to involve the learner with the material. Then when you’re creating the book you really are part of a team. A whole group of people who transform some vague and anomalous idea you had into a book. It’s a truly, profoundly enjoyable idea. That’s why I’m writing another one – it can’t be the money :-)

Satish>> Looking back, are there some topics that you now wish should have been covered or dropped from the book?

David>> I think taking a second run at the book I would taken some of the material from chapter 2 and spread it more evenly through the book. In chapter 2 you build an application from the ground up – no scaffolding. It gets in quite deep. Looking back, chapter 2 was tougher than it should have been. It’s a bit of a baptism by fire. Of course – by the time you get through chapter 2 you have a pretty profound understanding of how Rails thinks. It’s takes you beyond a simple how-to guide. You know the “Do this command and get this cool effect”. In effect, you write your own scaffolding. Not because that’s something you’re likley to do much (if at all) in the real world, but you do it so that the way Rails works gets under your skin. But even so, it’s the one area of the book that I’ll be sure to re-assess in future editions.

Satish>> Any plans for a second edition of the book especially as Rails 3 will be released soon?

David>> At Head First we usually keep things pretty quiet until stuff’s about to come out. The problem with any Rails book is that it gets out of date pretty quickly and this is certainly an area that we need to keep an eye on. Rails is a very rapidly expanding area of development. I get the feeling – and I think you do too – that it is a technology at the cusp. It is just at that sweet, sweet moment where it goes from innovation into being true mass market technology. I think with that kind of momentum, we’d be foolish not to keep the material up to date. Another thing to consider as well is that it’s called O’Reilly Media, not O’Reilly Publishing. There are a whole raft of things that are in the pipeline that I think are likely to transform the way knowledge and skills are made available to people. Rails will be in there somewhere.

Satish>> Anything else you would like to add?

David>> Err… well I am on twitter (@dgriffiths) if you’re into that kind of thing. And I suppose I ought to plug the next book. I’m currently working with a guy called Paul Barry on a new book called Head First Programming. It’s due out later this year, and will make a splendid Christmas/Hannuka/Diwali gift for any nascent hackers in the family.

Thank you David. In case you have any queries and/or questions, kindly post your questions here (as comments to this blog post) and David would be glad to answer.

comments powered by Disqus