Page

Chapter 11. Sustainable Motivations

By Dave Hoover & Adewale Oshineye  

PublicCategorized as 2. The Long Road.

Not yet tagged

chat.gif Discuss this Chapter!

Chapter 11. Sustainable Motivations

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 Chapter 9, The Long Road.

Anyone who has ever seen a programmer at work...knows that programming itself, if the programmer is given the chance to do it his way, is the biggest motivation in programming.

Jerry Weinberg, The Psychology of Computer Programming

There will be days, weeks, and months that you love your job. 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.

...there is not much overlap between the kind of software that makes money and the kind of software that's interesting to write. ... If you want to make money, you tend to be forced to work on problems that are too nasty for anyone to solve for free.

Paul Graham, Hackers and Painters

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 Chapter 9, The Long Road. A few examples to illustrate...

  • You hate your programming job and you're motivated primarily by money. You find yourself focusing on climbing the corporate ladder over growing your craftsmanship. But you are also motivated by your reputation as a technologist, and this allows you to endure long enough for your job situation to improve.

  • You're motivated primarly by your enjoyment of programming and you can't feel the love for a few months. You are seriously considering abandoning the profession. Fortunately, you are also motivated by money, and you think that programming is your best option financially right now. You stick it out for the money and eventually your love for programming returns.

  • Your work on open source projects is motivated primarly by a desire to build your reputation. While your projects provide value to users around the world, your status as a hacker has remained stagnant and you are considering abandoning your work. Yet, your belief in the importance of free software keeps you going. Your projects eventually blossom and your reputation grows.

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 Chapter 9, 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 Chapter 9, 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 Chapter 9, The Long Road, it is essential that you Chapter 12, 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 Chapter 9, The Long Road, you should be concious of this balancing act.

Dave's low pain threshold

During the evolution of this pattern, David Wood (one of my Kindred Spirits) shared some conventional wisdom with me: "Do what you love and the money will follow." This advice resonates with me because I am a complete wuss when I can't do what I love. On the flip side, when I'm doing what I love, I find that I have an overwhelming amount of creativity and energy to throw into my work, which ultimately provides me with greater financial rewards. While many programmers could probably find higher paying jobs in the short-term, the money that follows from doing what you love will pay off handsomely in the long run. To read more about this conventional wisdom, read (college dropout and Apple co-founder) Steve Jobs' commencement address to Stanford's class of 2005.

Dave Hoover


Copyright O'Reilly Media

Powered by Near-TimeTerms of Services | Privacy Policy | Security Policy |