Synopses & Reviews
Software developers face an ever-changing and ever-expanding technology landscape, which can appear as intimidating as Mt. Everest to newcomers. Developing technical skills is vital, but there are dozens of soft skills and learning techniques you need if you're to grow and succeed professionally. Honing those soft skills is a big part of what Apprenticeship Patterns is all about.
Authors Dave Hoover and Adewale Oshineye, both formerly of the global IT consultancy ThoughtWorks, have cataloged dozens of patterns of behavior to help software developers hone their craft. Developed through years of research, a multitude of interviews, and feedback from O'Reilly's online forum, these patterns address difficult situations faced by entry-level programmers, system administrators, and database administrators. Each pattern has a memorable name to help point you in the right direction when you need it most. Examples of common obstacles and their solutions include:
Burned out at work? Learn how to Nurture Your Passion by finding a pet project to help you rediscover the joy of problem solving Feeling overwhelmed by too much new information? Take a step back from your learning to re-explore some familiar territory by building something you've built before, then use Retreat Into Competence to launch yourself forward again Feeling stuck in your learning? Seek out a team of experienced and talented developers where you can Be the Worst for a while
Like any patterns book, you can read this one front-to-back, jump to specific patterns when you encounter the issues they address, or cherry pick just the ones that are new to you.
The purpose of the solutions is to inspire you to stay on the path you intend, rather than wander off into management because it seems like the only option for advancement. Apprenticeship Patterns approaches software development not as a means to financial success, but as a means to personal fulfillment. It's your life and your career. Discover how this book can help you make the best of both.
Over the last several years, Hoover and Oshineye have cataloged 34 patterns of behavior that help software developers grow and succeed professionally. The focus of this book is on those apprentices looking to achieve the skills and experience of a journeyman.
Are you doing all you can to further your career as a software developer? With today's rapidly changing and ever-expanding technologies, being successful requires more than technical expertise. To grow professionally, you also need soft skills and effective learning techniques. Honing those skills is what this book is all about. Authors Dave Hoover and Adewale Oshineye have cataloged dozens of behavior patterns to help you perfect essential aspects of your craft.
Compiled from years of research, many interviews, and feedback from O'Reilly's online forum, these patterns address difficult situations that programmers, administrators, and DBAs face every day. And it's not just about financial success. Apprenticeship Patterns also approaches software development as a means to personal fulfillment. Discover how this book can help you make the best of both your life and your career.
Solutions to some common obstacles that this book explores in-depth include:
- Burned out at work? "Nurture Your Passion" by finding a pet project to rediscover the joy of problem solving.
- Feeling overwhelmed by new information? Re-explore familiar territory by building something you've built before, then use "Retreat into Competence" to move forward again.
- Stuck in your learning? Seek a team of experienced and talented developers with whom you can "Be the Worst" for a while.
"Brilliant stuff! Reading this book was like being in a time machine that pulled me back to those key learning moments in my career as a professional software developer and, instead of having to learn best practices the hard way, I had a guru sitting on my shoulder guiding me every step towards master craftsmanship. I'll certainly be recommending this book to clients. I wish I had this book 14 years ago!"-Russ Miles, CEO, OpenCredo
About the Author
Dave Hoover is a Lead Consultant with Obtiva, specializing in Agile Development. He is a hands-on coach, spending the majority of his time pair programming with client developers, crafting Ruby and Java applications via test-driven development. Dave was trained in psychology and spent 4 years practicing child and family therapy. He made a career change and landed a job at a web startup where he had the opportunity to teach himself Perl under the guidance of some experienced developers. Since those first days in 2000, he has been consistently introspective and reflective about his journey toward mastery through journaling and blogging. He has written articles for XML.com and Stickyminds.com, developed OSS for the Selenium and Watir projects, and speaks at conferences like XP2005, RailsConf 2006, and Agile 2007. What qualifies him to write this book is that the patterns were initially extracted from his own journey and that he has the expertise to introspect on his own experience and explore the experiences of others through interviews. Prior to joining Obtiva, Dave was with Thoughtworks.Adewale Oshineye is an engineer at a little-known search engine named Google. This is a consequence of many deeply geeky evenings spent programming 8-bit computers when he was a child. When he grew up Adewale somehow fell into IT consultancy. His career at consultancies such as Thoughtworks gave him the chance to work on projects ranging from point-of-sale systems for electrical retailers to trading systems for investment banks. It also gave him a chance to learn from some of the most interesting software craftspeople in Western Europe. In those rare moments when he's not in front of a computer he can be found behind a digital camera somewhere in London.
Table of Contents
Foreword; Preface; Goals; Audience; Process; Organization; Pattern Form; Usage; Using Code Examples; Safari® Books Online; How to Contact Us; Dave's Acknowledgments; Ade's Acknowledgments; Software Craftsmanship Manifesto; Chapter 1: Introduction; 1.1 What Is Software Craftsmanship?; 1.2 What Is Apprenticeship?; 1.3 What Is an Apprenticeship Pattern?; 1.4 Where Did the Patterns Come From?; 1.5 Where Do We Go from Here?; Chapter 2: Emptying the Cup; 2.1 Your First Language; 2.2 The White Belt; 2.3 Unleash Your Enthusiasm; 2.4 Concrete Skills; 2.5 Expose Your Ignorance; 2.6 Confront Your Ignorance; 2.7 The Deep End; 2.8 Retreat into Competence; 2.9 Wrapping Up; Chapter 3: Walking the Long Road; 3.1 The Long Road; 3.2 Craft over Art; 3.3 Sustainable Motivations; 3.4 Nurture Your Passion; 3.5 Draw Your Own Map; 3.6 Use Your Title; 3.7 Stay in the Trenches; 3.8 A Different Road; 3.9 Wrapping Up; Chapter 4: Accurate Self-Assessment; 4.1 Be the Worst; 4.2 Find Mentors; 4.3 Kindred Spirits; 4.4 Rubbing Elbows; 4.5 Sweep the Floor; 4.6 Wrapping Up; Chapter 5: Perpetual Learning; 5.1 Expand Your Bandwidth; 5.2 Practice, Practice, Practice; 5.3 Breakable Toys; 5.4 Use the Source; 5.5 Reflect As You Work; 5.6 Record What You Learn; 5.7 Share What You Learn; 5.8 Create Feedback Loops; 5.9 Learn How You Fail; 5.10 Wrapping Up; Chapter 6: Construct Your Curriculum; 6.1 Reading List; 6.2 Read Constantly; 6.3 Study the Classics; 6.4 Dig Deeper; 6.5 Familiar Tools; 6.6 Wrapping Up; Chapter 7: Conclusion; Pattern List; A Call for Apprenticeship; A Retrospective on the First Year of Obtiva's Apprenticeship Program; Online Resources; Colophon;