5 ms·
Thanks for the inside perspective > Couple this with a culture that has masterminded a set of carrots and sticks that gets people to push themselves very hard
by PragmaticPulp 5y ago
Thanks for the inside perspective
> Couple this with a culture that has masterminded a set of carrots and sticks that gets people to push themselves very hard all of the time, I’m completely burnt out.
Can you say more about the work/life balance?
I've heard Facebook's work life balance described as everything from a cushy "engineer retirement home" to a grueling crushing workload that few can handle.
Obviously FB is a big company and it can vary from one manager to another, but I'm interested in hearing more of your perspective.
- bottle_roket 5y agoObviously it’s a huge company with thousands of teams, but I’ve been an engineer on 3 different product teams and certain things have been the same everywhere. I would say purely from a coding perspective the workload is typical ~40ish hours a week. The stress comes from the biannual performance reviews that grade you explicitly across 4 axis. If you got your projects delivered on time with high quality code that’s just 1 axis. What did you do to improve the codebase? What did you do to help drive the mission of the team? How many code reviews did you do(they count)? What did you do to improve the team culture? I think these things are all important, but everywhere else I have worked a lot of these are more implicit. At FB you need to have bullet points and evidence of these contributions every 6 months to get a satisfactory rating. Couple this typical giant corporation red tape (legal, marketing sign off, metrics reviews) to getting anything released. Some people seem to not have trouble keeping up with it, but I find it exhausting. I’ve gotten good reviews during my employment here but it’s been grueling.
- tdeck 5y ago> How many code reviews did you do(they count)? A friend who works at Facebook was telling me recently that since he gets judged explicitly on the code review count, he feels like he needs to immediately drop everything when a code review comes in so he can get to it before someone else approves and it gets merged. As you might expect, he finds that very disruptive.
- deleted 5y ago[deleted]
- codewiz 5y agoWell, what would happen if everyone prioritized writing code over reviewing their coworkers' code? Since junior engineers and new hires are not yet able to review code effectively, senior engineers end up reviewing a lot more code than they write. I think recognizing and rewarding this behavior in performance reviews is entirely reasonable for any tech company that wants a sustainable codebase.
- tdeck 5y agoThe problem isn't that code reviews get recognized and rewarded, it's that once a change is merged you can't review it, so people "race" to review changes before their colleagues get to it. That's not a healthy system. It's better to let people manage their time to promote flow, letting them batch up code reviews at a certain time of day if that's more effective. I'll just add that nowhere I've worked has counted code reviews in this way and they still get done, so it's not a disaster when you don't officially penalize people for their review count.
- yeswecatan 5y agoI feel like a lot of the anxiety around reviews is an unquenchable thirst for more. My understanding is that if you just meet expectations you get 100% of your bonus. If you're happy with your salary alone (which is probably higher than 99% of tech companies) then why get stressed?
- romanhn 5y agoMeeting expectations is a pretty high bar to start with. The next lower rating (Meets Most Expectations) is a cause of stress because two of those in a row frequently results in a PIP at Facebook.
- akomtu 5y agoThose extra axes seem easy to fake. Just "review" all code reviews you see - takes 5 sec per CR and your metrics skyrocket. Mission of the team? Write some bs docs with vision and ideas: nobody needs them, but you get to mark the checkbox. Team culture? Say you've organized a book reading club, even do a couple meetings - just bring a book there and mark the checkbox. Books don't actually need to be read. Want to score some diversity points? Say your book reading club studied "white fragility" - nobody is going to verify you havent and nobody really cares, but you get to mark the checkbox.
- sundvor 5y agoThis sounds like some different version of hell to me. But hey, if you can make it work - and it sounds like you do - then all the power to you! :) I must admit I do like seeing the middle digit you're raising in their direction there. (Edit: Even though CRs ought to be taken seriously, for the sake of your fellow engineers).
- zelos 5y agoGoodhart's law in effect. I once had a job where a portion of our bonus was related to an automated code quality score. Needless to say, we reverse engineered the algorithm and scripted the (pointless, probably slightly harmful) changes to the source to maximise the score.
- cutemonster 5y agoWhat did and didn't the score algorithm like? (Did you reverse eng it during work time :-))
- zelos 5y agoThere were several components, but the parts that were I can remember were gamed were code duplication - someone figured out the minimum number of matching lines required for it to be detected and made minor changes in the middle of blocks - and number of imports. The penalty for .* imports was quite low, so we just ended up with wildcard imports everywhere.
- Ozzie_osman 5y agoI worked at a FAANG (not anymore), and my spouse and many of my friends still do. There are two ways to do FAANG (very generally). You can care about promotion, or you can not. If you do care, then it's competitive and stressful because perf reviews (and often politics) will determine your fate. If you just want to cruise and have a cushy job, you can do that too, but just accept that you either won't get promoted (or will get promoted very slowly). You may have to transfer to a team where that's easier to do to get away with it, but it's very doable. (There are some exceptions. If you go in at a very high level, the level expectations will be high and you still have to meet them. That might be what happened with the parent commentor, given the expectation to have broad impact)
- m0zg 5y agoThe correct way to do it, if you can, is, quite obviously, #2. The comp differential that comes from "career" isn't life changing, but the stress that comes with that comp differential is very real and damaging to your relationships IRL, your family, and yourself. And even if you coast, you'll still be paid better on income/effort basis as well as in absolute, compared to the vast majority of non-FANG companies. As rational and verifiably correct as that strategy is, I can't do this myself though. I either care about the things I do, or I don't do them at all. I feel as though my age might solve this issue.
- cutemonster 5y agoHow might the age solve the problem? (Retirement maybe?)
- m0zg 5y agoYou learn not to give a shit and realize work isn't all there is to life. IOW you develop a more balanced, informed world view. You also learn to not do stupid shit, which saves a lot of effort.
- cutemonster 5y ago
- romanhn 5y agoI have never heard of Facebook described as anything like "engineer retirement home". Google, yes, but not FB. When I was there, poor work life balance was everywhere - from individual contributors to managers, from engineers to product managers to all other cross-functional partners, from juniors to senior staff levels.
- cutemonster 5y agoHow many hours per week did the poor balance people tend to work?
- geekster777 5y agoI work at FB right now, and one of the more stressful things are the timelines for promotion. I think you have a year and a half to go from New Grad to E4, then 2 and a half years to go from E4 to E5. If you fall behind on those timelines, your performance reviews just start getting measured against E#+1 until you either get promoted or more likely fail. A lot of pressure is placed in those early levels to get promoted quickly and efficiently, with not a lot of opportunity to coast. As someone who's very ok with the compensation and responsibilities at E4, I don't really want to get promoted and it's exhausting. It means that "meeting expectations" isn't enough. I need to be exceeding expectations so I can prove I'm working at the next level. This often involves seeking out ambiguity for ambiguity's sake and making projects unnecessarily formal. The other main "issue" is how incentives are structured, although this one seems to be working as intended. By focusing so heavily on personal performance and impact, Facebook can pretty reliably delegate project planning to their engineers in a bottom up fashion. Engineers will then adjust to ruthlessly prioritize only the most impactful work on the team. Velocity also gets highly prioritized. You don't have to assign many tasks, since engineers are afraid of the mythical "poor performance review". This leads many teams to feel chronically understaffed, and bad for choosing impact over polish on many projects. The flip side is that if your team is overstaffed, it's a struggle to find enough meaningful work to get more than a meets expectations (which may be too low depending on what level you are).