For Love Not Money
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: Programmers make less money than architects or managers.

Solution: Nurture Your Passion for software craftsmanship. Develop software because you love to, not for monetary rewards.

"To only a fraction of the human race does God give the privilege of earning one's bread doing what one would have gladly pursued free, for passion. I am very thankful." Frederick Brooks, The Mythical Man Month

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 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 hate your job. When you are confronted with these problems, it is critical that your motivation to program is grounded in something beyond simply making money. If you come to hate your programming job and you're motivated by money, you will find yourself focusing on climbing the hierarchy and you will eventaully wander off The Long Road.

There will be times when you will need to sacrifice the work you love in order to provide for yourself and the people who depend on you. There is a fuzzy line (and a slippery slope) between being motivated to provide for the needs of your household and being motivated to make as much money as possible. If you are motivated primarily by money, your aspirations to acheive mastery as a software craftsman will end in disappointment. You were meant to walk a different road.

Some programmers can become inadvertently trapped by money. Jerry Weinberg describes this phenomenon as "The Golden Lock" in his book More Secrets of Consulting: "I'd like to learn something new, but what I already know pays too well." Jerry goes on to make a key point, "The Golden Lock" is not necessarily about money, people can be locked in by power and fame as well. The flip side of this was pointed out by Joe Walnes, who recognizes that there are times that you don't feel the love. It's during times like these that you will need other motivators. Love is simply a means of staying on The Long Road, if other motivators can be used, take advantage.

"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

Related: Programming For Love Not Money will help you Resist The Promotion and keep you on The Long Road.


Comments

Paul Hoover wrote...

Loved this one. But I think this whole thing would appeal to a larger audience (like myself) if you stripped the software developement aspect out, let the profession be ambiguous, and focus on the patterns of apprenticenship aprt from software.


ade wrote...

But then there's the problem that by trying to be non-specific we start handing out vague advice instead of merely documenting the tacit knowledge of a particular community. Some of the patterns we've discovered so far are applicable in fields other than software development but some are specific to software. There may come a point when it turns out that most of our patterns aren't about software in particular in which case I think that following your advice would be an excellent idea.

I'm also reminded of the advice to new writers: write about what you know. I think that should taken into consideration as well.


David Wood wrote...

Being able to live below your means is probably more a function of your attitude toward money (perhaps combined with discipline) than anything else. I forget where I found it, but someone said that there are basically two kinds of people in the world - savers and spenders, and marriages work well when both partners are one or the other. Living below your means probably only happens when you are a saver, and is undoubtably much easier when you have no children as your fixed expenses are much lower.


Name
Email
(Kept private)
URL
Comment
(No HTML)


Home : Dave Hoover : From Apprentice to Journeyman Copyright © 2001-2008 Red Squirrel Design, Inc. All Rights Reserved.