After hearing about how Pragmatic Press came to be, the conversation shifted to some of Dave's software development practices and philosophies. Both Dave and Jim were among the 17 authors of the Agile Manifesto seven years earler. Asked "Is there a life after Agile? Where is Agile right now from where you sit?", Dave's reply included:
...Agility has moved from the kind of wild and wacky into conservative mainstream. ...people have recognized that agility is valid, is here to stay and it's a valid way to build software projects. ...The trouble is that once you passed that barrier you then get a bunch of people flooding in that don't really know what it means to be Agile.Dave's passion for his work was evident throughout, prompting Jim to ask him directly about being a passionate person, and creating passionate people: "What can we do to incite this passion to drive on the learning of our industry and to raise up the level of things?"
I think, as a community, we are doing a pretty good job but we could do a better job of trying to make people understand what it really means to be Agile, what the true meaning of it is. It doesn't mean I am doing XP or I am doing Scrum; it's really a question of what I feel when I am doing it, what's the philosophy of it. Because you certainly don't have to do XP or Scrum or one of these standard methodologies to be doing Agile software development. That's the challenge that we are facing now, as we grow as a community and as the adoption rates increase, how do we keep it right and how do we stop it from being diluted?
Ask the question differently: think about all the 5 years olds you know, they are full of passion, they are passionate about everything, whether it is Power Rangers or Star Trek, they have passion for everything they do. They do everything with gusto, they enjoy it, they don't mind making mistakes, they laugh when they make mistakes, it's so cool being a 5 year-old. By the time they get to 25 we have stamped that out of them, somehow we've destroyed their passion. So, it's not a question of instilling passion, we can't instill passion into someone, but what you can do is stop killing it in people.He went on to cite industry examples, such as Google, which prove this can be done in the workplace.
Jim then turned to the subject of academia, touching on whether this work is even an appropriate subject for Academia (Dave quit his PhD because he didn't feel that there were valid PhDs in software), and asking "What advice can you give to the academics in terms of how they can help their people develop?"
That is a really important question because I think, to some extent, the tone of the industry is set by Academia, because most people coming out are expected to have a degree in, typically, Computer Science. ...If you are an academic ... you are dealing with a very delicate product in your students, and ultimately when a student gets into the industry it is not how well they can analyze a particular function or the depth of knowledge in this particular architecture, it is their passion that drives them forward. And as an academic I think you have a responsibility not to squash that passion, I think you have to find ways of nurturing it.Jim closed with a great question: Is the industry still a fun place to be? Dave's reply:
I think it is really important to be well-rounded ... so you need, for example, to not just write Java code for 4 years as part of your degree. ...I think you have to understand that there is a certain beauty to computing, that you may not see if all you have been exposed to is Java. I think that is important. And ... a lot of colleges are focused on computing for the computing students, so you sit there and you have all your courses in software on whatever it might be. Some of the best hires that I have ever done have been music majors, history majors, philosophy majors, who never saw a computer in college, they saw probably the inside of a bar most, and they turned out to be really really good developers. Because they cared, they were smart, they could synthesize, they could draw parallels, all these kind of things that you have to do when you are working with clients in a real software situations. You could teach some of the programming language but you can't teach someone how to work the parallels between this and that.
For some people yes, for other people no. There are clearly people who are enjoying themselves, having a blast. They are trying new things, doing great work, and for them it's a wonderful place to be. I mean, after all, when you think about (this is not me, this is Fred Brooks): "Software is like poetry: you start with a blank piece of paper and anything you can imagine you can create," and that's a unique place to be as an industry. But it is also really challenging, it is very hard work. So a lot of people don't get that part of it, they don't enjoy that part of it, for them it's a job: they turn up, they do the work, they go home. Which is fine but it's a really really hard way to make a living.Enjoy the whole InfoQ interview on video: Pragmatic Dave on Passion, Skill and Having A Blast.
...Frankly, if you are not enjoying it, you are not writing good code: you might ask yourself: "Am I really in the right job? In the right industry?" Because I think everybody has the right to be happy. When you spend 8 hours a day, half of your waking life doing something, I think you deserve to be happy doing it.
I think the question is "As an industry are we happy?". Some yes, some not. "As an industry should we be happy?" Absolutely! I would say that the people who are not happy really deserve to ask themselves "Am I really in the right place?" and then do something to make themselves happy. Everybody has the ability to find something that does make them happy. They have a right to do that. And I think now for the first time in a long long time we actually live in a world where that is possible.