The software craftsman

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.

If you want to know more about the book, you can read the foreword, preface and a sample chapter.