The Software Craftsman defines the Software Craftsmanship ideology and what it means to be a professional software developer.
This book is an encyclopedia on the behavior, attributes, and structure of an organization striving to grow in professionalism and adhere to the principles of Software Craftsmanship.
Robert C. Martin
The book covers a wide range of subjects related to our profession and is full of advice and personal stories which illustrate the current state of our industry, how things could be better, and what developers can do to bring more professionalism, pragmatism, and pride to our industry.
The preface has a very inspirational story about how Sandro encountered his first mentor and how that relationship has shaped his personal and professional life.
Part I - Ideology and Attitude
In the first part, Sandro defines the Software Craftsmanship ideology and the attitude expected from true software craftsmen.
- Chapter 1 Software Development in the Twenty-First Century
Describes how wrongly seniority is measured in most companies and explains how developers should evolve and behave in order to cope with more modern ways of working.
- Chapter 2 Agile
Describes the problems with most Agile adoptions and how Software Craftsmanship can help to solve them by providing a good balance between process and technical practices.
- Chapter 3 Software Craftsmanship
Defines the Software Craftsmanship ideology, providing an in-depth history and reason for what became an international movement.
- Chapter 4 The Software Craftsmanship Attitude
Explains the attitude expected from a software craftsman and provides a lot of advices in how to become a better professional.
- Chapter 5 Heroes, Goodwill, and Professionalism
Addresses how to deal with pressure and tight deadlines in a professional manner.
- Chapter 6 Working Software
Describes the problems of low quality software and how blaming the business for it is not an option. With a different attitude, developers could make things much better.
- Chapter 7 Technical Practices
Helps developers to understand and communicate the business value associated to technical practices, increasing the chances to have them adopted. It also talks about pragmatism and accountability.
- Chapter 8 The Long Road
This chapter is about the determination that is needed to have a successful career. This is one of Sandro’s favourite chapter and we won’t spoil it by telling you more. :)
Part II - A Full Transformation
In the second half, Sandro focusses on bringing Software Craftsmanship principles and values to organisations.
- Chapter 9 Recruitment
For most companies recruitment is broken. This chapters explains how to attract great developers, write job descriptions, and have *proactive* recruitment.
- Chapter 10 Interviewing Software Craftsmen
States that the interview process is a business negotiation and provides advice for both companies and candidates to reach mutually beneficial agreements.
- Chapter 11 Interview Anti-Patterns
Many good developers ended up rejecting a company because of a bad experience during the interviews. This chapter provides plenty of advice on the things that should be avoided while interviewing developers.
- Chapter 12 The Cost of Low Morale
Addresses the impact low morale has on an organisation and how to fix it injecting some passion.
- Chapter 13 Culture of Learning
Provides many ideas and examples for creating and nurturing a culture of learning. It also shows that any developer can do it even with no support from management.
- Chapter 14 Driving Technical Changes
Identifies different patterns of skepticism and offers many ideas on how to overcome them. It also provides advice on how to establish trust and how to increase the chances of convincing people with opposite views.
- Chapter 15 Pragmatic Craftsmanship
Craftsmanship without pragmatism is not craftsmanship. Quality is not expensive—lack of skills is. This is an important chapter that busts a few myths about Craftsmanship being expensive and slow.
- Chapter 16 A Career as a Software Craftsman
Introduces a big shift in attitude when it comes to managing our own careers. This is a strong chapter that inspired many developers since the book was published. We guarantee that you won’t look at your career with the same eyes again.
Appendix - Craftsmanship Myths and Further Explanations
Due to its importance, this appendix should have been introduced as a proper chapter. As with everything that becomes popular, there are many misconceptions about Software Craftsmanship. This appendix addresses many of them including: the difference between developers and craftsmen; elitism; the old metaphor— apprentice, journeyman and master; the role of a master craftsman; differences between Craftsmanship and XP; narrow focus and technical practices; clarifications about some points made earlier in the book about Agile Coaches and managers.