||From Apprentice to Journeyman : Dave Hoover : Home|
Context: As an apprentice, you must develop your technical skills. Because of this you will find yourself in the trenches.
Problem: Working in the trenches is rigorous, sometimes tedious, sometimes exhausting, often frustrating, and frequently overly chaotic or constraining.
Solution: Ensure that your motivations for craftsmanship will adapt and survive through the trials and tribulations of The Long Road.
There will be days, weeks, and months that you love your job. Like Fred Brooks, you'll chuckle to yourself, in awe that you actually get paid to develop software. The software you write will flow effortlessly from your mind, through your fingertips, beautiful to behold in function and design. These are good and extraordinary days. In other words, they are not your ordinary days.
As Paul Graham so rightly says, the typical programming job will put you face-to-face with tedious, vaguely-defined, and needlessly complex problems. Nasty, wicked problems. What's more, you may eventually be faced with bureaucracy, difficult personalities, and spotty leadership. There will be days, weeks, and months that you question your commitment to the craft. When you are confronted with these problems, it is crucial that your motivations to program are aligned with walking The Long Road. A few examples to illustrate...
Some programmers can become inadvertently trapped by their motivations. Jerry Weinberg describes this phenomenon as The Golden Lock in More Secrets of Consulting: "I'd like to learn something new, but what I already know pays too well." The risk of the Golden Lock highlights the importance of aligning your motivations with The Long Road, which requires a motivation to achieve mastery. A desire for mastery should motivate you to be wary of Golden Locks as they inevitably present themselves. As you progress as a craftsman, you will be faced with tough decisions that will determine whether you have the freedom to stay on The Long Road or whether you will find yourself trapped in a Golden Lock. An example:
Obie is an exceptional Java programmer whose reputation was built on his Java expertise. Obie had a decision to make: continue to grow his Java-expert status or learn a promising new web framework (Rails) in an unfamiliar language (Ruby). Obie chose to focus on learning in order to expand his toolset, the mark of a craftsman. He set aside the safety of his Java reputation and became a Ruby newbie, avoiding a Golden Lock.
On a couple occasions Marten Gustafson has found himself in the midst of a project death march because his passion for the craft induced him to throw all of his time and energy into the project. To keep your motivation aligned with The Long Road, it is essential that you Nurture Your Passion for software craftsmanship while keeping it in balance with the the other aspects of your life. Naturally, there will be times where the scales are tipped in one direction. Nevertheless, all along The Long Road, you should be concious of this balancing act.
Dave's low pain threshold
|Home : Dave Hoover : From Apprentice to Journeyman||Copyright © 2001-2013 Red Squirrel Design, Inc. All Rights Reserved.|