I recently created a Top 100 Best Software Engineering Books, Ever. I created that list…
I thought I had finished publishing interviews with many software development celebrities. And then suddenly I received this new contribution last week, and I thought, oh what the heck… let's publish another one…
Paul M. Duvall is the author of Continuous Integration: Improving Software Quality and Reducing Risk, listed at #37 on the Top 100 Best Software Engineering Books, Ever. Paul is the CEO of Stelligent, a consulting firm that helps clients create production-ready software every day. He has worked in virtually every role on software projects: developer, project manager, architect and tester. He's been a featured speaker at many leading software conferences.
These are the five questions I asked Paul, and the answers that he gave me…
1. What has been the toughest challenge in your past?
Answering the "toughest" challenge is, well, tough! Writing a book, while working full time, was tough. Jumping out of a perfectly good airplane was tough. Starting a company was tough. I guess, for me, one of my tougher challenges was actually getting into my software development career in that I kind of stumbled into it. I was 21 and working in the mailroom for a large IT consulting firm with, essentially, no marketable skills. I started to notice inefficiencies in how the mail was being delivered internally to around 5,000 employees, so I sought to improve it. Several months later I observed processes being performed in our Human Resources department in triplicate, so I began to teach myself how to program to help solve these problems. The rest, as they say, is history.
2. What is the main source of inspiration for what you do?
That humans should spend their time on interesting, non-mundane activities. This is why I love automation. The irony is that as software developers who automate our client's processes, we don't necessarily automate many of our own processes.
3. What activity should be on every manager's daily list?
That all teams run continuous integration and be able to create production-ready software every day. The automated build should include compilation, database integration, tests, static analysis, deployment and installation.
Ok, while I've got you here, I've two more:
– I've found that our biggest problems in software development tend to be around "assuming"…"It'll always be deployed to Windows", "Everyone follows the coding and design standards", "Developers would never use the method in that way", "We run automated tests all the time"…
Everything should be in the System
– If it's in your head, you're a less valuable resource.
– Resources (source, configuration, knowledge, etc.) should be checked into version control or documented somewhere people can find it.
4. What can we learn from you in the near future?
I'm working on a new book on applying technology to personal productivity. It has nothing to do with software development. I expect my next software engineering book will be out in a couple of years.
5. What is more interesting than software development?
Ideas. I love coming up with new ways of doing things. I'm fortunate to be able to implement many new ideas for a living. If I wasn't doing what I'm doing, I'd be a full-time inventor, author, musician or, perhaps, a movie director.
Well, these are the answers given by Paul Duvall. I hope you liked them!
Twitter – Subscribe – Newsletter – Bookmarks
Latest, greatest and favoritest posts:
Checklist for an Agile Game
Performance Appraisals (The Easiest Way to Fail)
5 Easy Questions for Myself