Published by Lorenzo Planas on January 28th, 2014
I've just finished reading "Apprenticeship Patterns", a book with lots of actionable advice for those programmers that want to maximize their learning opportunities. As a late-starter in programming, I've found myself in similar circumstances as one of the authors did: with the abilty to professionally work as a programmer, but eager to perfect my craft for the long-term.
Since I'm in this for the long-term, I like putting myself in situations where I can 'Be the Worst', learning and practicing my way up, expanding my skills and my toolset. Acquiring proficiency in a single language or set of tools is a double-edged sword: you can enjoy it and at the same time make a good living of it, but in time you can also lose motivation and settle. There are numerous patterns in the book that can help to climb from one plateau to the next, avoiding stagnation.
I liked the broad-minded approach of the authors - rather than living in an idealistic world where all of us become Master Craftsmen and build magnificent pieces of software, they prepare the reader to endure non-ideal work environments, and circumstances where a professional can lose confidence in her own abilities. The techniques and thought patterns explained in the book help a programmer to weather those situations, and take ownership of her own career.
The authors also consider the other side of the career / craft balance: whatever the circumstances, if we want to be programmers, we are individually and collectively responsible for the health of our profession. They argue for a healthy balance of apprentices, journeymen (experienced professionals) and masters. I found this very relevant to the reality of any profession, a reality highly distorted by the 'only the toughest and brightest' culture often promoted in startupland.
I'd strongly recommend this book to anyone looking to reflect on her career as a programmer. Getting a fresh start as an apprentice is always rewarding.