Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Those of you making more than $150k programming for a living: how?
30 points by derefr on Jan 22, 2016 | hide | past | favorite | 17 comments
My impression is that most of the software engineering jobs visible "on the market" right now pay in the range of $100-150k in the US, and amounts roughly commensurate to that elsewhere.

I don't personally know anyone who makes more (or I don't know I know them; people are fairly private about their pay), but I do know that such people exist, and a lot of them are probably on HN.

I think most people accepting "market rates" are curious what it takes to go beyond. So, here's a poll.

For those of you who have a (non-founder, non-managerial) job in tech, making more than $150k just in pure base-pay:

1. How much do you make now?

2. What first pushed you into this bracket? Taking a job in a particular niche? Good negotiation when you were being hired? A raise? Threatening to quit? Something else?

3. what's your take-home pay where you live? What is it after cost-of-living (rent+travel to work+groceries) deductions?

4. What is your nominal job title? Is that what you actually do all day?

And a last optional set, if you're not scared of inviting competition:

5. What is the industry/vertical/niche you're employed in? Or your specific employer, if you dare.

5a. How meritocratic is your niche? Are all your highly-paid coworkers highly-skilled as well, or is there no correlation?

5b. How long would it take a good programmer without previous exposure to your niche to learn what they need to know to get hired to do your job at your level?



I think your spot on with the pay range for what is "visible", but that isn't the real range.

Your 2nd question has all the answers you need.

* Specialize in something, or a few closely related things. Remember that %25 of a job is the actual coding, the rest is understanding the domain your in. It is fairly easy to master something like Magento, but it will take you longer to master ecom as a whole. If you have done a few deep interrogations with payment providers, shipping (picking and packing as well as the actual shippers like ups/usps/fed ex) and most importantly accounting are the tangible skills that will let you move out side the advertised range.

* once your IN a company its hard to break out of meager cost of living increases. If you have maxed out what they are willing to give you then you need to get a new job, and that will let you push higher. If your looking and you don't NEED the job you have a strong negotiating position. Be clear, from the beginning that your making XXX dollars and what you will need from the start.

I know plenty of engineers who make more than your max, but they know the domain as well as the engineering and can speak to both as they have a high level of understanding.


Oh, I know what all the advice is in the abstract. I want anecdotes, to see whether the advice people give actually matches up with the statistical reality.

For example, large raises might happen more often than people think. If the people who do get raises never talk about them, for fear of their coworkers finding out about the widened pay-gap, then it would seem like nobody gets big raises.


1. ~175k is base + bonus, not including retirement stuff.

2. Combination of experience, keeping up to date on new technologies, having a good understanding of both high level functional programming techniques and low level performance.

3. I haven't really figured it out. My cost of living is probably 5k a month but can swing wildly depending on if I take vacations, go out to eat more often, etc. I seem to save plenty though.

4. SE

5. Big Company

5a. Very, except you have to be somewhat pleasant to be around. Not social or gregarious necessarily, just not a jerk from what I've seen. Most people get very turned off from this. I was surprised to see how different interviews seem to go for candidates of similar technical merit but different personalities.

5b. Depends on their aptitude, how much free time they have? A few months to a couple years?


1. ~170k (salary) + bonus + options and benefits (100% medical, 401k match)

2. Hired at this salary. Current company doesn't negotiate salary

3. In the US. I track every dollar spent -- it was about 75k (after taxes) in 2015. Rent is $1975/month. Groceries for 2 is about 100/week. I am remote (no travel)

4. No titles. I spend almost all of my time programming.

5. I am at a b2b saas startup. 1 round of VC, about 4 years old.

5a. Salary is determined by an objective formula -- everyone is assumed to be very skilled. Unskilled workers are asked to leave.

5b. The objective formula is highly correlative to years of experience -- I am in my 40's.


Official App Developer wage statistics, including both mean and percentile, in the US (for 2014) can be found here: http://www.bls.gov/oes/current/oes151132.htm

For generic Programmers, see here: http://www.bls.gov/oes/current/oes151131.htm

TL;DR: Programmers = ($44k to $128k); App Devs = ($56k to $149k);

PS: Sorry about not answering the actual question, but I thought this would provide some background to the discussion.


My base pay is currently $200K. This is not the highest base pay I know of. A friend just started at a certain company at a base of $225K.

I'm pretty senior (I'm about 50 years old). I've been doing this for ... a long time. In fact in some ways I think I'm underpaid (but there are other benefits, like stock, which help a lot). I'm very, very good at what I do. Why do I think I'm underpaid? Because products that I make bring in millions of dollars a year. Yeah, I know it doesn't quite work that way, but we devs control the means of production therefore we ought to share highly in the benefits. A topic for another time.

I live in the SF Bay Area; take home after 401k, taxes, health insurance, and other misc deductions runs around $9K/month. I put as much as possible into 401k, which I advise everyone reading this to do. I own a home, purchased a decade ago, which costs me maybe $3K a month (it's hard to estimate exactly because mortgage interest is tax deductible to an extent).

My title is something like Senior Software Engineer (but titles don't matter very much). I do mobile apps. I used to do desktop apps and server stuff but about 6 years ago, mobile seemed like a very big growth market, and I was right. Right now I work for one of the big companies, but I've gotten this pay rate or close to it at startups. There's the funny thing about startups -- they need you, but they don't want to pay what you're worth so they offer stock, but the stock is usually worthless, and then at the end of the day they really need you. So it's really about knowing yourself and your worth. In my experience, sites like glassdoor do not have accurate salary information for the top end. They are probably ok for average jobs, but at my level, they are completely off. The way you'll get the right info is by making friends with people like me and buying us a few beers... and on sites like this.

How long would it take to learn ... well, depends where you start. I'll assume nothing about you. Knowing all the fundamentals is really, really important -- data structures, algorithms, and at least a couple languages. I went to a top 10 university, but you could learn all of that stuff with a few books and some study.

Then pick some specialization. I happen to know a lot about graphics, I've done lots of UI, and so I focus on front-end stuff, and so I do mobile which is pretty specialized and very hot now. But there are plenty of other in-demand specializations that can serve you very well, so I'd advise picking something you enjoy, because you'll be doing it a lot. I learned mobile stacks by reading a lot (and it's all free, on the internet!), doing my own projects on the side, and once I knew enough, getting other people to pay me to learn more.

Then it'll take you anywhere from 1-10 years to practice that specialization enough to master it. Now, in programming, mastery doesn't necessarily mean what it does in say kung-fu. It means knowing enough of an API, and the available tools, to be really productive. It also means being able to prioritize work (e.g. use top down design) in order to deliver on time and with high quality/low defect rate.

If you were smart, learned fast, and didn't mess around too much, you could learn everything I know in a couple of years. If you did I'd be insanely jealous, but not really, I'd actually be very impressed and respectful, and I would want to hire you.

I am not scared of competition. I've worked with many really, really amazing and smart people over the years, and there is plenty of work out there. My own company is hiring, I know lots of companies are too, and it's a great time to be alive.


Thanks for sharing about you. You said you are about 50 years old. Do you not worry about ageism in Bay area ? I just turned 30 ( 4 months back ) and I feel that at some point people start seeing you differently.

Have you ever had chance to move into management role ? Did you accept ? If not, may I ask why ?

I am trying desperately to move into management role but my current company is very large and there is not much opportunity.

Any advice you could provide for this fellow developer on how do you see 25 yrs old making similar or at sometimes more than you ? How do you get younger ( or most ) people respect you ? What is your reaction when someone act like they know all world?

Thank you.


I don't worry about ageism. What counts in tech is your ability to code. As long as you keep your skill set up, you'll be fine.

Now, it is true that there are some companies where they will discriminate because of gray hair. First of all, that's totally illegal. Second, I don't want to work for them anyway. Because there is more demand for devs than there are devs, we have a lot of mobility, which means in general we'll be treated very well, as long as we are willing to change jobs when warranted. Now, that hasn't always been the case, and it's entirely possible that a downturn in the economy will change that. But frankly I can't see that far ahead, so I don't worry about it. If you are getting crapped on because you're 30, that's absurd. So leave, or consider documenting it and sue the heck out of them (same if you're being harassed, discriminated because you're different in any way, etc).

I have held management positions. I chose to stay technical track because I love doing what I do and personally I think management is unnecessary overhead that contributes very little. I can build an entire app without someone telling me what to do. Now this isn't the common view and corporations like having managers, probably so they can hold someone responsible in case of problems, but shrug.

This should not dissuade you from management, if that is what you want. There are managers out there that I like. The best managers IMO are enthusiastic, charismatic, supportive, and trustworthy. I'm a bit surprised that you work for a large company and you don't see much opportunity for management. I am currently at a large company where people are encouraged to try management track. Well, that suggests that you might want to look for a company that can support your career growth aspirations better. Aside: how to get into management? Act like a leader. Speak up, make recommendations... if you act presidential, you stand a better chance of getting elected.

The way to earn respect? Treat others the way you want to be treated. There is a fine line between self confidence and hubris, and the best way to not cross it is to never get close to the line. In my case I know I am good at my job, but I am nice to everyone else regardless of skill level, I go out of my way to help people if they are asking questions, and if someone does something cool, I compliment them.

The fact that you ask suggests that you're currently experiencing some problems. If you work in an environment where people snipe or try to undercut each other... leave. It doesn't have to be that way, and life is too short to put up with BS. Now it occurs to me to say that it could be your opportunity to rise to the challenge and change that culture; get promoted to management and be the change you want to see. That is up to you of course.

I feel we devs are very well paid, compared to teachers, scientists, and basically anyone else out there, so sometimes I feel guilty about pulling a high salary. On the other hand, I'm not hurting anyone, there's plenty of money in the industry, and I'm really glad to be able to provide for my family. So about people making more than me? This industry is really weird. I know people who have made millions in stock. If things had gone slightly different for me, I'd own an island somewhere sunny. That's the luck of the draw. But I've done fine, and I have no regrets.... except I should have bought AAPL when it was $6/share lol.


> Have you ever had chance to move into management role ? Did you accept ? If not, may I ask why ?

I can answer that one. The answer is no for me. Many people don't know what management is. It is trying to get people to do what you want through any means at your disposal. It can be disreputable. It can involve lying to a lot of people. It can involve being exposed to crime or at least criminals. Even if you work at an above board company you have to deal with people that have all kinds of issues: alcoholism, drug use, bipolar disorder, violent tendencies, harassment. You have to fire people and try to get other people's people fired. Changing jobs is difficult and risky. Recruiters don't call you. You have to "know a guy" on your same ethical wavelength if you want a job. Worst of all developers probably are going to make more than you in terms of cash. Maybe you make it some day to an executive job, but not likely. You lose all the technical abilities you once had. You have no choice but to work for the company you probably hate, and to listen to your exec bosses yell at you 'fuck this' and 'fuck that' all day.

None of that has anything to do with creating new technology.


At a large enough company, there is an HR department, which provides all sorts of tools to help manage the issues you mention... and anyone displaying those behaviors really should be fired, because it makes the workplace unsafe for everyone else.

BTW, the best way to make it quickly to manager or executive fast is to go to a startup.


Besides salary/ownership, what would be the difference between this management role you describe compared to executive role?


I'm not in US but Canada.(twitter @enitalp) I'm at around 110k Can without Bonuses. Working in video game industry as a Technical Architect with 20 years relevant in video game and add more than 10 elsewhere. I have the best job in the world. not ready to exchange for an IT bank job even for 300k.


Could you elaborate why you wouldn't take a 3x more pay and could still program, do whatever you like in your free time. I'm at a stage of life where I'm trying to identify "nay" sayers and "yay" sayers who would go to extreme and forge logic to either say "nay" or "yay". I just thought your answer was a bit borderline there from my perspective.


"You can spend all your time making money, or you can spend all your love making time."

Because money can be a means to an end but surely isn't an end in itself. If you don't need the money and you aren't passionate about doing something there's little reason to make yourself unhappy working to get it.


1. My wage is different now that I run my own companies, but the most I ever made as a developer or architect was well over $150k.

2. What pushed me there was a combination of things:

- I am really good at software development and architecture

- I'm a big picture kind of person, so I've always understood the value propositions with software/tech to solve problems. Not everything is always code in the real world.

- I'm generally pretty fun to be around. And I think this might be the most important. I'm (generally) not an asshole, nor am I an agreeable wallflower that isn't noticed. People know when I'm in a meeting, I've got valuable input, I also shut my mouth and listen. Putting your head down and toiling away silently will not get you anywhere in the big picture.

3. I live in a Seattle suburb. Houses around here are approx $500-750k, no income tax, you can rent a 3,000 sqft house for about $1,900/mo, property taxes are pretty high. Sales tax is like 12-15% but on a a grocery bill of $100 I'll rarely have more than $2-$3 in taxes. So I would keep a pretty big portion of my paycheck if it weren't for two kids and a third on the way.

4. The most I ever made was as a Senior Software Engineer at a consulting company as we got paid like lawyers (by the hour and profit sharing). The highest non-management title I ever had was Software Architect- which also paid north of $150k.

5. I've spent nearly my entire career in consulting, professional services, or agencies. Meaning in my career I was primarily a gun for hire and billed out at big rates for everything from SAP implementations to The Gates Foundation website for various companies (and on my own).

5a. I think consulting and professional services are more about who likes you that determine the types of work you get, agency life is all fire drills all the time, so if you survive you're probably pretty good under pressure (maybe not the cleanest developer though). Everywhere I've been, everyone knew the standouts and the not so great devs, but I know for fact the pay of some of the standouts (especially young ones) was less than a fair number of the not so good devs. I don't think perceived skill correlates with salary nearly as much as negotiating tactics and confidence do.

5b. My niche has been problem solving. Most of the last six years has been web development, and the last three have really been about scalability- but my entire career has been listening to the customer talk and building something they're happy with.

I now run my own software consulting company, among other things, but I can say this about how I got my money working for other people: I had the confidence I was good enough to get the job done and I'd ask for as much money as possible coming in. I'd negotiate the shit out my entrance to the company. The worst they can say is no, we can't offer you that much. They won't take an offer off the table if they want you.

I graduated college to a $55k/year job. I was at $105k 28 months and two jobs later. You don't owe a company anything other than your best effort every day. If you see a better opportunity, take it. Don't be an asshole, try your best, get over your fuck ups quickly, and be honest. You'll rarely burn a bridge, people will respect you, and the money will come only if you're open to new opportunities.


Regarding your point about being "generally pretty fun to be around", does it come naturally or has it been a conscious effort? I'm still in college and have been slowly realizing the deep importance of this quality (or maybe skill?). Having met quite a few people who are, as you described, generally fun to be around, I also realized that unfortunately I'm not one of those people. Do you have any advice on getting better at that?


I'm definitely outgoing- I have no problem making myself the butt of a joke to get the laugh, but at the same time I'm not so outgoing that I'm one of those guys who could go on a trip by himself and make five new best friends. Nor would I just go to an event and meet like 10 people and go to dinner with them that night.

I'd consider myself normal outgoing and I think, at least in a work environment, it is my self confidence that alows this. I know my input won't always be right, but it will be way more often than not- even then it will probably still have value. So I throw out my ideas in meetings where it's appropriate. I iterate on others ideas with them, that type of thing.

I would ask those around me what they thought of an approach- not because I was worried mine was wrong, because maybe they'd have a fresh take and could help tweak it for the better. This warms them up to collaborate. They will likely start doing the same to you, then you'll both come to a mutual respect for where each other's strengths and weaknesses may lie, but you've formed a bond of comraderie that should keep you well regarded. It's important that most of the time when you're asking for input that you've got the problem nearly licked- no one wants to work with the guy always asking how to do his job.

Those are the main ways I've built strong relationships in the office. I say hi to people as I pass buy, grab the odd coffee with whoever, and chat about sports (I happen to root for all of the rival teams up here, so that breeds a lot of conversation).

That's it- my secret is that I just behave like an okay guy most of the time and I don't stay silent and keep my eyes to the floor.




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

Search: