Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

If you replace the word "bonus" with "promo", then you unfortunately get an eerily-accurate reflection of the state of FAANG companies.


Good God yes.

Once my team owned a service that did X. Among it's functionality, it had an API that, as a side effect, stored some data that could be retrieved. Sadly, this service had no validation that the data being input made any sense in the context of what this service did.

A developer on a neighboring team had a big promo project on the go. As a simple hack, and as a way to save time, his project used our service as a basic key value store database. They already called this service for the correct functionality, so they had access keys. The stuff he was storing could be argued to kind of make sense, but as the owners of this service we said "no fucking way, we aren't your database". He escalated to management who knew he was going to quit if he didn't get his promo. They overruled and last I heard that service was still being used as that asshole's database. He did promise to fix it right after the project launched, but the second he had his promo he changed orgs.

For some reason, Amazon is full of this sort of terrible tech debt and they can't figure out why everyone has to be on terrible on call rotations.


The fast-paced "fail upwards" where you get a new job at a new FAANG every few months while leaving a trail of destruction in your wake astounds me, and I don't understand how it works and how companies keep falling for it.

There are a lot of excellent ex-FAANG programmers I've worked with, and a lot of terrible ones, and my experience is that usually the ones with the most prestigious titles show up, do 3 months of junior level work which we end up having to rip out later, and then leave to their next high-paying gig.


This is entirely the fault of the FAANG hiring methods of which most managers at these companies are very proud because they provide such excellent “signal”.

But the upside is that it’s a competitive advantage for startups that intentionally build different hiring pipelines.


> This is entirely the fault of the FAANG hiring methods

I would say it is more of a fault of compensation structures.

Why would one stay for 3 years and get very meh comp increases every year, when they can switch to another company and instantly get a 30-40%+ increase (up to a point). It is also somewhat disheartening to see new hires get paid significantly more than you are for the same level.


Do people leave FAANG jobs every three months? I thought they stay there for three years to get promotions and then leave


They take three years to do the three months of junior-level work.


The ones who do 3 months of actual work get fired because their overperformance scares the boss. But less than 2 weeks of actual work and you're an underperformer. The sweet spot is probably the geometric mean of the two.


> their overperformance scares the boss

i just don't understand this at all - why would someone who is working for you be a threat? They cannot take your job - it's not like them being a good programmer would somehow make them a good dev manager or "boss".


It's common for high performers to get promoted as a "reward" regardless of management ability.


How is this his fault? Your service had poor validation or design and was used in ways it was intended to. You knew this but still didn't patch it?


Internal systems always have large gaping holes like that because if someone is misusing it, you can simply ask them to stop it. Most adults comply.


I won't downvote you.

When this terrible thing was done, we immediately realized we needed to add validation. We had thought that by limiting who could call through access controls, we'd never have a malicious user. So naive.

Sadly, at that point we couldn't add it because his awful project was running in production.


You can pretty trivially break into my house with some cheap tools off ebay and a YouTube video showing you how to pick the lock.

No one suggests I am at fault if you break into my house and steal my stuff.


It’s an internal service, you don’t treat your co-workers as hostile actors.


At a large enough company you kind of have to... as this situation shows.


Reminds me of what they say about Formula 1 racing: The most important thing for a driver is to beat the other driver on their own team (there are 2 drivers per team).

And arguably this principle holds for most team members in any organization - since it’s only very few at the very top that actually get held accountable for overall team success.


I read a tongue-in-cheek blog post, maybe ten years ago, about “blame-oriented software development”: how to deflect blame from your code. The framing was amusing but the advice was good: extensive validation of input parameters and data, lots out logging, etc. Unfortunately, the blog post seems to have disappeared.


No, this person was selfish and inconsiderate of their fellow employee. Employees are supposed to cooperate, not exploit one another for their own personal gain.

It's weird to have to say this, and some people probably think it's naive, but I stand by it.


If you have this attitude working at a fang, you'll eventually be the guy the other guy kneecaps and outruns when you're both running from a bear.


Good thing I'm not working at a fang then. Sounds awful.


Money is clearly a factor, but I think a lot of it comes down to culture in the working group. Promotions mean status upgrades, and in a lot of these companies, status is actually important.

At least at Microsoft, there's a culture of where your title determines if you're a part of the "in group" or not. Not at least Senior? Forget about anyone outside your immediate working group taking you seriously, let alone deferring to your judgement on things. Not at least Principal? Put your ambitions aside, because you won't be allowed to make decisions that are actually important. There's exceptions to this, like if you're in charge of something nobody else thinks they understand.

As a result, this means that there's a lot of squabbling and weirdness around September. Especially in the Senior -> Principal jump, since that is also influenced a lot by department budget. There's also not any official acknowledgement of a good terminal level. Implicitly, that's the Senior band (and really the 2nd level within the band), because beyond that you're usually expected to do more than just be a wildly productive individual contributor. But everyone who's Senior eventually feels the pressure to somehow level up to Principal, because they have the expertise to make important decisions but their organization often won't allow them to be in the room where those decisions are made. Thus the backstabbing, jealousy, weirdness, and more.


This is a perpetual problem for any organization with a hierarchy - and taking care to have successful off-ramps for those who want to continue to contribute without being forced into a management track is important.

It’s gotten better but there’s still limitations, and many people solve it by switching organizations- which has more costs than many realize.


I worked at a company where promotion was not on the table. So I left. No matter how much work I did or how good I got, it would not get rewarded and people who wanted to get good and who I could learn from would also leave.

Rewarding people is hard. But you can't shirk from it unless you want people to leave.


Yep. The best time to get a promotion is as you interview. The second best time is now...at another company.

Thankfully, at a large company with plenty of hard problems to solve (and smart folks to work with), you can grow quite a lot whether or not the company chooses to recognize said growth.


A lot of companies boot you out if you don't get a promo. The idea is that you take the "worst" 10% of your workforce (where "worst" means not getting promos), and fire them, every year. Even if you have no desire in chasing the promo train for more money, you sort of need to play along, just to have a job in a year or two.


I believe what you are describing is called stack ranking and has fallen out of favor with tech companies. Microsoft at least used to do that (I think they don’t anymore).


It was kind of a mix of stack ranking, fire X% on a periodic schedule, and up or out, you've got X years to get promoted or you'll be fired. Microsoft says they stopped stack ranking, but it's not clear if they did. Facebook says they don't force a ratings curve, but they did while I was there. Just because something has fallen out of favor and companies acknowledge that it's fallen out favor doesn't mean they don't do it.


I worked at Microsoft when stack ranking was “eliminated”. Groups still stack ranked (at least mine did) but they had more local control over the process and distribution rather than having to follow one company wide system. Old habits die hard.

Maybe it’s different now, but I doubt it. Any place that pays for performance has to differentiate rewards in some way.


It’s pretty useful if you’re an up and coming growth company paying higher than average comp as it ensures you’re continually snatching new employees from other companies.


The consensus I've seen is that it's useful for a year or two while you clear out the people who really need to go, but after that it creates perverse incentives and constant fear among employees, doing more harm than good.


A better solution is to "just" be more thoughtful & honest about who (if any) needs to be fired (it sucks to fire people so a lot of managers put it off but really shouldn't, sometimes). I don't think there's a systematic/technocratic solution to a human/social problem like that, at least not one that doesn't have other massive downsides (like stack ranking).

Your hiring process should be good enough that firing is rare but nobody is perfect and if/when the situation arises (either due to a bad hiring decision or the situation changing) it's better to resolve it earlier rather than later.


Many companies should offer a quit/buyout alongside the performance plan - most employees who are on the fired path know they’re on it and pretending they’re not doesn’t help anyone really.


I read that as it's useful for the startup that the established companies do it, not that it's useful for the startup to do it.


Now they have stack ranking and lie about it, which is even worse.


I feel like we should stack rank corporate executives. Hold a public vote to rank them and the most despised 10% get the 'tine.


Sadly it's only gotten more true over time. As FAANG growth slows, the internal politics grows. Bezos was right that having a 2 pizza team really is a recipe for success, larger than that you end up with internal infighting and stepping on top each other.


I can easily smash a whole pizza myself. So I’ve often wondered what size team this really is and why it’s not expressed directly.


FAANG is banking with uglier people and even more casual sexism.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: