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:
Stop Assuming – 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!