Apprenticeship Patterns

Book description

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

Publisher resources

View/Submit Errata

Table of contents

  1. Foreword
  2. Preface
    1. Goals
    2. Audience
    3. Process
    4. Organization
    5. Pattern Form
    6. Usage
    7. Using Code Examples
    8. Safari® Books Online
    9. How to Contact Us
    10. Dave’s Acknowledgments
    11. Ade’s Acknowledgments
  3. Software Craftsmanship Manifesto
  4. 1. Introduction
    1. What Is Software Craftsmanship?
      1. What Does It Mean to Be an Apprentice?
      2. What Does It Mean to Be a Journeyman?
      3. What Does It Mean to Be a Master?
    2. What Is Apprenticeship?
    3. What Is an Apprenticeship Pattern?
    4. Where Did the Patterns Come From?
    5. Where Do We Go from Here?
  5. 2. Emptying the Cup
    1. Your First Language
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    2. The White Belt
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    3. Unleash Your Enthusiasm
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    4. Concrete Skills
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    5. Expose Your Ignorance
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    6. Confront Your Ignorance
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    7. The Deep End
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    8. Retreat into Competence
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    9. Wrapping Up
  6. 3. Walking the Long Road
    1. The Long Road
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    2. Craft over Art
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    3. Sustainable Motivations
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    4. Nurture Your Passion
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    5. Draw Your Own Map
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    6. Use Your Title
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    7. Stay in the Trenches
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    8. A Different Road
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    9. Wrapping Up
  7. 4. Accurate Self-Assessment
    1. Be the Worst
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    2. Find Mentors
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    3. Kindred Spirits
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    4. Rubbing Elbows
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    5. Sweep the Floor
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    6. Wrapping Up
  8. 5. Perpetual Learning
    1. Expand Your Bandwidth
      1. Context
      2. Problem
      3. Solution
      4. Action
    2. Practice, Practice, Practice
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    3. Breakable Toys
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    4. Use the Source
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    5. Reflect As You Work
      1. Context
      2. Problem
      3. Solution
      4. Action
    6. Record What You Learn
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    7. Share What You Learn
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    8. Create Feedback Loops
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    9. Learn How You Fail
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    10. Wrapping Up
  9. 6. Construct Your Curriculum
    1. Reading List
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    2. Read Constantly
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    3. Study the Classics
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    4. Dig Deeper
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    5. Familiar Tools
      1. Context
      2. Problem
      3. Solution
      4. Action
      5. See Also
    6. Wrapping Up
  10. 7. Conclusion
  11. A. Pattern List
  12. B. A Call for Apprenticeship
  13. C. A Retrospective on the First Year of Obtiva’s Apprenticeship Program
  14. D. Online Resources
  15. Bibliography
  16. Index
  17. About the Authors

Product information

  • Title: Apprenticeship Patterns
  • Author(s): Dave Hoover, Adewale Oshineye
  • Release date: October 2009
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9780596518387