Hacker News new | ask | show | jobs
by no_wizard 1088 days ago
Its not the tools, its the culture. Meta cut red tape in its early years especially. I know there is more "process" now, but they empowered teams and individuals to just make decisions and move on and the ecosystem around everything supports this.

They'd be just as fast with Slack or whatever, for the most part.

EDIT: as someone posted below:

> The open-ness of code, visibility, diffs. It was perfection. Something broke in my env suddenly? OH, I just checked recently pushed diffs that affect my realm. Hey there it is, security pushed something weird. I'll just revert the part that affects me and tag them. No meeting, maybe a SEV for visibility and review, maybe not. Easy peasy.

This is the kind of empowerment developers are given and expected to handle (both the explicitly ability to revert previously committed code and the implicit responsibility that the teams code that was overridden must deal with it once they're notified rather than push back)

2 comments

And just to add that last part. Moving fast was so damn cool. That shared understanding of responsibilities and freedom of making changes. In most cases of course they were added as reviewers to the revert diff review, and in some cases they knew it could adversely affect us and they’d tag us for our perspective before pushing, but the open-ness of it all. The freedom to bring me in at a later stage or for me to do the same to them.

These days at different companies it’s all planning and hashing out all those details before implementing, and then guess what? Surprises happen anyway. And in the end we become master planners and never actually build anything. Those blueprints sure do look great though.

100% agree. The culture is a huge factor as well, but in some of the environments that I encountered before and after, that culture was there, but the tools didn’t allow the same cohesion.

To your point, other experiences have shown me the ego that rears it’s ugly head when trying to move that way in an env that didn’t have that culture. At FB there was a lot of candor, but in other environments I feel like I’m going to hurt someone’s feelings in code review, or even just watching what I say in slack messages. People take work too seriously in some companies. It’s so rewarding to have fun with it.

They used to say “Nothing at FB is someone else’s problem”

I hope they still do.

In part this is only possible at Meta because it incremental measured improvements would raise all boats. You didn't have someone being evaulated how well a project was planned (Product Managers), how well it was executed (Engineering Managers) and how well it was built (Engineers / IC). All 3 of these things can be extremely orthogonal to each other and human nature makes it so more often than good intentions of a person to even realizes.

Meta cut through that by focusing on measurable improvements.

The downside is it can create silos, a negatively competitive environment. IE, teams not sharing resources or credit etc because they are only looking out for themselves at the end of the day, because any measurement you don't capture is one you can't claim as yours.

I also argue it can breed short therm thinking. Meta even had special teams from what I understand that were "exempt" from the typical metrics driven review cycles because they'd create the wrong incentives.

I think the general ethos can be really powerful though, but I'd peg it to collaboration and value driven measurements (and value is loose here, I'm not strictly thinking monetary) rather than strict "user based metrics".