Published by Pearson (December 12, 2014) © 2015

Sandro Mancuso
    VitalSource eTextbook (Lifetime access)
    €18,99
    Adding to cart… The item has been added
    ISBN-13: 9780134052588

    Software Craftsman, The: Professionalism, Pragmatism, Pride ,1st edition

    Language: English

    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.

    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