<p style="MARGIN: 0px">Foreword by Robert C. Martin xv</p> <p style="MARGIN: 0px">Preface xvii</p> <p style="MARGIN: 0px">Acknowledgments xxv</p> <p style="MARGIN: 0px">About the Author xxix</p> <p style="MARGIN: 0px"> </p> <p style="MARGIN: 0px">Part I: Ideology and Attitude 1</p> <p style="MARGIN: 0px"> </p> <p style="MARGIN: 0px">Chapter 1: Software Development in the Twenty-First Century 3</p> <p style="MARGIN: 0px">Seniority 5</p> <p style="MARGIN: 0px">A New Reality 6</p> <p style="MARGIN: 0px"> </p> <p style="MARGIN: 0px">Chapter 2: Agile 9</p> <p style="MARGIN: 0px">Process-Oriented Agile Disciplines 10</p> <p style="MARGIN: 0px">Technical-Oriented Disciplines 10</p> <p style="MARGIN: 0px">What Is It to Be Agile? 11</p> <p style="MARGIN: 0px">Agile Manifesto 12</p> <p style="MARGIN: 0px">The Agile Transformation Era 14</p> <p style="MARGIN: 0px">The Agile Hangover 14</p> <p style="MARGIN: 0px">Agile versus Software Craftsmanship 21</p> <p style="MARGIN: 0px">Summary 22</p> <p style="MARGIN: 0px"> </p> <p style="MARGIN: 0px">Chapter 3: Software Craftsmanship 23</p> <p style="MARGIN: 0px">A Better Metaphor 23</p> <p style="MARGIN: 0px">What Does Wikipedia Say? 24</p> <p style="MARGIN: 0px">A More Personal Definition 24</p> <p style="MARGIN: 0px">A Shorter Definition 24</p> <p style="MARGIN: 0px">Beyond Definitions 25</p> <p style="MARGIN: 0px">Craft, Trade, Engineering, Science, or Art 25</p> <p style="MARGIN: 0px">Software Craftsmanship History 26</p> <p style="MARGIN: 0px">Summary 39</p> <p style="MARGIN: 0px"> </p> <p style="MARGIN: 0px">Chapter 4: The Software Craftsmanship Attitude 41</p> <p style="MARGIN: 0px">Who Owns Your Career? 42</p> <p style="MARGIN: 0px">Keeping Ourselves Up to Date 44</p> <p style="MARGIN: 0px">Know Who to Follow 48</p> <p style="MARGIN: 0px">Practice, Practice, Practice 48</p> <p style="MARGIN: 0px">Socialize 54</p> <p style="MARGIN: 0px">Deliberate Discovery 55</p> <p style="MARGIN: 0px">Work-Life Balance 56</p> <p style="MARGIN: 0px">Summary 60</p> <p style="MARGIN: 0px"> </p> <p style="MARGIN: 0px">Chapter 5: Heroes, Goodwill, and Professionalism 61</p> <p style="MARGIN: 0px">Learning How to Say No 64</p> <p style="MARGIN: 0px">Providing Options 70</p> <p style="MARGIN: 0px">Enlightened Managers 74</p> <p style="MARGIN: 0px">Summary 75</p> <p style="MARGIN: 0px"> </p> <p style="MARGIN: 0px">Chapter 6: Working Software 77</p> <p style="MARGIN: 0px">Working Software Is Not Enough 78</p> <p style="MARGIN: 0px">Looking After Our Garden 79</p> <p style="MARGIN: 0px">The Invisible Threat 79</p> <p style="MARGIN: 0px">The Wrong Notion of Time 81</p> <p style="MARGIN: 0px">Legacy Code 88</p> <p style="MARGIN: 0px">Summary 91</p> <p style="MARGIN: 0px"> </p> <p style="MARGIN: 0px">Chapter 7: Technical Practices 93</p> <p style="MARGIN: 0px">The Right Thing versus the Thing Right 93</p> <p style="MARGIN: 0px">Context 94</p> <p style="MARGIN: 0px">Extreme Programming History 96</p> <p style="MARGIN: 0px">Practices and Values 97</p> <p style="MARGIN: 0px">Accountability 104</p> <p style="MARGIN: 0px">Pragmatism 105</p> <p style="MARGIN: 0px">Summary 106</p> <p style="MARGIN: 0px"> </p> <p style="MARGIN: 0px">Chapter 8: The Long Road 107</p> <p style="MARGIN: 0px">A Tale from a Brazilian Teenager 107</p> <p style="MARGIN: 0px">Focus and Determination 110</p> <p style="MARGIN: 0px">Job as Investment 111</p> <p style="MARGIN: 0px">Autonomy, Mastery, and Purpose 113</p> <p style="MARGIN: 0px">Career Inside Companies 114</p> <p style="MARGIN: 0px">Summary 115</p> <p style="MARGIN: 0px"> </p> <p style="MARGIN: 0px">Part II: A Full Transformation 117</p> <p style="MARGIN: 0px"> </p> <p style="MARGIN: 0px">Chapter 9: Recruitment 119</p> <p style="MARGIN: 0px">An Ordinary Job Description 120</p> <p style="MARGIN: 0px">Too Busy to Interview 122</p> <p style="MARGIN: 0px">No Job Descriptions 123</p> <p style="MARGIN: 0px">Recommendations 130</p> <p style="MARGIN: 0px">Community Involvement 130</p> <p style="MARGIN: 0px">Defining Effective Filtering Criteria 131</p> <p style="MARGIN: 0px">Proactive Recruitment 134</p> <p style="MARGIN: 0px">Summary 135</p> <p style="MARGIN: 0px"> </p> <p style="MARGIN: 0px">Chapter 10: Interviewing Software Craftsmen 137</p> <p style="MARGIN: 0px">A Business Negotiation 137</p> <p style="MARGIN: 0px">Identifying Productive Partnerships 138</p> <p style="MARGIN: 0px">Good Interviews 142</p> <p style="MARGIN: 0px">Taking a Punt 148</p> <p style="MARGIN: 0px">Hiring for an Existing Team versus Hiring for a New Team 149</p> <p style="MARGIN: 0px">Pre-Interview Coding Exercises 150</p> <p style="MARGIN: 0px">Everyone Should Know How to Interview 151</p> <p style="MARGIN: 0px">Developers Must Interview Developers 152</p> <p style="MARGIN: 0px">Summary 152</p> <p style="MARGIN: 0px"> </p> <p style="MARGIN: 0px">Chapter 11: Interview Anti-Patterns 153</p> <p style="MARGIN: 0px">Don’t Be a Smart-Ass Interviewer 153</p> <p style="MARGIN: 0px">Don’t Use Brainteasers 154</p> <p style="MARGIN: 0px">Don’t Ask Questions to Which You Don’t Know the Answers 154</p> <p style="MARGIN: 0px">Don’t Try to Make the Candidate Look Like a Fool 155</p> <p style="MARGIN: 0px">Don’t Block the Internet 156</p> <p style="MARGIN: 0px">Don’t Code on a Piece of Paper 156</p> <p style="MARGIN: 0px">Don’t Use Algorithms 157</p> <p style="MARGIN: 0px">Don’t Conduct Phone Interviews 157</p> <p style="MARGIN: 0px">Summary 158</p> <p style="MARGIN: 0px"> </p> <p style="MARGIN: 0px">Chapter 12: The Cost of Low Morale 159</p> <p style="MARGIN: 0px">The Agile Hangover: Low Morale 159</p> <p style="MARGIN: 0px">The Cost of Employing 9-to-5 Developers 161</p> <p style="MARGIN: 0px">Constrained by Lack of Motivation 164</p> <p style="MARGIN: 0px">Injecting Passion 165</p> <p style="MARGIN: 0px">Summary 167</p> <p style="MARGIN: 0px"> </p> <p style="MARGIN: 0px">Chapter 13: Culture of Learning 169</p> <p style="MARGIN: 0px">Wrong Motivation 170</p> <p style="MARGIN: 0px">Creating a Culture of Learning 171</p> <p style="MARGIN: 0px">What if Others Don’t Want to Join In? 179</p> <p style="MARGIN: 0px">Summary 182</p> <p style="MARGIN: 0px"> </p> <p style="MARGIN: 0px">Chapter 14: Driving Technical Changes 185</p> <p style="MARGIN: 0px">Identifying Skepticism Patterns 185</p> <p style="MARGIN: 0px">Be Prepared 189</p> <p style="MARGIN: 0px">Where Do We Start? 191</p> <p style="MARGIN: 0px">Fear and Incompetence 195</p> <p style="MARGIN: 0px">How Do I Convince My Manager? 196</p> <p style="MARGIN: 0px">How Do I Convince My Team to Do TDD? 197</p> <p style="MARGIN: 0px">Facing the Skeptics 198</p> <p style="MARGIN: 0px">Should We Really Care about All That? 205</p> <p style="MARGIN: 0px">Summary 205</p> <p style="MARGIN: 0px"> </p> <p style="MARGIN: 0px">Chapter 15: Pragmatic Craftsmanship 207</p> <p style="MARGIN: 0px">Quality Is Always Expected 207</p> <p style="MARGIN: 0px">Busting the “Expensive and Time-Consuming Quality” Myth 209</p> <p style="MARGIN: 0px">Refactoring 211</p> <p style="MARGIN: 0px">The “One Way” of Developing Software 212</p> <p style="MARGIN: 0px">Helping the Business 213</p> <p style="MARGIN: 0px">Software Projects Are Not about Us 217</p> <p style="MARGIN: 0px">Great versus Mediocre 217</p> <p style="MARGIN: 0px">Four Rules of Simple Design 218</p> <p style="MARGIN: 0px">Craftsmanship and Pragmatism 221</p> <p style="MARGIN: 0px">Summary 222</p> <p style="MARGIN: 0px"> </p> <p style="MARGIN: 0px">Chapter 16: A Career as a Software Craftsman 223</p> <p style="MARGIN: 0px">Being a Craftsman 224</p> <p style="MARGIN: 0px">Career Progression 225</p> <p style="MARGIN: 0px">Roads and Milestones 227</p> <p style="MARGIN: 0px">Job Diversity 231</p> <p style="MARGIN: 0px">The Mission 233</p> <p style="MARGIN: 0px"> </p> <p style="MARGIN: 0px">Appendix: Craftsmanship Myths and Further Explanations 235</p> <p style="MARGIN: 0px"> </p> <p style="MARGIN: 0px">Index 241</p>