9780596518387
index.html

Apprenticeship Patterns

Guidance for the Aspiring Software Craftsman

Dave Hoover

Adewale Oshineye

Abstract

Note

This book uses the Open Feedback Publishing System (OFPS), an O'Reilly experiment that tries to bridge the gap between private manuscripts and public blogs.

Next to every paragraph, there is a link you can use to comment on what you're reading. We are grateful for any feedback you have: questions, comments, suggestions, and corrections are all welcome and appreciated.

Learn more and order at the book's catalog page.


Dedication

For Staci: my best friend, my wife, an Ironman, and mother of our children.—Dave

This book is dedicated to the clients and students at all my consultancy gigs for being open-minded; to the ThoughtWorkers for the good times and the bad times; to the other TSEs for being Googley; and to my friends and family for loving me anyway, even though they didn’t always understand.—Ade

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
1. Introduction
What Is Software Craftsmanship?
What Does It Mean to Be an Apprentice?
What Does It Mean to Be a Journeyman?
What Does It Mean to Be a Master?
What Is Apprenticeship?
What Is an Apprenticeship Pattern?
Where Did the Patterns Come From?
Where Do We Go from Here?
2. Emptying the Cup
Your First Language
Context
Problem
Solution
Action
See Also
The White Belt
Context
Problem
Solution
Action
See Also
Unleash Your Enthusiasm
Context
Problem
Solution
Action
See Also
Concrete Skills
Context
Problem
Solution
Action
See Also
Expose Your Ignorance
Context
Problem
Solution
Action
See Also
Confront Your Ignorance
Context
Problem
Solution
Action
See Also
The Deep End
Context
Problem
Solution
Action
See Also
Retreat into Competence
Context
Problem
Solution
Action
See Also
Wrapping Up
3. Walking the Long Road
The Long Road
Context
Problem
Solution
Action
See Also
Craft over Art
Context
Problem
Solution
Action
See Also
Sustainable Motivations
Context
Problem
Solution
Action
See Also
Nurture Your Passion
Context
Problem
Solution
Action
See Also
Draw Your Own Map
Context
Problem
Solution
Action
See Also
Use Your Title
Context
Problem
Solution
Action
See Also
Stay in the Trenches
Context
Problem
Solution
Action
See Also
A Different Road
Context
Problem
Solution
Action
See Also
Wrapping Up
4. Accurate Self-Assessment
Be the Worst
Context
Problem
Solution
Action
See Also
Find Mentors
Context
Problem
Solution
Action
See Also
Kindred Spirits
Context
Problem
Solution
Action
See Also
Rubbing Elbows
Context
Problem
Solution
Action
See Also
Sweep the Floor
Context
Problem
Solution
Action
See Also
Wrapping Up
5. Perpetual Learning
Expand Your Bandwidth
Context
Problem
Solution
Action
Practice, Practice, Practice
Context
Problem
Solution
Action
See Also
Breakable Toys
Context
Problem
Solution
Action
See Also
Use the Source
Context
Problem
Solution
Action
See Also
Reflect As You Work
Context
Problem
Solution
Action
Record What You Learn
Context
Problem
Solution
Action
See Also
Share What You Learn
Context
Problem
Solution
Action
See Also
Create Feedback Loops
Context
Problem
Solution
Action
See Also
Learn How You Fail
Context
Problem
Solution
Action
See Also
Wrapping Up
6. Construct Your Curriculum
Reading List
Context
Problem
Solution
Action
See Also
Read Constantly
Context
Problem
Solution
Action
See Also
Study the Classics
Context
Problem
Solution
Action
See Also
Dig Deeper
Context
Problem
Solution
Action
See Also
Familiar Tools
Context
Problem
Solution
Action
See Also
Wrapping Up
7. Conclusion
A. Pattern List
B. A Call for Apprenticeship
C. A Retrospective on the First Year of Obtiva’s Apprenticeship Program
D. Online Resources
Bibliography
Index
Site last updated on: July 14, 2011 at 02:05:32 PM PDT
Cover for Apprenticeship Patterns

View 1 comment

  1. Tonsure Wimple – Posted Oct. 13, 2012

    Reading often does not stick with detailed technical material. Typing in the code is what sticks to me, especially in problem domains I do not now. For example, I'm not a stats expert and "Statistics in R" only really stays with me when I run the code. Typing the code really cements the concepts. Just downloading it and reading it is not enough. Typing the code cross-connects different learning modes.

Add a comment