InfoQ

Interview

   Good News: We have re-worked our video infrastructure to provide more reliable service. Please email bugs at infoq.com with any problems.

Pragmatic Dave on Passion, Skill and 'Having A Blast'

Interview with Dave Thomas by Jim Coplien on Jan 24, 2008 05:38 AM

Community
Agile
Topics
Methodologies,
Stories & Case Studies,
Training / Certification,
University Programs
Tags
Criticism,
Complementary Practices,
Book,
Kata
Summary
At QconLondon 2007 Jim Coplien spoke with "Pragmatic" Dave Thomas for InfoQ. This energetic 30-minute interview runs the gamut of Dave's wide-ranging interests: 'agile' publishing; how to turn what you love doing into a book; programming (and methodology) monocultures; staying limber with code "katas"; and advice for academics: help your students live with the passion of a 5-year old!

Bio
Dave Thomas is recognized internationally as an expert who develops high-quality software - accurate and highly flexible systems. He helped write the now-famous Agile Manifesto, and regularly speak on new ways of producing software. He is the author of six books, including the best selling The Pragmatic Programmer: From Journeyman to Master and Programming Ruby: A Pragmatic Programmer's Guide.
Jim Coplien for InfoQ: Hi Dave. Would you like to introduce yourself for our audience?
What's the most fun thing you have done in the past 5 years?
Why would a person like you, great computer guy who probably should be writing code, start up a bookstore?
That's wonderful. If someone is interested in publishing a book with you, what kind of books are you looking for? How should they approach you?
You are an Agile publisher. What does that mean, to be an Agile publisher? That's a great phrase!
Very good. And of course you know the pair programming angle with publishing, from your work in the past. When you said you were an Agile publisher, you were of course one of the signers of the manifesto. Is there a life after Agile? Where is Agile right now from where you sit?
If you were to give some advice to, respectively, a manager and a developer, on helping them understand whether they are doing Agile or not: what would you tell them - andis that the right question?
I see the same thing too. It's one size does not fit all.
And there's variety in methods. Of course there is also variety in every facet of everything we do, including programming language. I am kind of a C++ guy, becoming a Java guy, I guess you are a Ruby guy, so with respect to the whole view of programming language and where we are today, and where you would like to see people go: what are your thoughts on that?
I understand the derivative benefits very well, it's good to have seen lots of different tools to know how to more effectively use the one you are using. But there is also an issue of mastery - Alistair Cockburn called software development "group poetry writing". And the language in which you are writing it is ... the language in which you are writing it. You have to master a program pretty well and things like its idioms, so I am told, in order to be effective in it. So you said you spent a year learning a functional programming language, part of which is probably learning the computional model, and what's the advice you can give concretely for a real developer (as opposed to a manager, not someone who is going to say "What class are we going to send this people to,") but someone who will make an investment in his career: "How expert do I need to be in a language in order to avoid the sorcerer's apprentice problem?"
It is funny: you call them "katas." I misunderstood you, I thought you said "toccata," which, of course, is the same concept in music, and depending on your market, maybe you can go there too.
That's a great metaphor. Dave, have you ever been in Academia? Got the professor thing?
What advice can you give to the academics in terms of how they can help their people develop? What kind of guidelines, directions, inspirations can they give to their students to help them learn the things you feel are important? So if you were to say "Here are the 3 top things I feel that students are missing today", coming out of University, or the 3 techniques you should be using to inspire our people, what would they be? Or is this the wrong question to the wrong market?
Might it mean that computing is not a proper discipline?
So, that's for the academic side of things, and really Academia, in my experience (and I hear this from a lot of people) is a very small part of your education. And in fact there is a lot of un-learning that goes on when you have your first job. So the main focus I think, of learning and advancement, is in our own jobs, in our own careers. And you talk about passion, where does the passion come from to draw people into learning? What can we do, what can you and I do to go out there in the industry and tell them to do, to incite this passion to drive on the learning of our industry and to raise up the level of things?
I think everyone who knows you, and who's had an opportunity to see you speak in person, understands you are a passionate person. It's wonderful to see that in an individual. What are your passions today?
At 50 years old you are a 5 year-old with passion. What do you want to be when you grow up?
How long have you been in the industry now?
And it was fun then?
Is the industry still a fun place to be?
I really appreciated having the time with you here, I wish you good luck and thanks again for your thoughts and sharing with us.
show all  show all

3 comments

Reply

..of a 5 year old? by Michael Neale Posted Jan 25, 2008 1:01 AM
Re: ..of a 5 year old? by Deborah Hartmann Posted Jan 25, 2008 6:16 AM
...on helping others follow their passion... by Joe Miller Posted Jan 25, 2008 8:11 AM
  1. Back to top

    ..of a 5 year old?

    Jan 25, 2008 1:01 AM by Michael Neale

    Yes, copy the enthusiasm, but NOT THE ATTENTION SPAN PEOPLE ! PLEASE !

  2. Back to top

    Re: ..of a 5 year old?

    Jan 25, 2008 6:16 AM by Deborah Hartmann

    I have no idea what you m... Hey wanna go get a coffee?

  3. Back to top

    ...on helping others follow their passion...

    Jan 25, 2008 8:11 AM by Joe Miller

    A great resource on this subject can be found in the strengths-based books by Marcus Buckingham and Donald Clifton (some written while Marcus worked for Gallup). In many ways this is about following those things you are passionate about. This is all part of a greater strengths-based/positive physiology movement -- which I believe is very active currently. A couple excellent titles on this subject are: "Now, Discover Your Strengths" (2001) by Marcus Buckingham and Donald O. Clifton, Ph.D. "Go Put Your Strengths to Work" (2007) by Marcus Buckingham

Exclusive Content

Business Natural Languages Development in Ruby

Jay Fields presents his concept of Business Natural Languages - a type of Domain Specific Languages geared towards being readable by domain experts.

Distributed Version Control Systems: A Not-So-Quick Guide Through

Adoption and interest for Distributed Version Control Systems is constantly rising. We will introduce the concept of DVCS and have a look at 3 actors in the area: git, Mercurial and Bazaar.

Segundo Velasquez and Agile as Seen Through the Customer's Eyes

Deborah Hartmann interviewed Segundo Velasquez about his experience as customer with an Agile team during the initial phase of software design of a product.

Fine Grained Versioning with ClickOnce

David Cooksey shows how to fine grained versioning to a ClickOnce deployment using an HttpHandler written with ASP.NET, making partial rollouts to a test audience much easier.

Implementing Manual Activities in Windows Workflow

Windows workflow (WF) is an excellent framework for implementing business processes, but lacks support for human activities. This article describes a completely generic approach for changing this.

Markus Voelter about Software Architecture Documentation

In this interview taken during OOPSLA 2007, Markus Voelter talks about the importance of documenting the software architecture, and gives some good and also bad examples on how it could be done.

Voca, UK's largest payment processing engine running Spring

William Soo and Meeraj Kunnumpurath discuss the Voca transaction processing system, architectural challenges and requirements, Voca's Spring/J2EE architecture, and the future SEPA architecture.

Patterns for securing architectures

Security is about trade-offs. Only a few have the expertise to design good security. This talk focuses on Security Patterns, such as Role-based Access Control, Single Access Point, and Front Door.