In Stephen Vance’s book ‘Quality Code: Software Testing Principles, Practices, and Patterns’ he discusses how the software testing industry largely considers the titles of ‘software developer’, ‘computer programmer’, ‘code-slinger’ and ‘software engineer’ to be synonymous. However, in some places the latter title cannot be used because of strict regulation of the term “engineer”. Software aspires to be an engineer-ing discipline along with the more traditional engineering disciplines such as civil, mechanical, electrical, and aerospace. It has started to be recognized as such in recent years, but with considerable debate over questions of licensure, certification, and the minimal requisite body of knowledge.
At the same time, the software craftsmanship movement has grown steadily. With software craftsmanship groups around the world and events like CodeMash and Global Day of Code Retreat, an increasing number of developers want to focus on the skilled creation of code.
This eBook focuses on chapter 1: Engineering, Craftsmanship, and First- Time Quality which puts the approaches in the book into an engineering context, discussing engineering, craftsmanship, and first-time quality in general as well as some software-specific concerns.