Lively and highly readable introspections on the software development industry appeals to both insiders and non-technical readers alike with candid reflections takes a look at the future of software engineering as a profession. McConnell, a best-selling and award-winning author, describes software development practices and trends, provides valuable insight, and gives the non-technical public an understanding of software engineering.
Software developers are supposed to work insane hours, drink only caffeinated beverages, and have no personal lives, all in the interest of shipping the all-important Product. In the popular consciousness, the desperate programming team has acquired a status similar to that of the movie protagonist drinking whiskey alone at a bar--both are examples of ritual self-abuse deemed heroic. In After the Gold Rush: Creating a True Profession of Software Engineering, Steve McConnell argues that the methodical abuse of programmers causes bad code, unhappy people, and reduced profitability in the long run. In place of the existing system of crazy deadlines, clueless marketing, and scattershot programming strategies, McConnell proposes making software engineering into a "true profession." Such a profession would have a well-defined body of core knowledge, a system of professional certifications, and a code of professional ethics.
The question of whether such a "professionalization" of software development is a good idea is up for debate, certainly. It seems that a lot of programming jobs involve standard problems and solutions, which would lend themselves to teaching and testing. On the other hand, quantum-leap innovation has often come from "cowboy" artisans who deviate from the standard practices. Similarly, aggressive technology investors aren't interested in deliberate, standardized work--they want world-beating products (and they want them to market immediately, if not sooner). After the Gold Rush makes a well-reasoned, well-supported argument for a more structured programming profession, and is worthwhile reading for any technology executive or project manager. --David Wall
Topics covered: The problem with "code-and-fix" software development, the elusive nature of a body of knowledge in high-tech subjects, the structure of more traditional engineering professions (civil, chemical, and others), solution design versus implementation, and suggestions for how software engineering professionals might get trained and certified.