I've said it before but I'll say it again: the highest paid programmers don't call themselves programmers. There are a lot of things you can do which involve slinging code that pay rather substantially more than the equivalent amount of undifferentiated code slinging.
Sure. If application of your code a) demonstrably makes a business more money at the margin and b) you are sophisticated about extracting that value, the amount of money transferred from the business to you will not be judged against the programmer pay yardstick, it will be judged against ROI on strategic initiatives yardstick. You really want to be paid according to that second one.
There are many examples of this. Quants. People who do risk pricing for Citibank. The kind of people who work on credit score algorithms. There are comparative peons in Google/Facebook/Zynga who will make millions upon millions because they are really good at twirling a few knobs which are attached to a faucet that spits out money.
Last March I wrote server-side logic, some Javascript, some HTML/CSS, a bit of Ruby goo, and some documentation justifying my choices. For that my employers paid me $3,000. This May I wrote server-side logic, some Javascript, some HTML/CSS, a bit of Ruby goo, and some documentation justifying my choices. I made a wee bit more than $3,000 this time, largely because the punch line was "Project partly successful, sales up N%."
No - basically, have your contribution be measured in how much value you added to the business. EX: App redesign makes sales go up 10k then the work was worth 10k
The highest-paid programmers usually become rich via:
1) Founding a business or startup.
2) Becoming an early employee of an averagely successful startup, or a per-IPO employee of hugely successful startups (Facebook, Google).
3) Becoming an IT manager or quants/traders at IB or Hedge funds
4) Becoming world-leader in open-source technologies (e.g. Scala, Hadoop, JQuery).
5) Writing books, giving lectures: teaching others how to become great programmers.
If you mean upper-middle class then 4 and 5 are out of the question
If you mean upper class (top 1%) even 3 is out of the question. 500K a year is upper-middle-class in jersey and middle-class in manhattan. And after all of those expenses, you would be lucky to save 100K of that after taxes
If you mean `rich` (i would define rich as having enough money not to need a paycheck from another company -- maybe 10M in the bank is a good threshold) then 1 and 2 are the only ways to go
One thing to note: taxes are a pain. Most people in that 200-500K range are stiffed by the AMT (why I had to pay AMT at 22 is beyond me)
Somehow over the last 10/20 years, the notion of "rich" has had a much bigger inflation than the rest of the world, this is particularly true in the US. If your definition of "rich" is not needing a paycheck, then 2M with 2% interests over inflation should be enough to live OK in most countries except maybe Switzerland, Denmark or Norway.
OK... I have two answers to that. First, when you are rich, it is easier to get a better return on investment. Because you can afford better advisors, and because you work with higher volumes, bringing the transaction costs down, and possibly accessing to expensive investment products other can't afford. There are many articles on the rich getting richer, I will not post another one here.
Then, second point... Let's say you just get the return as high as the inflation... You still have a 2M pie you can eat from :) That would mean for example 50000$ a year during 40 years, augmenting pair with the inflation. I don't know well in other countries, but for me that would be enough to let the state retirement come. That wouldn't be the millionaire life but quite enough to enjoy my life with what I'd like to do. But for now I rather work and code/design things that matters :)
"when you are rich, it is easier to get a better return on investment" <-- This argument is valid at a scale two orders of magnitude higher than what I am talking about. It's easy to lop people with 1M net worth in the same bucket as people with 10B net worth, but there's a very meaningful difference there (beyond whether or not you decide to get a third bugatti). A million-dollar portfolio is below the thresholds that many financial institutions would consider for an investment.
"Let's say you just get the return as high as the inflation... You still have a 2M pie you can eat from :)" <-- lets say you are 25 now and you live to be 80. Even if you can just match inflation, you have less than 40K per year to play with. In most suburbs of NYC, its hard to live on that (taxes on a house alone will eat away a quarter of that).
Your arguments would be valid if I decided to move to a third world country. I could go to India and live like a king for the rest of my life on less than 300K USD. But now you are comparing apples to oranges here: taking earnings from a place where earnings and costs are high, and exporting them to a place where costs are low.
NOTE: My goal isn't to pick a fight. You will understand when you get there that a million dollars just isn't that much (and not in a keeping-with-the-joneses sense)
I quite get you're arent't picking up a fight :) I understand your points and agree we are picking different environments for investment. As I said, in Europe when you get at 0 when your are 67 (max!) is then covered by state retirement.
Your point made me think about geo difference BTW. It is now clear to me how much the US needs more performance from you to ensure retirement. BTW feel free to tell me if you want to follow that thread per email... I'd be glad to.
What is someone (I assume we're talking an individual) is spending on to be left with only 100k? After taxes you should have earned something like $280k to $300k; $180k to $200k is a hell of a lot to spend a year.
I also imagine you are using a high standard for upper middle class. If you use even top 10%, you are talking professionals earning > $75,000 which most programmers hit at any company (at least in the Bay Area).
Ah ok I was under the presumption we were talking about a family here (because the numbers mean something completely different if we are talking about one person -- who doesnt need a large house -- versus a family -- who needs more space and has other expenses)
I imagine some of the top level programmers at Microsoft, Google, Facebook, etc probably earn in the mid six figures.
But just like executive pay, there's a point where the bonuses and profit sharing make up the vast majority of your compensation. Base salary stats don't really apply then.
Yes. You also have a much better chance of getting broke with your own company than getting a six fig salary at an existing company - so at the end it is just basic risk management.
This omits bonuses, and other out-of your salary payments, that programmers usually take. I've heard about minimum 15% bonus at google for example. (and 15% meaning not very good performance)
The person making 1.2 million isn't just a programmer, but he/she also understands the business well. More so, he/she is an integral part of the business.
That person was probably Sergey Aleynikov, who made $400k at Goldman Sachs then jumped ship to Teza for $1.2m - salary. He was doing high frequency trading code in C++. This is a matter of public record. Unfortunately he's now in jail having been accused of stealing said code from GS.
EDIT: I have now read to the last page of the article, and I guessed right!
Interestingly, for a while I used some of Aleynikov's code myself, he wrote Oracaml. It hasn't been touched since 2006, doesn't build with the current OCaml or GCC without some hacking, and he's probably not going to be uploading patches from jail! So I restarted the project as OCI*ML on Github.
programmers at high frequency trading firms can make well into the six figures and still spend most of the day coding. firms like these usually don't have much in the way of management tiers. though I wouldn't expect a programmer to make money like that unless they were closely involved in developing the trading strategies themselves.
Math/stats + ultra lean code + plus understanding market micostructure. From the CS side some of the more cutting edge stuff I've heard of being worked on involves hacking graphics cards to get a speed edge and building data centers in the middle of the ocean for the same reason.
If you look at that H-1B table that was up here a while ago, there are at least 24 software engineer, analyst, programmer type entries that paid more than $500k and up to $1mil and 52 entries between $200k and 1mil. Those exclude managerial or executive job titles. Although given how many errors that table had, I don't know how accurate that information is. I'm sure there are plenty more non visa people that earn in that range or above.
I've always felt that some people were 'coders' who given an algorithm or a task can craft an elegant piece of code which implements that algorithm tweaked in any of a number of directions (fast, robust, testable, portable, Etc.)
Other were 'analysts' who took problems and solved them with a combination of coding and process and perhaps hardware.
Then there were 'techs' who, given a set of steps, translated those steps into something a machine could consume.
Analysts seem to have the widest range in pay, coders are pretty bunched up around various levels of experience.
...some of them are willing to pay at least $1.2 million per year to programmers who can code them better than anyone else.
Correction: some of them are willing to pay at least $1.2 million/yr to a programmer who can bring them source code representing the cumulative effort of a team from one of the most 'respected' firms in the industry.
No, you can be staff and not have direct reports if you just want to code. Some staff engineers do manage but it isn't a requirement. There's a separate job title track for non-coding pure managers.