When it comes to wall street bankers, there seems to be a consensus that money is the only thing that's going to bring in good talent.

When it comes to programmers, the consensus seems to be the opposite. I mean, they ought to be motivated by having a refrigerator full of Red Bull or being able to bring their dogs to work -- I mean, the Linux kernel got developed by people who work for free... Why do we need to pay people anything at all to develop applications for our intranet?

Although you'll find programmers with very different stories, I think that we'd see a healthier IT ecosystem if software people got more pay and respect (a friend of mine and myself both got offered a particular job... for him this was a big step up in pay and benefits, and for me it would have been a step down -- I've seen the compensation of programming jobs where people do comparable work vary by more than a factor of two.)

I think the "equity culture" is often part of the problem. There are startups in my town that pay $10 /hour, no benefits + equity (which might be worth something, otherwise not.) I also interviewed at a place where people were starting a new job shop; they seemed like a nice bunch of folks, they had all the trappings of "good management" (the CEO was a freshly minted MBA from an Ivy League school) but the biz plan didn't make a lot of sense to be and they were talking low base pay + some equity... This is a frickin' job shop... The kind of place where you might get $50,000 worth of equity and really be able to cash it out for $40,000 if you're insanely lucky.

That said, the interview question they asked me was the best interview question I'd ever been asked. They asked me to estimate a project they'd done for a client. I was smart enough to ask questions rather than blurt out a quick answer ...

I estimated about 160 hours for the project, and they told me it really took 200. That's not far off for a "seat of the pants" estimate, but driving home I thought... These guys probably charge $150/hr to clients; their client spend $30k for a really crappy intranet app that tortures end users... they "need" it for regulatory compliance, but there's no way that this app creates $30k worth of value.

For christsake they wasted 40 hours dealing with a deadbeat D.B.A.!

So that got me thinking about where my career was going and about software economics. For instance, if you want to get paid $150k a year, that money has to come from somewhere. Unfortunately, the shortest path to that is to get in a position where you can collect that as a rent, but assuming you're (i) the average unlucky joe, and (ii) somebody who wants to make a contribution, you need to be in a place where you're (a) creating > $150k a year in value and (b) in a position (politically) to get a good chunk of that pie.

Marx will tell you to work on (b) and that makes some sense, but I'll tell you from experience that it's a much better life to make $X for your boss and get paid $X/2 and it is to make $X for your boss and get paid $2X.

Practically, Job Shop work tends to be pretty marginal; the usual business model is to underquote work, lose money, but make it up in volume. It can be a nice biz if you've got sugar daddy customers who do stuff on a T&M basis, but otherwise job shops that look really profitable and productive today are frequently gone in a decade.

Now, you can make a lot more for your employer, potentially, if you're making a software product [or developing a SaaS-y service these days] but it's not at all unusual to put a man-decade into a product, spend $100K trying to sell it, and end up with $20K of revenue.

"Getting paid more" is therefore a matter of (a) making more value, and (b) getting a bigger piece of the pie. (a) interests me more these days -- I find it disturbing how much it costs to create business software and how bad the quality is usually is.