(This is a snapshot of my old weblog. New posts and selected republished essays can be found at raganwald.com.)

Wednesday, February 28, 2007
  Make Money Fast!

Kevin Barnes explaining the consequences of “great” coders1 getting paid far too little:
In the end, this means that really great coders will keep getting paid less than they are worth and average ones will keep getting paid more, so the economic benefits of great skill will go primarily to the companies with the best employees and not to the employees themselves.

Eric Sink on the Business of Software is an great book for would-be founders: unlike the “I’m the smartest person I know” autobiographies of people who have struck it rich in Silicon Valley, Eric shares the wisdom he has acquired building an independent software business organically. He has special insights for “micro-ISVs,” the super-small businesses that have one or two employees and usually a single, insanely great product. It’s a must-read for people who want to start their own software business, not just dream about “someday…”

I have news for anyone outraged or disappointed by this true statement: all great employees are paid far less than the value they generate, even employees like salespeople that are paid proportionally.

Let me put it in this painfully direct manner: who lives better, the slave in the field, the slave in the house, or the master who owns the plantation?

Purely and simply, the money is in owning your own business. Every time. Without exception.2 The point is that if you are any good at what you do, and if you want to earn more money, then you need to found a business. It can be a start up, a consulting business, or even a night club.3 That’s how you’ll get paid what you’re worth.

I’m not even close to being the first to point this out. ‘Props’ to Paul Graham4 for suggesting that starting companies is the best way for twenty-somethings to get paid something close to what they’re worth.

Update: A few people have pointed out that running a business is a skill that is orthogonal to coding. True. And a few people have pointed out that running a business is risky. Also true, and related: running a business without a modicum of business talent is akin to programming without being able to code fizzbuzz.5 That does not change the basic fact that if you wish to be paid more money, you must successfully run your own business.

Look, I’m not saying anything in life has a guarantee. If I said “A Porsche is faster than a Chevrolet,” you can point out that most people either cannot afford a Porsche or reasonably choose not to purchase one. But that doesn’t change the fact that the Porsche is still faster.

So if you have good reasons for not starting a business, fine. But that does not change the fact that the people who run businesses make more money than the people who work for the people who run businesses.

  1. Let’s not argue about whether the bike shed ought to be green. If you think that coding is not a valuable skill, that the value is in communication, or architecture, or eliciting requirements, or some other characteristic of great software developers, feel free to apply some white out to your display and write the appropriate word in. Great developers, however you measure great, are underpaid. By the way, I have no evidence that great coders cannot communicate, do not design great architectures, or are unskilled at divining good requirements. So there.

  2. The one exception I can think of raising would be Michael Milken, who earned more than half a billion dollars as an employee of Drexel Burnham Lambert. But a cursory examination of his circumstances reveals that he was running his own business under the Drexel banner.

  3. Or possibly not a night club. See the comments.

  4. Paul’s book, Hackers and Painters: Big Ideas from the Computer Age is another must-read.

  5. Actually, getting and keeping a programming job without being able to program is significantly easier than running a business without any talent for it.



Comments on “Make Money Fast!:
I'm sometimes amazed at which of the articles I write get the most attention. My biggest concern when writing it was the "no duh" factor, but apparently people seem to think the idea that great programmers are dramatically better than average ones is somehow controversial.
the idea that great programmers are dramatically better than average ones is somehow controversial

In my experience, only programmers suffer from this affliction.

Although there are arguments that managers cannot tell the difference between great and average programmers, all of the managers I have met in the ISV business have been keenly aware of the difference.

It may be that in other lines of work, like building internal applications for BigCo, managers cannot tell the difference. Then again, they might be able to tell but simply not care.

In some environments, building software in less time with fewer project failures is simply not as important as, for example, demonstrating a huge process.

In one BigCo I have seen, programmers have to track their time in three different systems simultaneously.

The processes around tracking and expensing time are considered more important than the process of creating working software!
A minor nit to pick... in a properly run business, all employees - great or not - are paid less than the value they generate for the company. They *must* be, or the company doesn't make a profit. That may be acceptable; so long as you realize that this is a point of equilibrium... the company would have no profits, no real cash reserves, no way to grow or survive in anything but ideal circumstances.
in a properly run business, all employees - great or not - are paid less than the value they generate for the company. They *must* be, or the company doesn't make a profit. That may be acceptable

Hardly a nit. That "must" be for the business, but that is hardly a reason for someone to choose to be an employee instead of being a company founder...

There are plenty of good reasons why someone may prefer employment, but all I'm pointing out is that money is not a good reason.

It isn't a slam against businesses, just something that happens to be true about making money.
Jamie Zawinski's nightclub that you linked to has been a money loser for years.
Jamie Zawinski's nightclub that you linked to has been a money loser for years

Okay, make that "or possibly even a night club."

Maybe managers are aware of the differences, but very few clients of consulting companies are -- if two skill profiles look roughly similar, the consultancy selling the idiot will win in the short run.

And it's "Porsche" :-)
It's "Porsche"

If I drove one, I would know that :-)
I'm not sure I'd agree that all business owners are better paid than all employees, which is how some of your statements read; but it's certainly true that the best-paid members of most companies are the people who run those companies.

<< Home
Reg Braithwaite

Recent Writing
Homoiconic Technical Writing / raganwald.posterous.com

What I‘ve Learned From Failure / Kestrels, Quirky Birds, and Hopeless Egocentricity

rewrite_rails / andand / unfold.rb / string_to_proc.rb / dsl_and_let.rb / comprehension.rb / lazy_lists.rb

IS-STRICTLY-EQUIVALENT-TO-A / Spaghetti-Western Coding / Golf is a good program spoiled / Programming conventions as signals / Not all functions should be object methods

The Not So Big Software Design / Writing programs for people to read / Why Why Functional Programming Matters Matters / But Y would I want to do a thing like this?

The single most important thing you must do to improve your programming career / The Naïve Approach to Hiring People / No Disrespect / Take control of your interview / Three tips for getting a job through a recruiter / My favourite interview question

Exception Handling in Software Development / What if powerful languages and idioms only work for small teams? / Bricks / Which theory fits the evidence? / Still failing, still learning / What I’ve learned from failure

The unary ampersand in Ruby / (1..100).inject(&:+) / The challenge of teaching yourself a programming language / The significance of the meta-circular interpreter / Block-Structured Javascript / Haskell, Ruby and Infinity / Closures and Higher-Order Functions

Why Apple is more expensive than Amazon / Why we are the biggest obstacles to our own growth / Is software the documentation of business process mistakes? / We have lost control of the apparatus / What I’ve Learned From Sales I, II, III

The Narcissism of Small Code Differences / Billy Martin’s Technique for Managing his Manager / Three stories about The Tao / Programming Language Stories / Why You Need a Degree to Work For BigCo

06/04 / 07/04 / 08/04 / 09/04 / 10/04 / 11/04 / 12/04 / 01/05 / 02/05 / 03/05 / 04/05 / 06/05 / 07/05 / 08/05 / 09/05 / 10/05 / 11/05 / 01/06 / 02/06 / 03/06 / 04/06 / 05/06 / 06/06 / 07/06 / 08/06 / 09/06 / 10/06 / 11/06 / 12/06 / 01/07 / 02/07 / 03/07 / 04/07 / 05/07 / 06/07 / 07/07 / 08/07 / 09/07 / 10/07 / 11/07 / 12/07 / 01/08 / 02/08 / 03/08 / 04/08 / 05/08 / 06/08 / 07/08 /