My experience were the first 2 years I was writing wholly new code and was able to write a ton. The next 3 years was all maintenance for new issues, requirements and I felt unproductive.
Also, just in general it felt like my output went down 50% or more because of code review and tests. Those were all essential but up until my FAANG job no team I was on did that stuff (games). We'd just make the game and file bugs while playing. We didn't write tests. We shipped too. I see the value and essential requirement for code review and tests, specially outside of games, but it was a rude awakening just how much slower things went.
There was also just process. Because of code-review you were required to write small changes which I totally understand the need for but it also felt shitty to have to babysit several changes through the CI. Can't submit #3 until #2 passes, etc... so a it felt like wasting so much time on something that used to be instant on a smaller game team. Another example is review of #2 requiring refactoring #3 and #4. And of course the re-write is correct but having to propagate it through changes was more work than if I could have just submitted one change. Similarly while babysitting this stuff someone would check in something with conflicts and again, fixing those conflicts would have been easier with one large change than 4 small changes so again, just adding what feels like busy work.
I think it summarizes a lot of office work. We're organized in processes which are efficient and/or necessary at the scale of the company, but which severely restrict and constrain us, making a lot of us unhappy.
For people for whom it's unbearable, there are two options: either join a small company or just check out completely, treat your job as some bullshit that brings you good money, be glad you're not cleaning toilets for 20% of your pay, and try to find fullfilment outside of work hours.
I don't feel like the multiples of a toilet cleaner's wage should be a measurement system since it mostly shows income inequality.
For example in Sweden and most of Europe, most devs only make 2x-3x NET of what the toilet cleaner makes. Not only because we're underpaid(which I hate) but the toilet cleaners tend to be paid fairly(which I like).
In places with high inequality like South Africa, Latin America, Eastern Europe, the USA, a SW dev is expected to make multiples of low-end blue collar wages.
> For example in Sweden and most of Europe, most devs only make 2x-3x of what the toilet cleaner makes.
Most devs in Europe are massively underpaid, and should work on the internet instead of some local underpaid wage-slave job.
There is a shortage of skilled programmers in the world. There’s no reason to remain underpaid other than really, really wanting to work a very specific set of local timezone hours.
What do you consider underpaid? Is it when you're making significantly less than people in similar positions somewhere else on the globe? Is it when you're in a low income percentile of your country / geographic area, taking the skill into account?
I tend to think it's the latter. I'm one of those devs in Sweden. I certainly make less than developers in the US, especially those in SV, and my effective tax rate is higher than for SV devs, even if California is considered a high-tax state. On the other hand, I'm firmly in the top 10% of earners in Sweden. Am I underpaid? By the first definition, certainly. By the second definition, not at all, even if my income is roughly 3x of the lowest-paid workers.
Then again, I approached the whole situation from the point of view where I first consider where I want to live, and then look for a job there. One could certainly take a different approach and go where the money is.
I also don't think it's that easy to get SV-level salaries for remote jobs. All-remote companies are perfectly aware of different economic circumstances in each country, and aren't keen on offering 100k$ to someone in a country where 70k$ is already an above-market rate.
You are right about the underpayment, but you're underestimating the challenges of finding good remote working opportunities that pay more. For one thing, why would an American company offer to pay me twice as much as I could make in the UK if I'm in the UK? They only have to offer a little bit more to inceltivize me to take the job.
> why would an American company offer to pay me twice as much as I could make in the UK if I'm in the UK? They only have to offer a little bit more to inceltivize me to take the job.
If they have the money, e.g. they're a large corp or a startup with VC money to burn, they tend to not watch costs that closely and it should not be a problem. I've received multiple offers for six-figure remote jobs in the US (I'm from Eastern Europe) and so far only one offer for less than $100k - that one offer was from a small, profitable self-funded startup.
OTOH, if you're already making say $100k in the UK and want to double it by getting a $200k remote offer, then it's considerably harder. I'm betting it would require a lot of valuable and unique experience in your CV.
"Who's hiring" thread, here on HN, with one exception, which was IIRC a direct application to their website (it's a known startup that happened to be open to global remote hiring at the time).
The common denominator of most of these offers was that they were in expensive US cities and wanted to hire "talent", but, in these locations, it would probably cost over $200k (esp. including health insurance, retirement contribitions etc. which I wasn't offered) to have their pick. So they were happy to offer $120k-$130k to a comparable remote candidate. BTW they also employed people from cheaper areas of the US.
Well, I don't actually mind being "underpaid" when I can get home every day at 4pm, have 30 vacation days, ~20 months of sick leave, pay 400€ for my apartment, and have fun at work.
And while I might be underpaid compared to SV, I'm still in the top 10% income-wise.
Even getting home at 4 PM every day, you only end up with 2-3 hours to do whatever you want per day, vs 12+ if you aren't going to work.
You should work a year in Silicon Valley and save every penny, then go spend 3-4 years back in your home country IMO. Just imagine what you could do with all that time, completely yours. The best hours of the day would be all yours again.
I took a couple of years off full-time work, and it was indescribably great. It took a few weeks to unwind and get out of "rat race" mode mentally, but after that.. I finally understood the cliche of "living more" because I would do more interesting stuff in a day than my friends and family would in a week. I had to force myself not to talk to anyone more than once a month, since I just sounded like a jerk to them, and they never had anything new to say any sooner than that.
I honestly felt like I lived more in that two year stretch than I did in my whole life up to that point beforehand.
I didn't manage to achieve enough of a stable financial equilibrium, so I'm back in the rat race now. My current job is awesome, I love it. I couldn't ask for a better job. But compared to that time to myself, I honestly feel like I'm dead. Wake up -> Work -> Chores -> TV/Games -> Sleep -> Repeat. Weekends are almost entirely devoted to resting and catching up on chores I couldn't take care of during the week. Days turn into weeks turn into months turn into years, everything just slips by.
Fortunately, I know I can come back to life again once I get enough money saved, so I'll keep at it.
Why not only work only every other day until 4pm, spend more time with your friends/family/books, pay twice as much for a nicer apartment, and save even more each month for a rainy day or retirement?
Being paid properly isn’t about having enough to get by and have fun. It’s about not squandering your most valuable nonrenewable resource: minutes of your life.
Depending where you're based this isn't true. At my country in Europe I could earn 1000€ / month cleaning offices and common Programmer salaries' are 1200 - 1500€ / month
Programmers in Europe are underpaid as a group. I moved from London to New York and literally doubled my salary (almost exactly 2x). And London is at the high end for Europe.
Corollary, toilet cleaners in America are underpaid as a group. I don't want to get into a heated political debate, I just want to suggest an alternative view point that I find compelling when discussing American vs. European software salaries. Don't toilet cleaners in Germany have better lives than toiler cleaners in Kentucky?
My point is that if those are your options, start being “based” on the internet instead of wherever you consider yourself “based” now, because good programmers on the internet are paid €10k+ per month.
If you have a lot of experience and a good network, you can easily double that (€20k/mo, €125/hr) as well. Triple that is not out of the question, either.
High end specialty researchers are billed at >=$400/hr by large firms.
So don’t mention where you are? As long as you don’t have a window in frame, work the same timezone hours, and have decent internet, I think you can sidestep this issue.
That said, I don’t think this is as big a blocker as you seem to think. It’s a different issue in the sales process.
What if every place where they live is paying them around the same rate? Should every person be expected to move and uproot their life to find a job that pays them enough to live on?
I learned at a previous job that one of the biggest challenges in janitorial-services is the insane rate of turnover and difficulty in guaranteeing that a particular floor of a building has been serviced on a particular night...
My experience were the first 2 years I was writing wholly new code and was able to write a ton. The next 3 years was all maintenance for new issues, requirements and I felt unproductive.
Also, just in general it felt like my output went down 50% or more because of code review and tests. Those were all essential but up until my FAANG job no team I was on did that stuff (games). We'd just make the game and file bugs while playing. We didn't write tests. We shipped too. I see the value and essential requirement for code review and tests, specially outside of games, but it was a rude awakening just how much slower things went.
There was also just process. Because of code-review you were required to write small changes which I totally understand the need for but it also felt shitty to have to babysit several changes through the CI. Can't submit #3 until #2 passes, etc... so a it felt like wasting so much time on something that used to be instant on a smaller game team. Another example is review of #2 requiring refactoring #3 and #4. And of course the re-write is correct but having to propagate it through changes was more work than if I could have just submitted one change. Similarly while babysitting this stuff someone would check in something with conflicts and again, fixing those conflicts would have been easier with one large change than 4 small changes so again, just adding what feels like busy work.
I get why it's important, it just feels poopy.