Published in December 2014 by our co-founder Sandro Mancuso, 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.
In the first part, Sandro defines the Software Craftsmanship ideology and the attitude expected from true software craftsmen.
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.
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.
Defines the Software Craftsmanship ideology, providing an in-depth history and reason for what became an international movement.
Explains the attitude expected from a software craftsman and provides a lot of advices in how to become a better professional.
Addresses how to deal with pressure and tight deadlines in a professional manner.
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.
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.
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. :)
In the second half, Sandro focusses on bringing Software Craftsmanship principles and values to organisations.
For most companies recruitment is broken. This chapters explains how to attract great developers, write job descriptions, and have *proactive* recruitment.
States that the interview process is a business negotiation and provides advice for both companies and candidates to reach mutually beneficial agreements.
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.
Addresses the impact low morale has on an organisation and how to fix it injecting some passion.
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.
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.
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.
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.
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.
Software is our passion.
We are software craftspeople. We build well-crafted software for our clients, we help developers to get better at their craft through training, coaching and mentoring, and we help companies get better at delivering software.