Software Craftsman, The: Professionalism, Pragmatism, Pride

Prentice Hall
Sandro Mancuso  
Total pages
December 2014
Related Titles

Product detail

Product Price CHF Available  
Software Craftsman, The: Professionalism, Pragmatism, Pride
44.50 not defined


In The Software Craftsman, Sandro Mancuso explains what craftsmanship means to the developer and his or her organization, and shows how to live it every day in your real-world development environment. Mancuso shows how software craftsmanship fits with and helps students improve upon best-practice technical disciplines such as agile and lean, taking all development projects to the next level. Readers will learn how to change the disastrous perception that software developers are the same as factory workers, and that software projects can be run like factories.


  • A manifesto for the reinvigorated Software Craftsmanship movement: how to become a better developer and deliver better code
  • Offers exceptionally practical and actionable advice on improving software quality and project success rates
  • Reveals what Software Craftsmanship means today, and why it's more important than ever
  • The newest book in our internationally-respected Robert C. Martin Series

Table of Contents

Foreword by Robert C. Martin xv

Preface xvii

Acknowledgments xxv

About the Author xxix


Part I: Ideology and Attitude 1


Chapter 1: Software Development in the Twenty-First Century 3

Seniority 5

A New Reality 6


Chapter 2: Agile 9

Process-Oriented Agile Disciplines 10

Technical-Oriented Disciplines 10

What Is It to Be Agile? 11

Agile Manifesto 12

The Agile Transformation Era 14

The Agile Hangover 14

Agile versus Software Craftsmanship 21

Summary 22


Chapter 3: Software Craftsmanship 23

A Better Metaphor 23

What Does Wikipedia Say? 24

A More Personal Definition 24

A Shorter Definition 24

Beyond Definitions 25

Craft, Trade, Engineering, Science, or Art 25

Software Craftsmanship History 26

Summary 39


Chapter 4: The Software Craftsmanship Attitude 41

Who Owns Your Career? 42

Keeping Ourselves Up to Date 44

Know Who to Follow 48

Practice, Practice, Practice 48

Socialize 54

Deliberate Discovery 55

Work-Life Balance 56

Summary 60


Chapter 5: Heroes, Goodwill, and Professionalism 61

Learning How to Say No 64

Providing Options 70

Enlightened Managers 74

Summary 75


Chapter 6: Working Software 77

Working Software Is Not Enough 78

Looking After Our Garden 79

The Invisible Threat 79

The Wrong Notion of Time 81

Legacy Code 88

Summary 91


Chapter 7: Technical Practices 93

The Right Thing versus the Thing Right 93

Context 94

Extreme Programming History 96

Practices and Values 97

Accountability 104

Pragmatism 105

Summary 106


Chapter 8: The Long Road 107

A Tale from a Brazilian Teenager 107

Focus and Determination 110

Job as Investment 111

Autonomy, Mastery, and Purpose 113

Career Inside Companies 114

Summary 115


Part II: A Full Transformation 117


Chapter 9: Recruitment 119

An Ordinary Job Description 120

Too Busy to Interview 122

No Job Descriptions 123

Recommendations 130

Community Involvement 130

Defining Effective Filtering Criteria 131

Proactive Recruitment 134

Summary 135


Chapter 10: Interviewing Software Craftsmen 137

A Business Negotiation 137

Identifying Productive Partnerships 138

Good Interviews 142

Taking a Punt 148

Hiring for an Existing Team versus Hiring for a New Team 149

Pre-Interview Coding Exercises 150

Everyone Should Know How to Interview 151

Developers Must Interview Developers 152

Summary 152


Chapter 11: Interview Anti-Patterns 153

Don’t Be a Smart-Ass Interviewer 153

Don’t Use Brainteasers 154

Don’t Ask Questions to Which You Don’t Know the Answers 154

Don’t Try to Make the Candidate Look Like a Fool 155

Don’t Block the Internet 156

Don’t Code on a Piece of Paper 156

Don’t Use Algorithms 157

Don’t Conduct Phone Interviews 157

Summary 158


Chapter 12: The Cost of Low Morale 159

The Agile Hangover: Low Morale 159

The Cost of Employing 9-to-5 Developers 161

Constrained by Lack of Motivation 164

Injecting Passion 165

Summary 167


Chapter 13: Culture of Learning 169

Wrong Motivation 170

Creating a Culture of Learning 171

What if Others Don’t Want to Join In? 179

Summary 182


Chapter 14: Driving Technical Changes 185

Identifying Skepticism Patterns 185

Be Prepared 189

Where Do We Start? 191

Fear and Incompetence 195

How Do I Convince My Manager? 196

How Do I Convince My Team to Do TDD? 197

Facing the Skeptics 198

Should We Really Care about All That? 205

Summary 205


Chapter 15: Pragmatic Craftsmanship 207

Quality Is Always Expected 207

Busting the “Expensive and Time-Consuming Quality” Myth 209

Refactoring 211

The “One Way” of Developing Software 212

Helping the Business 213

Software Projects Are Not about Us 217

Great versus Mediocre 217

Four Rules of Simple Design 218

Craftsmanship and Pragmatism 221

Summary 222


Chapter 16: A Career as a Software Craftsman 223

Being a Craftsman 224

Career Progression 225

Roads and Milestones 227

Job Diversity 231

The Mission 233


Appendix: Craftsmanship Myths and Further Explanations 235


Index 241


Sandro Mancuso has coded since a very young age but only started his professional career in 1996. He has worked for startups, software houses, product companies, international consultancy companies, and investment banks. In October 2013, Sandro cofounded Codurance, a consultancy company based on Software Craftsmanship principles and values.


During his career, Sandro has worked on various projects, with different languages and technologies and across many different industries. Sandro has a lot of experience bringing the Software Craftsmanship ideology and Extreme Programming practices to organizations of all sizes. Sandro is internationally renowned for his work in spreading Software Craftsmanship principles and is a renowned speaker at many conferences around the world. His professional aspiration is to raise the bar of the software industry by helping developers become better at–and care more about–their craft through sharing his knowledge, skills, and experiences.


Sandro’s involvement with Software Craftsmanship started in 2010, when he founded the London Software Craftsmanship Community (LSCC), which has become the largest and most active Software Craftsmanship community in the world, with more than 2,000 craftsmen. For the past four years he has inspired and helped developers to start and organize many other Software Craftsmanship communities in Europe, the United States, and other parts of the world.