I recently created a Top 100 Best Software Engineering Books, Ever. I created that list…
In some earlier posts I published interviews with Johanna Rothman, Alistair Cockburn and Scott Berkun. After noticing that he is the #1 Software Engineer in the world, Steve McConnell was happy to ignore his busy schedule and was willing to contribute to my utterly unimportant but nevertheless quite interesting interview series… As always, I'm giving you the same 5 questions, this time accompanied by Steve McConnell's answers.
Steve McConnell is the biggest hero among software engineers. (Well, at least among the reading part of the software engineering population, which isn't that big I'm afraid…) Steve has no less than four entries on the Top 100 Best Software Engineering Books, Ever. His books are Rapid Development (#3), Software Estimation (#14), Software Project Survival Guide (#47), and of course the Best Software Engineering Book Ever… Code Complete (#1). Steve
McConnell is CEO and Chief Software Engineer at Construx Software, where he writes
books and articles, teaches classes, and oversees Construx’s software
engineering practices. Steve has his own site at www.stevemcconnell.com.
These are the five questions I asked Steve, and the answers that he gave me…
1. What has been the toughest challenge in your past?
I believe that if you're not struggling, you're not growing. And if you're not growing you're probably decaying or dying. So my life has been characterized more by "the challenge of the month" than by any one toughest challenge.
As a writer, one challenge that stands out is staying focused. The work is so open-ended that it's easy to be "productive," but to not actually have any written pages to show for all that "productive" work. Making myself actually sit at the keyboard and type at the times I've planned to sit at the keyboard and type has been tough.
As my company has grown I've experienced numerous challenges as a manager and leader. One of the biggest challenges for someone who's detail-oriented and a perfectionist like me is knowing when to let go. I realize intellectually that it's important to let people make mistakes, and I also realize intellectually that many of the actions and decisions I might view as "mistakes" are really just my preferences, not true mistakes. But actually implementing that on the ground is an ongoing challenge.
Another continuing source of challenges for me is the tension between being a perfectionist vs. wanting to be highly productive. I want my work to be perfect, but I also want it to be done. So I'm constantly agonizing over whether the things I work on are done enough.
And then there are the challenges of being a husband and a father. Those areas provide a very rich set of challenges!
2. What is the main source of inspiration for what you do?
It's hard for me to view what I do as "inspired." Mostly I just hate seeing things being done poorly that could be done better, especially when the work required to do those things better is not very hard or complicated. As a result of this orientation I've focused my writing career on writing books that I think need to be written, as opposed to writing books on whatever topics happen to be of strong interest to me. I've found that by the time I'm done writing a book I will have developed a passionate interest in the topic I've been writing about, even if I didn't start out passionate about the topic. And despite the huge explosion of new software books we've seen in the past 10 years, I find there are quite a few topics that still need to be written, so I think there are still some things I can do that will be useful.
3. What activity should be on every manager's daily list?
I'm not sure there's anything that any manager should do every single day, but here are a few things that come to mind right away:
4. What can we learn from you in the near future?
I've been focusing a lot more the past few years on executive management issues. This is an area that no one in software is writing about. As a result, I think a fairly high percentage of software executives simply have no idea what their job is supposed to be (and neither do their bosses). I've done enough work on this the past few years that I think I know what job a VP who has 200 people under him ought to be doing, and how that's different from a Director who has 50 people under him or a manager who has 10.
5. What is more interesting than software development?
Software is always a means to an end, and I've been amazed how often I work with companies that are developing software to support activities I'd never heard of before I met them. We've worked with organizations producing software for medical devices, motion picture special effects, biometric identification, military fighter planes, commercial airliners, drug development, warehouse management, produce brokering, banking, finance, oil and gas exploration, cell phones, retail companies, computer hardware, fire safety, container-ship management, port management, news websites–the whole universe of software. When I work with a company I always learn a lot about the non-software part of the company, and that's always very interesting and very cool.
Well, these are the answers given by Steve McConnell. I hope you liked them. Next time I will show you Robert L. Glass' reply to the same five easy questions.
Subscribe to this blog with a reader or by email!
Latest, greatest and favoritest posts:
5 Easy Questions for Ron Jeffries
5 Easy Questions for Mike Cohn
5 Easy Questions for Scott Rosenberg
5 Easy Questions for Luke Hohmann
5 Easy Questions for Karl Fogel
5 Easy Questions for Randall Hyde
5 Easy Questions for Jared Richardson
5 Easy Questions for Kathy Schwalbe
5 Easy Questions for Grady Booch
5 Easy Questions for Mary Poppendieck
5 Easy Questions for Robert L. Glass
5 Easy Questions for Steve McConnell
5 Easy Questions for Scott Berkun
5 Easy Questions for Alistair Cockburn
5 Easy Questions for Johanna Rothman
5 Easy Questions for Myself