Foreword

Software engineering is not engineering. As a software developer, I would love nothing more than to say I am an engineer. Engineers think through and build things that are supposed to work the first time due to careful planning. So having the word “engineer” in my job title would be very cool indeed.

Let’s look at what would happen if the normal software engineering approach were applied to aerospace engineering. A plane is sitting at a gate boarding passengers, and an aerospace engineer—on a whim or forced by management—decides to replace the tail section. Because it’s just a tail section, let’s just rip it off and stick another one on right there at the gate. No problem, we can make it work! If aerospace engineering were approached like ...

Get Solid Code: Optimizing the Software Development Life Cycle now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.