I think another aspect is that a lot of things don’t matter. For example, some employers have a better brand (as employers of tech workers) and some are worse. Some will also try much harder to present such a brand to people. But the effects of this brand may not actually be so important to the company if they can achieve their goals.
Examples of some employer reputations:
- Google and Facebook both have reasonably good reputations as employers. Facebook has a reputation for paying better than their typical competitors. But both had much better brands 5-10 years ago and they have since fallen out of favour (in hn comments a lot. Not super sure about programmers at large). A lot of it is also from their worse reputation in the public discourse[1]. I think to some extent they are no-longer new exciting companies, and they are now big enough that they will do more things (in absolute terms) that people don’t like.
- Amazon has a reputation for being bad at engineering, whatever that means, yet somehow aws does much better than the competitor from Google, a company with a reputation for strong engineering. Some people will tell you it’s about sales or customer support and other people will tell you it’s about not deprecating year-old apis that don’t even have the features of the things they replaced.
- Amazon has a reputation for being a bad employer (of engineers) with lots of turnover. Some evidence could be that they (would?) backload their equity vesting schedule because of this turnover but that could also be explained by hiring more people on the margin or putting more weight on retaining employees with more tenure.
- There’s a lot of ‘working at a startup is great fun and highly profitable’ sentiment that probably advantages startups. I think some of it is true, some of it reasonably organic, and some of it promoted by VCs like pg.
- Palantir is thought to be evil by some people.
- Microsoft is uncool (I mean come on, they use windows) and supposedly has terrible or undesirable tech processes (rebase hell due to discontinuous integration, no VC at all, backwards compatibility quagmire, no ‘big’ systems) and also supposedly got full marks on the Joel test 15-20 years ago.
- Apparently if you work at an investment bank you’ll be shouted at, work long hours, and be seen as less important than the bankers, but you’ll be highly paid. (Or maybe some subset of those things)
- Some smaller companies can get an outsize positive reputation by writing good/timely/popular blog posts (two that spring to mind are cloudflare and fly.io) or through positive blog posts by employees (e.g. read Steve Yegge’s old post about the ‘good agile’)
To some extent it feels like this sort of brand should matter, but I’m not sure that’s really true. If you only hire new grads then it is probably more important to provide a lot of good free food and fun at campus recruiting events. If you are already able to hire sufficiently many acceptable candidates at an acceptable price, maybe there is no need to increase that price by putting effort into the brand. I think it’s also true that many professional programmers don’t care about or share the opinions about companies that are frequently posted and highly voted on HN, and it is easy to ignore such opinions when weighing up other aspects of a job offer.
On the other hand it feels like some companies do poorly at this by not doing anything at all so improvements could be relatively easy like changing the interview process to avoid candidates feeling shit about it or ‘free’ cultural/process changes like making it easier for employees to produce quality company blog posts. Even a seemingly good organic reputation could be bad if it comes from the wrong place and if you don’t present much of a brand that can be a lot of what you’re left with. It’s also possible to get a poor reputation in a hard-to-control way like Citadel Securities (the market-maker) getting a poor reputation from people who believe what they read on Reddit (while maybe those Reddit true-believers wouldn’t be good hires there is likely still an effect on the margin)
If you’re applying for jobs then it might be worth keeping these reputations in mind: some companies could be better or worse than you’d expect because you’re naturally biased by their poor/good brand.
[1] I think partly they are rightly unpopular, partly the single (er, double) biggest threat to any publication, and partly an easy punching bag for politicians