Becoming a Software Developer, Part 6: Design and Programming

The step between having a design idea and the "simple matter" of programming that idea is a massive one. Understanding why programming is not easy is a first step toward mastering the craft of programming.

Pete McBreen is the author of Software Craftsmanship: The New Imperative (Addison-Wesley, 2001, ISBN 0-201-73386-2). Software Craftsmanship is the winner of the Productivity Award for Software Development magazine's 12th Annual Jolt Awards (see http://www.sdmagazine.com/jolts/).

From the author of

From the author of

Introduction

All too often I hear people dismiss the complexity of software development by
claiming that something is just a simple matter of programming. My normal
response is that if the speaker thinks it's going to be simple, then he can
write it himself.

Even a seemingly trivial application can be amazingly complex when you have
to address all the weird and wonderful things that can go wrong. Even a simple
thing like sending out email event notifications can have hidden complexities,
as we saw in Part 5 of this series, "Creating Acceptance Tests from Use
Cases." If the requirements for even a simple club membership system can be
quite complex, imagine how much complexity is hidden in larger commercial
applications.