Hacker News new | comments | show | ask | jobs | submit login
Poll: Full-time software engineers over 200k, how'd you get there?
191 points by michaelochurch on June 1, 2013 | hide | past | web | favorite | 121 comments
I'm kind of tired of all of these salary surveys because I don't trust them, but I am curious and think that it would be useful for the HN community to get advice/inspiration from some of the most financially successful engineers.

So, for the developers making more than (plus or minus) $200,000 per year in salary:

How much are you making?

Is your income stable or volatile?

What industry are you in?

Where do you live?

How long did it take to get to your level?

What kind of work do you do?

Do you enjoy it, or is it the stereotypical "highly paid because it's crappy" work?

Is this a short-lived opportunity, or do you expect it to exist in 5 years?

What would your advice be to a 20-year-old aspiring developer? 25? 30?

When I was working at Microsoft, after about 6 years I was well over $200k a year (before cash bonuses).

About 3/4 of that was salary. The rest was primarily rolling stock grants vesting. Most of them were a grant of X shares over 5 years (IIRC). I got one grant every year and two in a couple of them (gold star bonuses). Once you have enough of those grants rolling in and they get larger as you continue to "level up," they account for a larger and larger portion of your compensation.

These types of packages are what are known as golden handcuffs. When I quit, I left over $350k in ungranted stock shares on the table.

I really enjoyed the work. I had to make a location change for family reasons, and though they offered it (and I tried it), remote work is not Microsoft's forte.

As for advice, when young: learn. Avoid jobs at either big non-software companies or startups where you (at 20-something) are the most senior software person. At 30, make sure you have been networking well, as the vast majority of senior hires into good positions are done through networking your way to a hiring manager who then sets up the interview. Especially if you are making a field change, as the filtering process for hiring experienced people can be brutal.

The pieces of golden advice here...

- "Avoid jobs at either big non-software companies" - As cool as it may sound to design websites for the NBA, or design systems to help market movies, neither will teach deep technical skills. You'll outgrow your mentors quickly.

- "The vast majority of senior hires into good positions are done through networking your way to a hiring manager who then sets up the interview" If you don't know people once you hit your 30s, people will wonder what's wrong with you. Why can't someone vouch for you? It's a form or ageism, and it may be morally wrong, but be aware that that's what you're up against. It's even more true at 40 or 50. This means networking with your customers, being kind to your suppliers, knowing who your competitors are, and making acquaintance with folks who could be one or two degrees away.

Thanks for the insights! What level (in the hierarchy) were you?

I got to my compensation level (L64) as an individual contributor.

I switched to be a first-level manager for a couple of years, but there was no bump in level since it was the same effective scope (12 directs).

What industry are you in?

Quantitative finance

How much are you making?

155k in salary, 100k - 250k in bonus and equity grants.

Is your income stable or volatile?

Salary's been very stable, bonus fluctuates a bit more dependent on the vagaries of the market.

Where do you live?

I live in Boston.

How long did it take to get to your level?

5 years.

What kind of work do you do?

Trading signal research, statistics, machine learning, discrete optimization. Also a lot of time working on infrastructure, operations, and communicating with different stakeholders.

Do you enjoy it, or is it the stereotypical "highly paid because it's crappy" work?

I enjoy it. The work-life balance is great(40 hour weeks), and I work with smart people on interesting problems.

Is this a short-lived opportunity, or do you expect it to exist in 5 years?

Jobs like this will definitely exist in 5 years.

What would your advice be to a 20-year-old aspiring developer? 25? 30?

The world is your oyster if you can master the following:

- doing difficult technical things - knowing the business side of things well and always working towards good outcomes for everyone involved. - communicating well, both in person and in writing - working independently on original, important ideas that are germane to the business activity you're involved with - being friendly, positive, and easy to work with

It also probably helps to pick companies and industries where you're appreciated for all of those things.

Similar story here - developer at NYC HFT shop making $180k base + about the same in bonus and equity grants.

The work is mostly very interesting, low-latency java programming, distributed systems, etc on a small highly capable team. 40-50 hours per week.

If you're unable to expand on your role, that's fine, but as this is a huge interest of mine, I'm willing to take a shot.

What sort of problems do you attempt to solve? How much risk are you allowed to take? How much return is expected? Is it true that most quants are ungodly intelligent and frequently come from PhDs in science?

300k for 40 hours a week in quant finance after 5 years in Boston? You are very lucky indeed. Most people don't make this much after 5 years in New York and usually work much more.

I'd be the first to tell you I'm very lucky, on a number of levels -- getting a position in the first place, stumbling into a firm with a healthy attitude towards work volume, etc. I mainly wanted to get a data point out there for others.

To answer some of the other downthread questions:

- Educational background: Ivy League, comp sci major and math minor. I wasn't the smartest person in any of my classes, but I got my work done well and didn't blow it off.

- I didn't have any connections that helped me get in, but had been pretty interested in the markets for a long time.

- As for chances of getting in, I'd say that it's definitely still possible but harder than it was. Most of the quant finance firms draw from the same pool of seniors graduating from highly selective colleges, and mostly just the good programmers from that group. Finance is also pretty cyclical in its hiring -- most firms were probably hiring record numbers of people right before the financial crisis.

I still have a copy of the cover letter I sent to apply for a job in structured credit products at Bear Stearns.

Curious what is your educational background?

No idea about parent's background but in my experience those jobs are almost impossible to get if you are not already "inside". HFT is probably the most competitive part of finance for software engineers and the market is not expanding anymore. Same goes for other kinds of quantitative trading, but they generally pay less and are less competitive nowadays.

In my case, finance. It's really not hard to make $300k/yr and the sky is the limit if you learn how to help generate revenue. You can do this in just a couple years easily. The problem is that (for me at least) the work is not satisfying (or worse) and the culture is terrible. Most people don't last all that long or aren't very happy.

The other way I've earned significant compensation is by being hired at a senior level, a VP of Dev or really any very senior technical position. At a company with money, these roles can easily make $200k in base salary, and much more with bonuses/equity.

The thing to keep in mind I think is that inflation is a very big factor. Making $120k in 2003 is effectively the same as making $150k in 2013. The numbers keep getting bigger, so $200k salaries really aren't that extravagant.

And it doesn't matter how much you make if you don't save. Plenty of $200k earners save less than $100k earners do. Anyone who can save $50k/yr is going to be a very happy camper in the future, and most young people could easily do that on $120k if they wanted to.

Keep in mind the housing price. Making 200k on a 1.5 million house is significantly poorer than $150k on a 300k house. All your extra incomes goes towards interest payments and then some.

Inflation have been crazy for the last decade, salary is finally starting to catch up, especially this year.

You know things are getting good when recruiters email out the salary numbers on initial contact.

> Inflation have been crazy for the last decade, salary is finally starting to catch up, especially this year.

Not really. Housing prices raised significantly in a few markets (the SF Bay area a prime example), but inflation has been average for the past decade. That makes sense considering we had a recession, it canceled out high inflation years like 2007.


House prices aren't part of inflation, are they? Generally, economists assume that a house is an asset, and rent (or if people own houses, the rent they would pay) goes to the inflation figures.

From the FAQ on your link:

> Housing: rent of primary residence, owners’ equivalent rent, fuel oil, bedroom furniture, etc.

So house prices aren't included, just imputed rent.

Not significantly....

5% (interest rate plus property taxes) of 1.2M = $60K

Borrowing money is cheap recently.

Yeah but after a boom and bust cycle, the guy at the 300k house will weather it fine while the 1.5m guy will be bankrupt and lose everything.

> It's really not hard to make $300k/yr

Disagree. If you have an easy recipe feel free to share :). You have to be a front office VP to be guaranteed this kind of money. Aleynikov made 400k as a senior VP working on HFT infrastructure at Goldman.

You can do that at a place like Microsoft:

1) Get hired in at a 62 or 63

2) Steady promotions (you are good technically, work well with people, and pick good projects, and -- hardest of all -- your management chain doesn't suck) for a few years, until you hit L65 (Principal level)

3) Stock awards over the next 5 years take care of the rest

Microsoft? Sure you can make that, but you have to get to a good group, or you have to have psychopathic personality. Have fun competing with your peers for "visibility"

Er, what is a 62 or 63. Pay grade?

They are called levels, that's the senior band pretty much.

Is there stack ranking even at level 62? :)

Oh yes. They lump levels together in "bands" and you're basically competing with your peers for slots. The ranking has forced buckets, so someone always gets screwed. It's about as fucked up as you're thinking right now.

Seriously, there are groups who actually hire people to fall into the seven percent "knucklehead" bucket, so that none of the (presumably) good employees need to be fired.

I don't miss that stuff at all.

Sounds hard :)

I looked for your contact info in your profile, since a buddy of mine who is brilliant is looking into getting into quant/finance work. I'm going to introduce him to friends of mine in the industry, but all my contacts are in Brazil and it's good for him to meet people in the US as well. His strength is C#, C++ and C, but he picks up new languages quickly. He worked as a key engineer on the CLR team at Microsoft for a while. Ping me via my personal info if I can introduce you to him.

Learning how to create, add, or magnify value is the single most important any contractor or employee needs in any industry.

Sadly, very few get it.

Advice for a 20 year old aspiring developer? Travel. Go to Europe, get off the grid, see the world. The struggle you will have today and 10 years from now to make $200k will be the same, but you'll never be 20 again. I don't regret anything in life and although I probably could have done more to get ahead 10 or 15 years ago, I was traveling in Italy and Greece and experiencing things that were easy to pay for w/out having kids and a mortgage. It's easy to obsess about salaires when it's the "reality TV" of our industry but, as you hinted in your question, most of it is BS.

The biggest lesson I've learned in life is that wealth has nothing to do with money and everything to do with time. You should work to live not live to work. Fortunately for many of us, we love what we do but please don't forget that you're only young once.

I make about $200k as a (mostly) developer, so I can give you a bit of guidance.

First, constantly improve throughout your 20s. Learn a new (programming) language, read tech blogs, contribute to open source, etc. This will allow you to sharpen your skills and get into the top X% of the class. Understand operating systems, networking, security, plus higher level stuff (read CIO-focused magazines, technology strategy blogs, etc.) Volunteer for special projects at work whenever possible--these are often worth their weight in gold.

Next, specialize. Go deep in one or two areas. Trends today are on mobility and security, but there are plenty of others. Depends on what you're passionate about, but try to get to the point where you're the smartest person you know in that topic.

Oh yeah, you have to be passionate about it. You aren't a programmer, you're a creator of things. An artist isn't a "paintbrush mover", and you're certainly not a typist. Take it up a level.

To be more strategic, get into financial services. A good percentage of developers make close to $200k after bonuses. Watch the firm though, some place like Goldman will have you working 18+ hrs a day.

Live in an epicenter (San Francisco, LA, NYC, Seattle, and probably a few others).

Ok, most important advice. Change jobs every 3 years. Most developers, no matter how good they are, don't get a 50% raise, but it wouldn't be hard to start around $60k, then jump to $85k, then to $110k, then to $140k. After bonuses at that higher level, you'll be close to $200k.

Don't work 80 hr weeks more than a few times a year. Put in the time and the effort when it's needed, but if you make it a habit, it'll become expected. Work for a company where quality >> # of hours put in.

If you're 20, generalize.

If you're 25, specialize.

If you're 30, take some risks. You'll soon be the "old guy" in the room. Write articles, books, talk at conferences, become an "industry expert" (hint: fake it till you make it)

If you want to do consulting, as opposed to traditional work, you can get to $200k, but you'll probably need to bill out around $120/hr or so. You'll need to specialize in order to get a rate like that, or be available on-site, because whoever hires you would have to think you're better than 4 or 5 people in (insert-outsource-country-of-the-week).

Finally, exploit LinkedIn. Get to know a few good recruiters. Get to know people in the industry who are "going places". Unfortunately, many of the best jobs out there aren't advertised, you have to know people to get in.

That's all I've got. Good luck!

I really don't get why you consider 30 old or even near that. In my opinion it is a good time to do some self education, maybe change careers because many people don't realize what they really want until 30 or so. "Industry expert" on the other hand sounds plain boring.

Good advice and I think it rings true with what people have adviced me in the past. Could you elaborate on the generalize at 20 part if you can? I do most of the things you suggestions - maybe not open source so much yet.. but something is coming up for that. Though the problem with trying to generalize is that its quite difficult, I always tend to read up on Web Dev articles, general programming etc. Ive started to look more into embedded but the passion is not at the level of web dev for me. So even though I try to read up on new things eventually it does come down to some sort of web stack :) Maybe I read HN too much and its too web oriented. Not sure what you meant by the "higher level stuff"?

> If you're 20, generalize.

Did you mean 'study an a uni'?

> If you're 25, specialize.

Did you mean 'graduate and find your first job'?

Even guys in university choose a thing and go "I'm a java back end developer, that's what I do", and spend all of their time on that. Most curricula cover a wide variety of languages but that doesn't really teach you enough to mean anything.

>If you're 20, generalize.

As in, try to learn a bit from everything?

Personally I'm more interested of hearing from people that work part time and still earn a good pay check.

You bring up an important point.

Making $200k/year is one thing. How many hours you end up effectively working for it is entirely another.

There's cases where making that much means 6 days a week and 12 hours a day. 3700 hours a year of work instead of the 1900 that's full time... you make 200k/year, but it can work out to a little over $50/hr.

On the flip side, if you're able to keep your income effectively tied to the value you generate (a portion of your salary based on money you make or save the company), the multiplier effect is a truer way to effectively boost the average hourly rate you have.

I've had several jobs, including my current one, where I worked 4 days a week. I take every single Friday off, and I don't work extra hours the other days.

I think that whatever it takes to make a high salary is also what it takes to negotiate this sort of situation. If you're valuable enough to the employer, they'll be willing to make a deal, whether it be for more salary or fewer hours.

If closer than 100K is good enough (it is for me) than it's not that hard with freelancing. It's harder to find such a position as a job though, due to the stigma.

Answering from a throwaway: started my own software company 10 years ago, selling SaaS w/ monthly recurring revenue in the CRM space. I was 25 at the time, and left a 150K/year job as a lead engineer.

Endured 18 months basically zero income, then a slow climb from ~60K to 500K/year in 2012.

Monthly recurring revenue = stable income. Especially b/c our primary product is a low price point, so our revenue is well distributed across hundreds of clients.

Other than the sacrificial early years, the key points are:

1. No VC

2. Long, steady SaaS income ramp

3. Small company - 3 people total, I'm the only developer (and always have been), and I own the majority of the company. The company does over 1M in revenue annually, with a low cost basis.

If someone wanted to go this route, I would advise them:

1. Be a full-stack generalist

2. Build a revenue-generating company by selling software (vs. giving it away in hopes of attracting eyeballs & monetizing those).

3. Learn a vertical (CRM, in our case), and fix a pain point. Don't follow the herd into the sexy startup de jour.

4. This is a marathon, not a sprint. Don't kill yourself.

5. Offer extremely good customer service

would love to learn more about your path - maybe a mixergy interview? :)

hmm. I answered from a throwaway account b/c I don't particularly want "the internet" knowing how much money I make in a given year. So I don't know that a follow-on interview would fit my psyche =)

So I'll give my general experience. I'm a RoR developer making 450k a year. It took about 3 years of non stop pushing myself (80/hr a week or more) to get here. I'm fairly unknown as a developer, so I'm not one of the bigger names. I work for a consulting company like Accenture or IBM global services. How I got here:

Basically I was a Java dev and pretty much knew RoR would be big, and knew there were guys making 100k+ at it (this was 2008). At the time I was making 75k as a Java guy and I just wanted to see if I could become one of the best. So i worked at it night and weekends, virtually non-stop till I got a Ruby position for 85k. That let me spent all my time on Ruby which was helpful. I tried for find every little scrap of info that would help, and overtime I got better.

I got a job for 130k 6 months later and my mind was blown. It was so much money to me it was just unreal. I didn't take it for granted though, I went in and worked my butt off to try and tackle every big problem there was and tried to pre-emt and issues that I saw, so I had a solution as soon as the problem came up. That went on for about a year.

All this time the main thing is that I kept working on all my skills, everything big and complex I could get my hands on that is. So I knew how to troubleshoot any performance issue that came up, etc. I also relentless kept it touch with recruiters. I know a lot of people on HN and Reddit aren't too fond of them but I love them.

I did whatever I could to help them out when they were looking for people, and made good connections because of that. When they emailed me I would just quote a ridiculous rate like $200/hr and be polite about it.

Eventually I formed a contact with a large consulting company and they said they could offer me something good but not what I wanted. I did the interview and go the highest tech score in the country (a lot of that due to the fact that there were slim pickings). They made the offer but I turned them down. They said okay.

A few months later they got desperate and gave me the rate I wanted. I was more than blown away, it didn't seem real at all.

I went to the client location and yeah, it wasn't glorious work but the pay was insane, so I've kept at it. I live pretty frugally, more or less just stocking the money away so when the gravy train ends I won't have to work as much.

What do I attribute it to?

1) Work insanely hard. 40 hour work weeks are good and healthy, but I think it's harder to become super successful without working a lot. As an employee when I was getting paid that 130k I worked 65/hr a week even though I was only getting paid for about 45 of those hours, just because I wanted them to know I was insanely aggressive.

2) Find people's problems and solve them. I always tried to befriend high level people and solve their problems to the point that they see me as invaluable. When I got the 450k job I made friends with all the project directors, found out their problems (like performance) and would fix it and surprise them with it. This helped me to cement my place at the company to the point that I was able to have a lot of control and influence within it.

3) Be nice to people even when they are mean. I get insulted by the client company often. Their developers tell me I'm an idiot. That's sort of the nature of being a consultant. The big thing is that I'm always polite even if I don't think it's warranted. So I'll say "Hmm, interesting, why do you say that". And then politely explain why they are wrong and then make them not feel too bad about it by saying "Actually it's easy to be confused over those things because of..."

That is probably more of a book report than is needed but that's about it. The one thing I will say is that the money, while very good and nice to have, wasn't the end all be all that I thought it would be. I figured I'd easily meet the right woman with all the money I have, but I haven't, in fact the women I have mentioned it to on dates didn't even care (or believe me, or both). I don't really get treated any differently either, other than by the developers who know that I know what I'm doing. I also realized that I don't care about material things all that much. The most fun I get is out of achieving new things, rather than things the money can buy.

In the end I'd say the success was a result of hard work, a lot of luck and aggressively marketing myself.

I think it was very important that you mentioned the sacrifies you made such as dating. Success comes at a price.

At my graduation, we had a tremendous speaker. The biggest take away from her speech was (I think she said she got it from a book), life is about juggling balls. Your career ball is like a rubber ball and if you drop it, it will bounce back. The other balls are made out of glass, and it shatters when you drop it. You may be able to rebuild the ball, but it'll never be the same.

That really made me re-think about my focuses. Since I am a recent graduate, I thought being successful was everything, but I was sitting there hearing someone who was successful and very influential in the industry telling me that it's not all that. Balance your life, and make time for the people in your life. When you think back one day, you won't remember that week where you worked that extra 10 hours, you'll remember the time you had with the people you made time for.

I think the women liking money thing is more about social status, power and strength than actual money. A girl I date found it hot that I interview and had a vote in the hiring process for example.

I doubt you'll ever get to this, but if you do, could you shoot me an email? josh[at]josh.mn -- I would kill to run some questions by you. My little about me follows:

I'm 22 and from what it sounds like, I' on the route that you were on -- was a PHP dev, got a Rails gig where they'd pay me to learn, and now I'm doing 75 hours a week (60 with my employer, 15 of learning on my own time.) I'm rewriting some of my recent client's projects and a new side project every month in Rails.

But good on you, especially for living frugally. I know a lot of people couldn't do it.

you sir are the reason why HN is still worthwhile for the comments alone!

What do people on HN and Reddit generally not like about recruiters?

They see recruiter contacts as spam and resent that recruiters are paid to make placements with money that they presume would otherwise go to the developer. Additionally they detest people who cannot program but work in the technology industry.

I prefer to take the same approach as the $450k Rails dev and always provide a recruiter with good leads if I have them. I have placed friends in good positions because of this and have the option to do the same for myself when I am ready to do something different.

I think the typical argument is that they send you non personal emails that seem to not know about your unique and talented gifts. Of course these people don't seem realize they're only contacting you to try and give you money.

> I'm kind of tired of all of these salary surveys because I don't trust them

I'm with you there. The chances of self-taught web monkeys in companies that are loss leaders making a multiple of the salary of PhD level automotive software engineers in established companies with profits in the hundreds of millions to billions range are pretty slim, so I think we can just write this off as mostly fantasy.

I think the best developers are often the ones that simply have a detailed understanding of their domain's fundamentals. These are the people that could spend an hour answering a simple question like "What happens when you type 'ls' in a terminal?" in absolute excruciating detail.

In my experience, this is exactly the type of thing that PhDs generally don't know, and are often no longer curious enough to learn.

Whenever I am a hiring manager, I am pretty openly biased against hiring PhDs. They definitely start at a disadvantage compared to a highschool dropout in a hiring interview with me.

> Whenever I am a hiring manager, I am pretty openly biased against hiring PhDs. They definitely start at a disadvantage compared to a highschool dropout in a hiring interview with me.

I sincerely hope whatever fool placed you in charge of hiring learns of this fact, and soon.

> [Moxie Marlinspike] was the chief technology officer and co-founder of Whisper Systems, which was acquired by Twitter for an undisclosed amount in late 2011.

Someone who knows what they're doing, presumably.

I don't think you can* paint PhDs with such a broad brush. It largely depends on their field of expertise. A (say) complexity theory PhD is indeed unlikely to be out of touch with reality, but a systems-oriented one is likely to have a pretty decent knowledge of practical aspects of programming.

Being a PhD student myself, I am of course biased on this. But it's frustrating to be generalized as an out-of-touch ivory tower type when that is simply not the case.

* Of course you can. But should you?

I'm sure there are plenty of PhDs that are good developers, but in my experience that is in spite of rather than as a result of their degree.

After having interviewed thousands of candidates over 15 years, if I see a tilde in your URL on your resume, I'm immediately a little bit less interested.

This does sound like hyperbole, but Moxie said they start at a disadvantage, and is talking about highschool dropouts eligible for an interview, not highschool dropouts in general.

I know that it's not statistically sound, but as an informal straw poll I don't know why people are so eager to put this down. "Kind of tired", "don't trust them", "mostly fantasy" - these seem like oddly agressive phrases to me which probably reflect personal anguish rather than a desire to see the facts.

If we take the $300K+ figure as an outlier, what I see are pretty much peaks at around where I get LinkedIn spam telling me I can make $x. [Edit: to clarify, by "peak", I am referring to peaks if you were to plot the responses in a histogram, not a dollar amount.] I'm going to guess which peak someone is likely to fall in varies with factors like years of experience, when you entered the workforce, how often you changed jobs, luck or whatever. Then I see a significant amount making more and a significant amount making less. I don't think that's all that unbelievable. I don't think it makes sense to overemphasize that the poll is informal and not scientific - the poll still tells you something, even if not really that much, so why dismiss the messenger?

This reminds me of when I lived in Seattle, worked for MSFT and used to read "Mini Microsoft" threads around bonus/promo time. People would post level/base/bonus and how they were evaluated. That too was unscientific, but the company was pretty standardized around titles and how well you could do at bonus time, so it didn't take much to figure out that most of the data was probably accurate - and seeing that, even if it was totally unscientific, served as a reminder of how the place worked and where you fit into it. But then you got a lot of commenters who I think were bitter, jealous, or in denial that it was possible that the guy down the hall was doing better than them. So in a reactionary fashion, they start attacking the other posters, calling them liars, non-employees, whatever.

The higher numbers will never come from LinkedIn spamming you to say you can make $x - the best jobs aren't and have never been on the market; they're the result of connections and referrals, because that's the only way you build enough trust.

I agree with you; it is my experience too, and I don't think my comment is incompatible with your reply. I was merely saying that the LinkedIn spam is roughly where the peaks are. (Large emphasis on "roughly".)

Edit: it occurred to me that I left the definition of "peak" unspecified. By peak I mean amounts with the largest amount of respondents, not the highest dollar amount.

I donno, I've seen up to $180k from LinkedIn spam, some of those are not listed jobs in very hot companies...

Classy. This world view will prevent you from ever being successful at anything you do. In your mind, nothing beyond what you have achieved is possible for anyone. You don't have to acquiesce to a life of mediocrity. You are on a computer, on the Internet, reading HN. 75% of the world's population would kill for these resources, and you are wasting them. Real people are out there doing amazing things and are being well compensated for them. Join us.

> The chances of self-taught web monkeys in companies that are loss leaders making multiple of the salary of PhD level automotive software engineers...

It's not about how you learned it, it's what you know and what you can do. Some of the best programmers I know were self-taught. They keep learning and getting better everyday, and that pays off. It seems silly to write them off based on how they learned.

Not everyone on HN works for a doomed startup.

Some of them work for doomed large companies :-)

/thread (:

that was the funniest thing i read today ;)

you don't know what you're talking about. you are naive, and uninformed. worse than that, you depress earnings for an entire industry of people because you are willing to work for shit money.

an oracle DBA/engineer with 10 years of experience can easily clear a quarter million a year.

same with SAP or anyone who has done large Microsoft installations / integrations.

your ego is not allowing you to believe that people make this much money because it means you have somehow been unable to achieve that level of financial success despise your (probably pretty good) tech skills. it pins the blame on you, and your ego can't accept that. it just can't. it would rather deny reality than hurt itself.

just because you don't believe it doesn't mean it's not true.

the main difference between people like that, and people like you, is they know what they're worth, and have the balls to tell someone insulting them with low paying work to fuck off in exactly as many words.

>an oracle DBA/engineer with 10 years of experience can easily clear a quarter million a year.

I don't buy "easily" for a second. "Often" - yes.

for some people, often = easy

> you are naive, and uninformed. worse than that, you depress earnings for an entire industry of people because you are willing to work for shit money.

Just remember how the fallout from the last bubble (which included inflated salaries) affected real industries with hard working real people having real families that did not have anything to do with the ridiculous entitlement and greediness of the entrepreneurial culture. They are the ones that ultimately pay for folks like you. If you are not creating sustainable revenue with your line of work but rely on bean counter tricks you are dead weight in terms of economic value, regardless of your nominal salary.

For several years running (5?), I made most of $200K, 3500 miles from Silicon Valley (and 120 miles from the nearest large city). It wasn't for being a rockstar, it was from stacking two fulltime jobs. It was a lot of hours, and it sucked. Industry was 'webdev', and it's as stable as you want it to be.

Anyone can do it today. I still could. I just refuse to, now.

My advice is to not worry about a magic number, as long as you're comfortable and happy. Nowadays I don't even always hit 100 in a year. But we old guys really do get high off of things other than money. Things like a happy wife, a house full of animals, and a sailboat that goes where the wind takes it.

Do you have any advice for someone who would want to pursue that industry now that is in their early 20's? I agree you should strive to do what you love, but if the pay you could potentially get is also good for it then there is no harm trying? Would you not say that the hard work you put in your early years allowed your wife and kids to lead a comfortable life now?

33, cloud computing (IaaS) industry, Austin TX. $215 OTE plus stock awards.

I realized earlier in my career that my success up to that point had far more to do with my ability to communicate well and connect with people than my technical abilities. I stumbled into the accidental profession known as sales/solution/presales engineering and never looked back.

Its great to operate "in the revenue stream". I encourage engineers who enjoy presenting about and helping others understand technology as much or more than creating or operating technology to consider this path. There is far more demand than supply for these roles right now.

SE generally requires quite a bit of travel, doesn't it?

Varies by organization and the nature of your product. An increasing amount of the work is done virtually. Some SE roles demand regional travel, others national, some international. Mine is pretty light - I'd peg it around 20% at most.

From my experience, it does. I'm a product architect, not an SE, but I work with SEs regularly at my company and they are on the road at least 90% of the time.

Base + bonus + stock grant basically.

Checkout glassdoor.com to find those companies. Be sure to read the reviews (especially the negative ones).

For reference, 150k base should easily get you over 200k total, if not more. 180k, and you are looking at close to 300k. 200k+ base, 400k total.

Anymore than that, you are a VP, you make your own rules.

It might be easier to think of $200k as -only- $100 an hour. That is not a very high rate for a contractor. Anyone here who has been through a contracting company has probably been billed at that rate.

The most successful that I've seen has always been one of three things. All of these can be traced back to people I know making over $200k in the software industry.

#1) Knowing a niche technology and/or industry, finding a company that needs to staff and going in as a self-employed contractor instead of an employee.

I had friends making $200 an hour in 1999 because of this. I'd like to say they were working in Lotus at the time, but I don't really remember.

Find a company and say "I live right down the street, you need X and it is hard to find, you can either have me show up every day or have someone a few thousand miles work on it" - for some companies it is easily worth the extra $40-$60k to have someone local.

#2) Working on a well known technology but having something important on your resume - and still going in as a self-employed contractor.

Being able to say that you are a major Spring contributor will open doors. Being able to point to your name on the list of authors of Hibernate opens more doors. It doesn't even matter if all you did was help update the docs. It's just a selling point, and it works.

Most enterprise shops will think about it like this; "Either we hire Bob who did some spring work for x-corp, or we pay an additional 40k and we get Lisa who helped write Spring. If you ask me it's worth it to get Lisa".

#3) Biting the Enterprise Application Architecture Bullet - and going in as a self-employed contractor

Can you confidently whiteboard the entire Oracle Enterprise Suite? Can you talk about JMS queues, BI managers, the E-Business Suite and all that, ahem, stuff? There's plenty of companies who have built very complex solutions to simple problems and they need someone that knows how the wiring is supposed to work.

...that's the extent of how I've seen it work. All three share the same trait; find a company in need and pitch yourself as a contractor.

So I missed the whole advice thing. Here's what I'd say:

If all you want to do is make money then get yourself in as a contractor for a specific industry. Let's say that is shipping, or distribution, or something along those lines. The more time you spend doing X work for X industry the more valuable you become. If you can walk into X-Shipping-Corp and you can name-drop things like "Parcel Size Distribution" you'll probably be fast-tracked into compensation discussions.

To give you a real world example, I did lots of travel software work years ago, just being able to walk in and say "I worked with Sabre Worldspan and Galileo" was enough to get me to an offer. Hell, I didn't even need to explain what I knew about them (which wasn't much!).

That's really if you just want to make money. It isn't glamorous work, and it pushes you into a very specific bucket, but you will most-likely be well compensated.

Careful! Consulting hourly rates and salary are apples/oranges comparisons. Even in a really well-run consultancy your utilization might not break 80%. You're responsible for your own benefits and for self-employment tax. And you're doing all the work (or paying to outsource it) that your employer would have been doing for you --- sales, marketing, bookkeeping, receivables, payroll.

The extra work that comes with consulting is well worth it. You earn more, are able to expense much more and at the end of the day you feel like you are running your own business (because you are). Understanding the basics of payroll, bookkeeping, client management, etc helps you grow as a professional. It may not be for everyone but its worth doing for at least a few years.

I hope you're not expecting me to disagree with that. :)

They are apples and apples from the client's perspective though and as an independent consultant it's quite possible to consistently achieve 100% utilization.

Well, in the consulting engagements I have done (about half of my career has been as an independent), all of my clients were aware of an important distinction, and that was that I was 1) there for a short time 2) did not incur the large overhead that a full-time employee would.

To achieve 100% is moderately difficult and would involve a bit of luck, or some kind of compromise.

From experience, it's quite possible to achieve 150% utilization...

For an entire year?

I have 2-3 clients that put me well over 100% utilization for a couple years going strong now. I have to routinely turn down work. Don't even really have to look for it, and this is in the Midwest!

The one key I have found is not to sell yourself as a freelance consultant. Form an LLC and pitch as a business. If you need to find a couple other guys to help out for a large project do it. But you can command much higher rates this way.

> The one key I have found is not to sell yourself as a freelance consultant. Form an LLC and pitch as a business.

Can you explain your reasoning for this?

I can answer it for him: They pay more.

Depending on the variety, sure.

60 hours a week really isn't that stressful. You could probably get there with less total stress by outsourcing cooking, cleaning, etc and working in 3 hour chunks with 1 hour breaks in between.

Remember that 60 hours/wk is only about 50% of your waking hours.

edit: Sorry, I somehow didn't understand you were saying it was a supply problem rather than a stress problem. The answer to supply is much simpler: go to tech meetups in the bay area and sound smart.

Agreed. Also, the reason consulting rates are not high is not b/c of the benefits (that makes at most 20% of the diff between consulting and full time rates). The difference is uncertainty! If you freelance, you have no idea where your next gig will come from. If you are long term contractor, you are 1 step away from being the first cut in the budget

If you think that you're going to be 100% utilized, you are saying that not only do you have no uncertainty as to where your next engagement is going to be, but also that your clients have no uncertainty as to their schedules, and none of their engagements are every going to slip, change scope, or get cancelled.

We might be having an issue with the definition of the word consultant here or the Dutch market might just be different.

My contracts generally always come in 3 month stretches. In case I haven't received a signed 3-month extension 1 month before the end of a contract I would start looking for my next engagement.

I also make sure I always take calls from recruiters and let them know when my current contract is up for renewal, so that every three months all recruiters I know will call me asking if I'm already available.

I generally also have a decent number of ex-colleagues already lined up which would be interested in hiring me if I were to become available again.

Now of course I don't get 100% utilization, but in practice my holidays and illnesses have had a much bigger impact on that than availability of engagements has.

A 3 month contract is a huge engagement for us (but then, our bill rates are much higher than the one mentioned in this thread). So, yes, I think we're talking about two different concepts of contracting/consulting/freelancing. You're doing staff augmentation, we're doing consulting/freelancing.

We probably both agree that freelancing is a way to make more money than you would on a steady salaried job. But it also comes with markedly increased risk, which is why it pays more.

I was expecting you to tell me to raise my rates, since after reading my comment it seemed that what I was describing is what you'd expect to happen to an underpriced commodity with limited availability.

I agree with seeing freelancing as a way to avoid paying a third party for doing sales (marketing & negotiation) and finances (bookkeeping & buffering) for you. In many cases and for many people it's also better to outsource those tasks to your employer.

P.S. Do you think you would have trouble staying 100% utilized if you were charging $100/hr as originally mentioned?

Probably not, but since they bill "much higher" than that and get 80% utilization, they would probably be leaving loads of money on the table. I'd see 300% utilization for $10/hr as well.

Not all contractors are consultants. I just walked out of a gig at 100/h where I could, optionally, have billed overtime, worked 60h, and been making over 300k. As a consultant, I've billed nearly 500 an hour, so do your math on six hours a week of that. ;)

The terms didn't feel permanent in this situation, I also couldn't drive myself to work more than 6 hours in a day, so I moved to a position with a salary closer to that which wasn't tied to a weekly timesheet.

What kind of work got you $500 per hour ?

They are apples/apples. You literally just compared them.

Regarding biting "the Enterprise Application Architecture Bullet," if all I wanted was money I think I'd feel less dirty and immoral at the end of the day running a porn site than purposefully selling people extremely complex solutions to simple problems.

I realize that's a controversial thing to say, and I might get downvoted, but screw it. Porn (the well-regulated with paid actors kind) is quite often more honest.


Sorry, I have no idea how I thought 'traditional' should be used as a modifier for the word "porn."

The sentence does end with "... and they need someone that knows how the wiring is supposed to work."

I can easily imagine that the people in such companies are well aware that the system they have is overly complex but they don't have the ability/will/breathing-room to change. In such a scenario, I'd be perfect happy to pay top-dollar for someone who can understand it and patch things up. I might even consider them a knight-in-shining-armor.

I remember a great HN submission from a while ago (can't find it now, I'm afraid), where a guy was making a great living out of making MS Access databases available online (or something like that). His work/software was critical to his customers' businesses -- but he'd gotten to the point where he couldn't stand it anymore (and the technical aspects of the company were quite convoluted).

Contractor != Full time software engineers, which is what the topic is.

Getting close to 200K working full-time as a software engineer is achievable. You need to work hard and I don't mean number of hours but show that your work has an impact in your team and your company. My advice to you is to look for companies in the rise, the ones that are either profitable or are funded and in the tech/internet industry. I am in Austin, TX and this salary is not far from what some companies pay here to their software engineers (HomeAway, RetailMeNot, Tableau, etc...)

This is good to know. I'm planning to relo to Austin from Dallas some time next year and I'm experiencing some sticker shock at the housing prices down there recently.

If the salaries are trending up, then at least it's making up for the housing prices, unlike the Bay Area.

i'd be interested in a similar salary survey in austin...

I've spent my career roughly half and half consulting and as a full time employee, and while it is possible to earn more as a consultant it requires a lot of extra effort (plus taxes, insurance, etc.), so in the end feels like a wash. As a rule of thumb I'd say $1 billed as a consultant ~= $.75 of salary (or $150K salary ~= $200k consulting).

Base salaries above $200K/yr are extremely rare, even for high-level managers in substantial companies. In my experience as an employee at companies both large and small moving beyond $150K/yr base salary in a non-executive role is quite unusual. That doesn't mean you can't or won't earn more than that--it's just that once you get to top levels as either an individual contributor or as a manager companies generally want to align as much of your compensation with the company's performance as possible, whether as bonuses, profit-sharing, or stock.

In my experience as a independent consultant $100/hour or more is readily achievable if you have a reasonably rare expertise (e.g. data warehousing/business intelligence) and a track record of delivering high quality results. I generally prefer charging by the day rather than the hour and have billed as high as $1000/day. While there have been many months I've billed $20,000, I've never billed over $200K in a year, work at that level just isn't that easy to find (at least if you're not willing to fly around the world).

I believe that there is a strong political interplay between these two modes of employment. As a consultant I have more than once been the highest paid person at a company--sometimes making more even than the executives. For short periods of time this doesn't seem to be a problem, but pretty consistently around 5-6 months customers become a lot more conscious of the dichotomy--I'm often working alongside people who earn less than half of what I'm billing. I've had more than one case where I've worked for a customer on an initial 2-3 month contract, had it extended on a rolling basis for another 2-3 months, and then found them very serious about finding a full-time engineer to take over my duties (they often offer me the job but usually it's not a great deal). It's also common for them to call me back for additional stints, including cleaning up problems introduced by my replacement. Even though it would probably just be better to have just kept me around they hit a wall with accepting the pay differential.

With equity packages, base and bonus, many Google/Facebook employees crack the 200k figure.

Being able to touch 200K and not work full time:

When I was 20, I decided I was going to get 20 years of tech/business experience in 10 years. I'm under 35 today.

By age 30, I hoped to have the experience and talent of at least a 40 year old, but have my 30's to chase what I wanted.

I must ask though: I'm not sure what you're wanting to get from asking those questions. They're metrics but how you get to them, and why is more of the "how could I apply some skills to my life", measuring the metrics doesn't get you the results, let alone getting the result in a way that you would be happy with.

I'll share a bit of my story and if you like, feel free to ask, or contact me offline.

When I was 20, I had this habit of not thinking why I'd want to solve a problem, or a challenge, and just do it.

I decided on my 20 in 10 after the dot com crash as a hedge for a life in tech. Get ahead and stay ahead.

How I tied in my passion: I did my best to remember that no matter how reasonably talented I may have been with technology, I felt I wanted to learn about solving problems, and there's only one way to learn to swim, and it isn't by reading, watching, or talking about it.

I feel a deep kinship with focusing on solving problems by seeing them as puzzles. I don't care if the problem is small or big, they're all worthwhile and can make a big difference in someone's life to solve if you truly care about solving problems.

Today, I'm a full stack guy. While I've struggled to find a title the past 10 year that fits, I'm liking "full-stack", combined with one of system/software architect/integrator.

If you're trying to make something do something with hardware or software, I can figure out a proof of concept.

There was no map, or plan to get where I am, or where I'm headed, except solving problems, and puzzles. It's a wonderful compass, and your relationship with challenges and puzzles improves every time.

About 'highly paid because it's crappy work':

The work doesn't get any easier. You get better. At everything. Including your own attitude. If you don't it's easy to say it's boring or unfulfilling. Even greater challenges will await you in whatever you think is perfect, so you'll have to learn the same skills of pushing through to find learn and do what you need. As a byproduct sometimes you end up being that person who took 5 years to learn to recognize what you need to do in an hour.

Everything is crappy when it's either growing out of control, or it's a startup about to fail, or a unholy codebase. You will be guaranteed crap. There is no smooth sailing, ever. The sooner that kind of kool-aid goes out of circulation, the better. Your ability to deal with realities to make and leave it better is an important skill to always work on.

My journey so far has taken me through .NET and J2EE at the same time, and many other languages and frameworks. I am doing a lot of web and mobile stuff now, but I get to back it up with experience in hardware, networking, sys admin work, complex datacenter hosting of critical apps. Full cycle ERP (ie., SAP) installations. Custom middleware to speak between any combination of legal, workflow, shipping, accounting, logistics, retail, and beyond. The common pattern: writing web software to replace desktop software when it seemed unnatural, kind of how mobile-only apps get that feeling today.

Was it boring? Maybe if I wanted to complain that it was really hard. If it seemed like it at first, but then it became one big puzzle that no 20-something had any business doing. Now, I want to keep doing things that I have no business doing.

At a certain point, you can not abstract away the fact that it will take lots of work no matter how good and amazing the tools are. One thing gets easier, something new will pop up.

My expertise is being able to be thrown down any well and coming out time and time again. It attracts more wells. My specialty is pulling together a full-stack to solve what others can't seem to figure out. Over time you do get known as someone who can solve things and you get hired for figuring things out -- not any particular language or technology you know.

The only skill I paid attention to learning was learning to take good care of my customers in their terms, not my lofty explanations trivializing them and their feelings. The first business model I was taught by a consultant who eventually handed most of his customers to me for web/app/IT development was this: Start with 10 customers who can pay you $1000/month, who are on the upswing, and grow with them by delivering more value than you're paid (help them grow and they spend more with you forever).

Sometimes, one or two customers made up way too much of my income and you learn to adjust it if it's important to you.

Thanks for this. I'm never sure whether my instinct of just treating people/clients well and keeping their interests at the forefront of my mind is yound/naive thinking or whether it pays off. Comments like this re-assure the latter is the case, and that indeed learning how to work with people and learning how to solve their problems is probably more important than most other things I can get good at as a technologist/developer.

this is probably the most worthwhile response in the whole tread. From running GroupTalent I have seen the most successful freelancers (those pulling in over $100/hr) do these things: 1- hitch themselves to great growing clients 2- put their clients feeling much ahead of their own 3- deliver value over and beyond what is expected clients do not need highly paid (senior, architects, etc.) devs all the time but when they do, they need a v good one. So whatever rate they are paying is worth it.

Thanks for the kind words.

1- About hitching myself to great growing clients -- I think it's important to help them grow. In a way, either consulting pays for one's learning/growth, or VC funding can, or bootstrapping can.

2- According to some in my life, sometimes I treat my clients too well, to a fault. But clients have turned into friends, and a few even mentors..

3- Delivering more value than what you're paid = your cost doesn't matter as much.

I'm at mid-200s (NYC), but was at mid-100s (midwest) a year ago. For the last decade, I've been opting for jobs with stable income, and these jobs will exist for at least a decade.

As it's happened my recent jobs have been in either scientific research or HFT. I initially considered that having specific domain knowledge in these areas would be valuable, but I'm less sure at this point that it really is. I'm leaning these days towards sharpening and extending my tech skills, which works well because tech still fascinates me.

After having observed for decades, I'm a big believer in randomness in job assortment, hiring, compensation, etc. I'm not saying there's no correlation between merit and success/pay, but it's more like 0.3-0.4 rather than 0.9. Someone else advised switching jobs every few years. This is probably a good strategy in that it increases your odds of hitting a highly paid position, regardless of your qualifications.

Advice: Do more of the stuff you'll wish you'd done more of once you get older. Go have fun, get laid, travel.

Regarding work, try hard to get onto a team that as a group is happy, gets along, and is reasonably productive. I've worked in places with lots of brilliant, high-paid rockstars that hate each other, and (guess what) it makes the place miserable to work at.

It's probably too much to hope for that you'll be able to find a job that will allow you to do excellent technical work that is appreciated, compensated, and profitable. Still working on this myself.

As they say, it may be better to reduce your spending by $10K/y than to increase your income by that amount.

Get a "standard" non-junior engineer job at Amazon/Google/Facebook.

ITT: a lot of people with a salary below $200k responding to a question about people with salaries above $200k. Also a lot of contractors who barely pull $200k total with no benefits and extra taxes to pay.

There's a big difference between having a total comp of $200k, including stocks, bonuses, and golden handcuffs, and having a base salary of $200k. I assume this thread is wanting the latter, since

* it is common at Google, Facebook, etc., for any senior dev to get $200k total, including all forms of compensation;

* the OP states "$200,000 per year in salary".

One word: value. You earn what you deliver, deliver more and you will earn more (provided that you can price your work fairly).

I don't get why people start conversations with asking about money - money is merely a derivative of the value you deliver and your marketing skills in convincing people that you really deliver that value.

Mine may be a special case, so I may learn more from the readers here than advice some!

== Background (Combination of breadth and depth across EE and CS) ==

Electrical engineer by education, I am a full-stack "technologist" covering everything from semiconductor device physics to analog/digital circuit design to software (C/C++/Java/Python) to specific application domains (electronic displays, natural language understanding, MEMS/sensors, digital image processing and computer vision, augmented reality, thin-film optics, etc.) I also have experience as a team-lead, project and people manager and lead technology architect. Thanks to Coursera, I feel comfortable with more domains including machine learning, databases, etc., though have limited experience with them.

Needless to say I cannot be an expert with all of the above with just 13 years of experience, but have generally impressed folks in their respective domains who see me as an expert in their domain sometimes without realizing that I am doing the same across several domains. An optics guy with more years of experience than me once asked me thrice about my background in the very same meeting as he could not digest the fact that I was barely an optics guy at all.

== Result ==

Within any given job, it does not take people long to recognize the combination of breadth and depth that I have. But this is still a few months for recognition within the team (scale of 5-10 people) and a few years for within the company/department (scale of 100-300+ people).

Moving to a new job brings its own challenges. While everyone who knows me tells me that I should be in high demand, most of the jobs do not demand that broad an expertise, which often means (1) they are not ready to pay :-) for it, and (2) the job does not excite me enough. There are architect-level jobs which are an ideal fit but they are not most of the jobs statistically.

My salary levels (including cash bonus/stocks) have gone well above 200K per year consistently for my last job in the bay area as they recognized me as indispensable for the project that I was leading (~70 people) due to (1) inability to find people with the needed breadth (generalization), and (2) my being on the specific project for several years (specialization). Note that while I was leading a big team, I was still doing a lot of technical work including coding on a weekly basis.

== Advice ==

Some comments here have advised on generalizing / specializing. In my opinion though they are both bets you are place on your career. If you become industry expert in a specific domain and that domain ends up expanding over the next decade, you end up expanding too. Like everywhere else, you have to anticipate the future and be in the game. So generalize to keep your mind open and prepared for new challenges future can bring, but also specialize in an area that you expect to be in demand in the future.

Two, in my experience, high salaries do not come by themselves (i.e., just by you having the skills and experience). You have to create a path for it consciously by constantly figuring your own potential and (asking for) moving towards roles of higher responsibility. You need to time job switches according to your situation -- becoming specialized in skill needed by one company makes you highly valuable for them (= potential for higher salaries), but also fall in trouble if your project/company does not do good in the future.

Specializations that many companies need that also pay highly would not generally remain specializations for long as more people should pour in -- unless there is some barrier to entry like years of education / experience, them failing to recognize the value of this specialization, or simply aptitude or intelligence. The latter does not show up on your CV and so requires using your network and recommendations, which by itself takes several years to build.

Next to generalizing across a wide set of domains is gaining mild levels of familiarity with them just enough for you to become comfortable with the terminology and trends in several domains. One of the things I have found helpful is to read the otherwise often ignored first two chapters of books in multiple domains. I now find MOOCs much better though. My latest has been a course in human physiology, which turned out to be quite a challenge though I passed. Phew! :-)

Lastly, you have to constantly strive to keep your brain sharp, challenge yourself and take risks as others have noted.

3 options: At this point, with the amount of people here, I dont think we can trust the community self-reporting as reliable data

Aside from thr poll you would factor in bonuses and stock options to reach that level.

And then theres the computer programmers who are actually in management

Don't work in Texas.

As someone who has been interested in relocating to Austin, can you explain why you say that?

He's saying that because salaries aren't quite as high here.

On the other hand, there's no state income tax and the cost of living is lower, so you may come out ahead. Depending on your personal tastes, you may find the lifestyle better as well.

It's not impossible to get paid fairly well down here, of course. I've seen close to $200K offers, although they were for managerial positions rather than individual developer roles.

HN: This is not a poll and the person who submitted this post need to edit the title and replace is with "Ask HN". Please follow the conventions.

This is much less related to IQ or skills that to luck, breeding and catching the moment, so the question itself is meaningless.

How a person could get an mid-level IT position in, say, oil company or a finance institution etc? It is mostly about whose son you are, and then - which elite college degree you hold.

Applications are open for YC Summer 2018

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact