| |
| |
Acknowledgments | |
| |
| |
| |
Introduction | |
| |
| |
| |
Who is the 21st-century Programmer? | |
| |
| |
| |
Discovering the Lessons Firsthand | |
| |
| |
| |
This Book is About Us | |
| |
| |
| |
Metaphor | |
| |
| |
| |
Follow Metaphors with Care | |
| |
| |
| |
Plan Enough, Then Build | |
| |
| |
| |
Launch is Just the First Release | |
| |
| |
| |
The "Ivory Tower" Architect is a Myth | |
| |
| |
| |
Throw Away Your Old Code | |
| |
| |
| |
Diversification Over Specialization | |
| |
| |
| |
Metaphors Hide Better Ways of Working | |
| |
| |
| |
Motivation | |
| |
| |
| |
The Perks are in the Work | |
| |
| |
| |
Begin Where you Love to Begin | |
| |
| |
| |
Be Imperfect | |
| |
| |
| |
Stop Programming | |
| |
| |
| |
Test Your Work First Thing in the Morning | |
| |
| |
| |
Work Outside the Bedroom | |
| |
| |
| |
First Impressions are Just That | |
| |
| |
| |
The Emotional Value of Launch | |
| |
| |
| |
Find an Argument | |
| |
| |
| |
Productivity | |
| |
| |
| |
Just Say "No" to the Pet Project | |
| |
| |
| |
Constrain All of Your Parameters | |
| |
| |
| |
Cut the Detail Out of the Timeline | |
| |
| |
| |
Improve Your Product in Two Ways Daily | |
| |
| |
| |
Invest in a Good Work Environment | |
| |
| |
| |
Keep a Personal To-Do List | |
| |
| |
| |
Create "Off-Time" with Your Team | |
| |
| |
| |
Work in Small, Autonomous Teams | |
| |
| |
| |
Eliminate the "We" in Productivity | |
| |
| |
| |
Complexity | |
| |
| |
| |
Sniff Out Bad Complexity | |
| |
| |
| |
The Simplicity Paradox | |
| |
| |
| |
Complexity as a Game of Pickup Sticks | |
| |
| |
| |
Keep Complexity Under the Surface | |
| |
| |
| |
"Hard to Code" Might Mean "Hard to Use" | |
| |
| |
| |
Know When to Refactor | |
| |
| |
| |
Develop a Programming Cadence | |
| |
| |
| |
Teaching | |
| |
| |
| |
Teaching is Unlike Coding | |
| |
| |
| |
Beware the "Curse of Knowledge" | |
| |
| |
| |
Teach with Obvious Examples | |
| |
| |
| |
Lie to Simplify | |
| |
| |
| |
Encourage Autonomous Thought | |
| |
| |
| |
Clients | |
| |
| |
| |
The Tough Client is Ubiquitous | |
| |
| |
| |
Demystify the Black Magic of Software | |
| |
| |
| |
Define the Goals of Your Application | |
| |
| |
| |
Be Enthusiastic and Opinionated | |
| |
| |
| |
Be Forgiving and Personable | |
| |
| |
| |
Value is Much More Than Time | |
| |
| |
| |
Respect Your Project Manager | |
| |
| |
| |
Code | |
| |
| |
| |
Write Code As a Last Resort | |
| |
| |
| |
A Plug-in Happy Culture | |
| |
| |
| |
Code is the Ultimate Junior Developer | |
| |
| |
| |
Separate Robot Work from Human Work | |
| |
| |
| |
Generating Code at Its Core | |
| |
| |
| |
The Case for Rolling Your Own | |
| |
| |
| |
Pride | |
| |
| |
| |
We Have a Marketing Problem | |
| |
| |
| |
Lessons from the Cooking Industry | |
| |
| |
| |
Bibliography | |