Software Craftsman, The - Sandro Mancuso

Software Craftsman, The

Professionalism, Pragmatism, Pride

(Autor)

Buch | Softcover
288 Seiten
2014
Pearson (Verlag)
978-0-13-405250-2 (ISBN)
45,90 inkl. MwSt
Be a Better Developer and Deliver Better Code

 

Despite advanced tools and methodologies, software projects continue to fail. Why? Too many organizations still view software development as just another production line. Too many developers feel that way, too—and they behave accordingly.

 

In The Software Craftsman: Professionalism, Pragmatism, Pride, Sandro Mancuso offers a better and more fulfilling path. If you want to develop software with pride and professionalism; love what you do and do it with excellence; and build a career with autonomy, mastery, and purpose, it starts with the recognition that you are a craftsman. Once you embrace this powerful mindset, you can achieve unprecedented levels of technical excellence and customer satisfaction.

 

Mancuso helped found the world’s largest organization of software craftsmen; now, he shares what he’s learned through inspiring examples and pragmatic advice you can use in your company, your projects, and your career.

 

You will learn



Why agile processes aren’t enough and why craftsmanship is crucial to making them work
How craftsmanship helps you build software right and helps clients in ways that go beyond code
How and when to say “No” and how to provide creative alternatives when you do
Why bad code happens to good developers and how to stop creating and justifying it
How to make working with legacy code less painful and more productive
How to be pragmatic—not dogmatic—about your practices and tools
How to lead software craftsmen and attract them to your organization
What to avoid when advertising positions, interviewing candidates, and hiring developers
How developers and their managers can create a true culture of learning
How to drive true technical change and overcome deep patterns of skepticism

 

Sandro Mancuso has coded for startups, software houses, product companies, international consultancies, and investment banks. In October 2013, he cofounded Codurance, a consultancy based on Software Craftsmanship principles and values. His involvement with Software Craftsmanship began in 2010, when he founded the London Software Craftsmanship Community (LSCC), now the world’s largest and most active Software Craftsmanship community, with more than two thousand craftsmen. For the past four years, he has inspired and helped developers to organize Software Craftsmanship communities throughout Europe, the United States, and the rest of the world.

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.

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

Reihe/Serie Robert C. Martin Series
Sprache englisch
Maße 180 x 230 mm
Gewicht 500 g
Themenwelt Informatik Software Entwicklung Agile Software Entwicklung
ISBN-10 0-13-405250-1 / 0134052501
ISBN-13 978-0-13-405250-2 / 9780134052502
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Erfahrungen, Problemfelder und Erfolgsfaktoren

von Robert Wiechmann; Sven Röpstorff

Buch | Hardcover (2022)
dpunkt (Verlag)
37,90