Where does engineering rep come from? Here's a Google engineer slagging on Amazon engineering, which they say mediocre.

I don't think this is an unusual opinion, I've heard this from people both inside and outside of Google. Google has the best engineering, Amazon is mediocre.
When I worked on cloud at MS, it was the same -- although AWS was clearly in the lead, a major concern was that Google's superior engineering would allow them to crush AWS and Azure; "preparing for a knife fight with Amazon, but Google is going to bring a gun to this knife fight"
But when I looked at execution speed on actual projects (via backchannel communications), AWS was smoking both us and Google. In one case, I heard that they got the idea for a project from our product announcement and they still shipped before we did.
They weren't moving fast and breaking things -- when I looked at 3rd party measured uptime, AWS was clearly #1 and we were going back and forth with Google for #2.

This understates AWS's edge since they had fewer global outages and less flakiness that didn't count as downtime.
The more I looked into this, the more impressed I was with Amazon engineering. But AFAICT this never translated into any kind of reputational change.

I don't think this is unique to Amazon either. When I compare general reputation to what I can observe, they seem uncorrelated.
BTW, I don't mean this thread as an attack on MS or Google.

It's more that if I could take a sabbatical from my job and intern somewhere to learn from them, Amazon would be at the top of my list and I don't think many others would put any company in my top 3 in their top 50.
I've also never understood Widows snobbery.

StackOverflow was running on 11 IIS boxes + 4 MySQL boxes in 2016, could tolerate failing down to 1 IIS box.

Meanwhile, some trendy SV companies were serving multiple orders of magnitude less traffic at multiple OoM greater cost.
PG also says: Python programmers are smarter than Java programers, good hackers prefer Python.

Odd, Google was built on Java & C++ (w/some Python).

But if you were on the MS stack you wouldn't have to choose between the perf & IDE support of Java and Python expressiveness.
Until Kotlin, there wasn't a mainstream non-MS language that had anything close to the same combination of:

* Performance
* Ease of use / ease of onboarding new devs
* IDE suport
* General expressiveness

(arguably Go, but I would disagree on expressiveness & IDE support)
Why care about performance? While trendy $1B to $70B SV companies were devoting a ton of time, money, & effort to scaling up a v. low performance stack, SO was humming along with relatively little effort devoted to scaling because they started with a moderate performance stack.
If you compare the 2013 and 2016 StackOverflow architectures, the changes aren't radical:

https://nickcraver.com/blog/2013/11/22/what-it-takes-to-run-stack-overflow/
https://nickcraver.com/blog/2016/02/17/stack-overflow-the-architecture-2016-edition/

Meanwhile, trendy SV companies were and are moving to incredibly complex architectures to scale out despite having much less traffic.
IMO, "employer brand" mostly comes from marketing and is independent of "things that make a company nice to work for" or "engineering effectiveness".

A corollary to this is that the top companies (by reputation) are usually overrated and vice versa. https://twitter.com/benskuhn/status/1274525148440408064
The marketing for "employer brand" often isn't what people consider marketing, e.g., one HN darling takes HN v. seriously and workshops what people might think are off-the-cuff comments.

Tilting hiring towards people with public presences is another strategy that seems to work.
One thing I find funny about this is that the vast majority of Googlers I talk to are utterly convinced that Google is about to wipe the floor with the competition in cloud very soon (within a year or two).

I've been hearing this for nearly a decade. https://twitter.com/Carnage4Life/status/1344062209199013888
Every company I've worked for has internal propaganda designed to convince employees the company is amazing. It’s been unconvincing everywhere I’ve worked except for Google, where it’s v. good.

Your co-workers are the smartest, the company is five years ahead of the competition,
the company operates the largest X, etc.

What I find interesting is how quickly people adopt this as part of their identity.

If you calmly point out that Google doesn’t operate the most advanced/largest X for some X, many employees who just joined will get defensive or hostile.
This is great for the engineering brand since employees will brag to their friends that Google is the best at everything and they won't even have to be good liars to do so.

But it's not so great when you need to take a hard look at what's going wrong and how to fix it.
The other about this is that it engenders a kind of contempt for the competition.

When I worked at MS, I talked to so many Googlers who had deep contempt for MS eng due to the technological edge Google had over MS.

Wow, I can't believe you don't have live VM migration, etc.
That was a significant problem when MS rebooted VMs more often.

MS fixed this by making changes to reduce host-rebooting updates.

These kind of "hacky" fixes were also treated with contempt (what's wrong with your engineering that you can't fix it for real), but they worked!
You can follow @danluu.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled:

By continuing to use the site, you are consenting to the use of cookies as explained in our Cookie Policy to improve your experience.