Ask HN: Does the rest of the world realize just how much money SWEs can make?
I've seen some articles lately taking about how software engineers make upwards of $125K in the US. That's off by about an order of magnitude.
It's really not that uncommon to see software engineers in the US with 3-5 years of experience making >$300K--about what a doctor would make, except without having to go to school for 12 years to do so.
It's kind of unfathomable why someone might choose a career in investment banking, or management consulting, or any other engineering profession, which might require very long hours, extensive certifications, hostile work environments, etc. over a career as a software engineer or product manager. That is, unless they don't realize they can make at least as much or more in tech.
115 comments
[ 2.7 ms ] story [ 160 ms ] threadAlso..maybe it’s not always about the money. I also find it rather charming that you think a SWE would not have to deal with long hours or certifications or hostile work environment.
I don’t know anyone who’s had to get any certifications to be a software engineer. I don’t even know what certifications would be useful. The other stuff might be debatable (Amazon does exist), but still easy to avoid (just don’t work for Amazon).
I am trying to understand.
What I'm saying is that if more people knew that software engineers can make surgeon/investment banking money, many of them would choose software engineering instead of surgery/investment banking. My theory is that many people just aren't aware of it, and without that information, choose professions that they're less happy with.
When I was in school I remember reading an article titled "Teach Yourself Programming in 10 Years"[0], and at the time I found it pretty funny. I was learning to write Java at a rate I'd never picked up anything else before, how could it possibly take 10 years to call yourself a programmer?
Nowadays, I've just about hit that 10 year mark and I feel like I have nothing to show for it. Some nights I lie awake staring at the ceiling, wondering if I've wasted my time learning something as vapid and meaningless as computer science. Time on this earth is so unbelievably valuable, throwing away even a minute of it makes you the envy of the dead. It's been a decade and I still feel funny calling myself a programmer.
What people compensate you for is wasted time. All those nights you decided to fiddle with NGINX instead of drinking with friends, the times you pushed away a loved one or a partner just to polish a commit before you pushed it, the years you wasted talking with people who will never see eye-to-eye with you but demand an argument nevertheless; as I get older and time starts slipping through my fingers like sand, I don't know if any amount of money could fill that void. The only thing I'm left with is a sort of unfulfilled sadness that makes me wish I spent more time with people, or cultivating my social garden, as it were. Instead I find myself past the point of no return on this track though, damned to walk the same path everyone before me did, and then some.
Not everyone can be an SWE because most people have self-respect.
[0] https://www.norvig.com/21-days.html
One of the reasons i chose comouter science was that it was an engineering discipline where I didn't have to wait for materials. I can dream something up and build it tonight. That also means you can progress as quickly as you choose. Perhaps at the cost of social relationships. And we often do that at a stage where we haven't learned the value of those relationships yet.
At least for me, what you describe comes out of an unhealthy level of perfectionism and expectations on myself. Expectations I'll never satisfy, hence unhealthy behaviour if I don't address my expectations. A therapist helped make those more recognisable for me. Consider it.
As long as you have balance in work and other activities, there is work in our field that you will be able to look back on and feel a sense of achievement. Look up civic technology. What tech offers is making things feasible and accessible where it wouldn't have been before. Things can be more efficient, like offering remote learning, data collection, analysis and data-driven decision making.
But you don't have to do civic tech to be proud of your work. What tech offers can benefit society in very many ways. It's even justifiable to work for a bank if it's a bank that doesn't exploit people. And as an employee you can help keep it that way.
So don't be too harsh on yourself. And you don't necessarily have to leave the industry to feel you've accomplished something.
The first instinct I had when reading this was to say that had I known that computer science and programming weren't the same thing, I might have done something different with my life.
But I'm really happy I did: CS introduced me to Gödel's Incompleteness Theorems and has helped me learn how to think about problems in a way that I don't know I would've gotten merely through programming. CS introduced me to Cantor's Diagonalization Argument, and that has been a subject I've thought about on and off for a little while. CS introduced me to the ideas of complexity and computability, both of which are somewhat philosophical disciplines, not merely tools for program analysis. I was probably predisposed to think about these things anyway, and it's not as though CS was the only way to learn--but it was a good way to eat, too. (I'm given to understand that pure philosophy tends to make it harder to pay the bills.)
> What people compensate you for is wasted time. All those nights you decided to fiddle with NGINX instead of drinking with friends, the times you pushed away a loved one or a partner just to polish a commit before you pushed it, the years you wasted talking with people who will never see eye-to-eye with you but demand an argument nevertheless;
Work is a per se good, but it isn't the ultimate good. It is dignified and dignifying, but debases us when work becomes a master rather than a servant. Work to live: this is good; live to work: this is bad.
Yeah, if you're doing game engines, systems programming, ML and whatnot, it's a different story. The vast majority aren't doing that, and you don't need all those skills just to be a software engineer.
One might not become a great SWE that way, but must they be great? I've known far more mediocre SWEs than brilliant ones. Even the um... sorta awful ones manage to skate by pretty well.
Eliminate the concepts in the field of programming that aren't required for making a Turing-complete language, and what you are left with isn't that crazy complex. It then comes down more to practice, which most people don't want to do because they don't see the inherent value, don't have their own ideas, or assume they aren't smart enough.
Just with that level of complexity, you need a unique attitude and problem solving ability that many people can't or haven't developed. You need to be willing to stare at a computer screen for hours, without quitting due to frustration or boredom.
I used to work at a company that had a hiring pipeline that took people with zero skills and trained them up to high paid tech workers in a few short years.
It haunts me I can't convince more people to pursue this path.
Linode is an example.
Regarding top metro regions though you can get started without a CS degree and without a bootcamp in tech support and make your way toward programming. But companies in the top metro regions tend to require _some_ degree whereas companies in the lesser metros are more fine with just work experience (like retail at Best Buy), intelligence and enthusiasm.
https://news.ycombinator.com/newsguidelines.html
Methodologies and scale are growing which means more developers. Markets are expanding where "everything" is becoming software driven. Generally, give me more programmers and I'll give you more things that need programming. Our world has barely begun automation.
In an effort to overcome our subconscious loss aversion with data, we should back test these hypotheses. If you do that, you will see that every time someone has suggested a specific thing was going to result in fewer programmer jobs they have been quite wrong.
Now we need to weigh the very real negative of screwing over other people who would like to also earn a decent income against the total lack of evidence that this will be bad for existing programmers.
Do what your conscience tells you, I'm going to try and get other people to program.
That said, why is it unethical not actively trying to persuade other people to program? There's a considerable spectrum between "hostile gatekeeping" and "evangelism". What about not discouraging nor encouraging anyone? How many doctors do you find "trying to get other people to medical profession"?
It is unethical, as I said in the post you originally replied to, to pull the ladder up after you. That is very clearly what was being suggested. I maintain that we should each do as our conscience guides.
In answer to the question about doctors, tons of them. I personally know several who go to school career days and job fairs and evangelize the medical profession. There are also many who volunteer with charities targeting underrepresented minority evangelism specifically. I have worked with many such charities in a limited capacity to help them make their technology work better. In my discussions with them, many doctors share my feeling that our positions are a great blessing and that being in this position gives us an obligation to help as many others as we can.
Finally, I'll say that in my opinion letting yourself off the hook because "nobody else does it either" is a pretty thin reed. If you don't want to help, that's your choice. I hope if you need help someday, others are more generous.
Any advice would be appreciated-
Here is entry-level US: 31000-45000$ in VA [0]
Experience in orbit analysis and prediction Familiarity with a scripting language (i.e. Perl, Python)
Second one 55000-65000$ in CO[1]
work ethic (~60-70 hours/week)
Experience programming in C, C++, Fortran (lol), Python, MATLAB and/or UNIX or kernels
Am I missing something?
[0] https://www.simplyhired.com/job/2vDPHRlmzl3C2V4hIDXUDxGjiy3t...
[1] https://www.simplyhired.com/search?q=astrodynamics&l=&job=TC...
And then there's biological systems that are way more complex.
Are those numbers staff-reported or business-reported? Do you know how they compare, for example, to studies that businesses do when deciding how to set their position stratification?
I guess I'm curious how the sites know whether or not they are actually getting a representative sample of salaries and ranges at companies.
https://www.levels.fyi/comp.html?track=Software%20Engineer&r...
It's actually even more localized than that: the vast majority of places in the US don't pay that much. Silicon Valley, NYC, and some other metros will have higher ranges, of course, and BigCorps can afford to pay it. But if you live in the Midwest or program for a company whose business isn't software—which is likely a healthy minority of software positions, if not a majority—you generally won't make that much.
Let’s also consider cost of living here vs the US, and average pay. For example, I live in north Italy and i currently earn 60k euro yearly, which is 2.5x the average italian paycheck of 27k.
I also have a 10% bonus, which is something most companies outside of IT simply do not offer in Italy.
I think doctors average pay is around 60-70k for comparison with highly paying jobs…
But again, depends on the area. An attic in Trento city center, in an historical building, completely renewed very recently? 400k
That gets you a very small flat in Milan, and not even near city center.
Same price gets you a big-ass detached house where I live (30 minutes drive from nearest city)
As for quality of living I don’t have much experience, I’ve been living for a while in Ireland and UK, but only few weeks at a time, so I don’t really have anything to contribute to that discussion tbh
I think you don't understand what an order of magnitude means.
/s
The current astronomical salaries are simply unsustainable, and there is no way that all of these companies are getting anywhere as much revenue out of their SWE's as they are putting into them.
As for why it is unfathomable why someone might choose another career: we don't realize the work SWEs do is not that easy. We are always surrounded by nerdy SWE types, so we don't realize how averse most people are to programming in general.
I have tried helping some friends get into tech by spoon-feeding them all I know about the industry, but they just don't want to code.
Also most Software Engineers outside of the US don't make that much money either. I've been working for about a decade and if I don't work as a consultant getting high five figures in the UK is difficult outside of London. The UK pays better than many other countries, but not nearly as well as the US.
That combined with working with people that are short-sighted, lazy or are unwilling to learn anything beyond basics leads to frustration, burn-out and depression when you want to produce something that is moderately decent.
Also the job has almost no prestige to it. Many people have no conception of it and even if they do it is usually a poor one thanks to decades of shoddy software (and the churn related to it) being pushed into their work and/or personal lives.
...or, they just don't want to be a software engineer or product manager?
I'm losing faith in the legal profession.
Yes, if you go to work for Albertson’s instead of Google prepare to be surprised
But honestly that’s the point of the post. If you are a SWE in a low pay company realize that you can make $300k+ by switching companies
Can everyone earn that ? No Can you? Maybe
Sometimes that is enough - motivated individuals will use the information
Obviously there are some pretty specific lifestyle choices which are much more expensive in places in LA (or SF, or NY, or whatever), like "buying a large house in a nice part of town", which, sure? You can always find some set of preferences that are expensive to satisfy. But most people are going to come out ahead taking the 300k in LA.
Some people do pack up and take off as soon as they hit their number. Some people enjoy what they do, and the money isn't really a motivating factor. I have some acquaintances in the Bay Area who are well into their 60s but continue working in tech despite being able to retire several times over because they like it. I plan on being financially independent by 40 but I don't expect that I'll spend my days sitting on the beach, just focusing more on things that I think are worthwhile.
If you don't have children though, the math is pretty clear. For a given 5 year period, your options are:
1) Live and work in the location of your choice for all 5 years
2) Work in NYC or SF for 2 years, then live in the location of your choice for the next 3 years without working a single day.
Noticing a lot of career switches where people who started off in one career are now getting into tech by targeting different roles like Sales, Product Management, and Marketing. This is starting to become more commonplace and will be interesting to see how it continues to pan out. Generally it seems tech is still talent side constrained, and companies’ competitive advantage is to find new ways to up-skill and hire new talent from outside of the industry / college grads.
I've thought about it quite a lot throughout my career. I'm an avid programmer, but have not held a programming job per se. In my view it's not a slam dunk that anybody can make it in programming. I work alongside programmers. I see what they do all day. To me, it's easy but boring. I follow HN. I think you either have to figure out a way to make it exciting for yourself, or have a personality that can tolerate sheer boredom without burning out quickly.
I can make programming exciting for myself when it's in the service of something else that I'm interested in (like math and physics), but not as an end unto itself.
I've explained it to my kids, and they can grasp what I'm talking about, but neither of them is motivated by it.
Without a credible prospect of becoming a programmer myself, it becomes basically invisible to me, like living in a poor country that borders on a rich country. Unless you can actually move across the border, there's no reason to fret about the disparity.
It's interesting to look at the same question from a cost perspective: How can you control the cost of programming? On a personal level, I use software, but it's all free. At my job, I'm self sufficient for the programming needed to support my own job, and the programming department is like that rich country across the border.
There is a multi-year process of training and selection. You need to take risks and invest and learn to bend your mind in certain ways. Some people cannot bear this, or just bored out of their minds and cannot continue and get back to living their "normal" lives with less risk of depression or mental breakdown.
Those who survive, make decent money, and some even more than decent money.
So what's wrong with this picture?
It’s a matter of finding the companies (and divisions within those companies) that have realized software is a money making system and are willing to put dollars into the machine. The industry is much less relevant than it was just 5 years ago.
This is really only the case at the top tech companies and you have to bust your ass to get in. Most software jobs are not that.
1. you. you are likely successful and in a bubble near other successful people giving the perception of $300k being common. Let's be generous and say there are 1M SWEs in the USA, avg. salary is $150k and 1% of them make >$300k. That's 10k total people. It's hard to find concrete data, but it's also hard to imagine the proportions being more generous than that.
2. stocks. a large part of total comp -- up until recently they were at ATH's. This won't last forever.
3. recency bias. SWE is still a relatively young profession. I'm not convinced we'll be as hot or trendy or well payed 5-10 years from now as the labor supply grow and automation continues to take over.
Overall I'm not convinced this field is as solid of a bet as it once was -- at least relative to other fields.
https://www.youtube.com/watch?v=X0-SXS6zdEQ&t=9099s
levels.fyi shows that l4's on average at Google make ~270k and ~279k at Facebook.
Even if we say only half of employees at Google and Facebook are l4+, and half of those are in America that goes far far over 10k people . This doesn't talk about hedge funds, or even other tech companies.
I think we should expect that there are at least 100k developers in America making ~300k+
That said I think your premise of only 1M SWEs is off https://goremotely.net/blog/how-many-software-engineers-are-...
Though I still stand by the rest of what I said. And funny you should mention netflix after what happened to their stock last week :)
It's going to be interesting to see how people react to the total comp paycut that is likely to occur this year due to the stock markets.