Gergely Orosz, a software engineer and author, writes The Pragmatic Engineer on tech careers, salaries, big tech practices and engineering management.
Commenters call it great, especially for career and tech industry topics, and recommend it alongside other blogs they follow.
Back in the day when you found a solution to your problem on Stackoverflow, you typically had to make some minor changes and perhaps engage in some critical thinking to integrate it into your code base. It was still worth looking for those answers, though, because it was much easier to complete the fix starting from something 90% working than 0%.
The first few times in your career you found answers that solved your problem but needed non-trivial changes to apply it to your code, you might remember that it was a real struggle to complete the fix even starting from 90%. Maybe you thought that ultimately, that stackoverflow fix really was more trouble than it was worth. And then the next few times you went looking for answers on stackoverflow you were better at determining what answers were relevant to your problem/worth using, and better at going from 90% to 100% by applying their answers.
Still, nobody really uses stackoverflow anymore: https://blog.pragmaticengineer.com/stack-overflow-is-almost-dead/
You and most of the rest of us are all actively learning how to use their replacement
> Is there more information on this somewhere.
Yes, everywhere. You just need to look for it. See the following link, which has references to Apollo and MAWS.
https://blog.pragmaticengineer.com/amazon-notable-systems/
> I thought this sounded crazy, and it would be interesting if Amazon themselves didn’t even have what was being asked of us.
Amazon has multiple incantations of this. As legend would have it, AWS was an offshoot of Amazon's internal cloud infrastructure designed to monetize it to amortize their investment on bare metal infrastructure. They partitioned their networks for security reasons and for a few years their infrastructure evolved independently. Then AWS was a huge success and took a life of its own. Only relatively recently did Amazon started to push to drop their internal infrastructure to put all their eggs on AWS in general but serverless solutions in particular.
Scale and culture. For scale, see https://blog.pragmaticengineer.com/software-engineering-salaries-in-the-netherlands-and-europe/ for more. There just isn't a lot of money in only a local market, and trying to accommodate a dozen countries worth of languages, culture and standards is far more difficult than one.
For culture, a lot of European countries feel it is justified developers earn similar to other white collar jobs. It doesn't have the "heightened" status I often feel the US seems to give developers. Other white collar jobs don't really earn a lot either. Tech jobs kind of stop growing at senior, and require pivoting into management at least partially for higher income. Speaking of management, it is kind of unheard to earn more than your manager, unless you solidly outrank them in seniority. As a result, whatever the manager is paid, forms a tight glass ceiling for oneself.
There's more than one AGILE methodology. SCRUM is only one of several. Probably if you're doing SCRUM you're using techniques from some of the others, so you might not see the distinction. Look 'em up. KANBAN, for example.
A whole lot of organizations, particularly gelled teams at them, do some variation of "plan, iterate, ship":
https://blog.pragmaticengineer.com/project-management-at-big-tech/
AGILE consultants did not invent iterative development, by the way.
I have never seen any process actually followed that looks like the AGILE consultants' caricature of "waterfall". The more serious you get, though, about defining requirements up front and making sure you meet them, the more your process will look like traditional systems engineering and stage gates. This does not preclude iterative work - the buzzword decades ago was the "spiral model".
A great, detailed explanation of what you are seeing: https://blog.pragmaticengineer.com/software-engineering-salaries-in-the-netherlands-and-europe/ (and the other two parts of the series)
The most important point is that your compensation is far more sensitive to getting onto the next curve up than it is tied to your experience or your work at your current company.
This is why so many people say "Grind Leetcode, get into FAANG" as the goal in software engineering, because (at least until recently) being in FAANG even as a junior SWE pretty much guaranteed you were in the second or third curve, and once you were accepted into that curve you would generally find jobs in that same curve. With the way the software engineering job market has changed, I'm not sure that's true any more, but as recently as 2023 it was the rule of thumb.
I found this article to be pretty enlightening about the nature of of the software engineering job market, which should help you figure out what companies can afford expensive developers.
https://blog.pragmaticengineer.com/software-engineering-salaries-in-the-netherlands-and-europe/
If you're okay with a little risk, it's probably easier to join a remote series S-ish startup where you get a solid base salary (130k-180k based on your experience) and where the stock could be worth anything from 0k/yr to $100k+ per year. I would highly recommend only joining these types of companies if they have technical founders who have worked in BigTech and understand the value of high quality engineers and maintaining a good engineering culture (aka blameless post mortems, predictable deadlines, no-overworking, etc.)