Facebook uses Mercurial, but when people praise their developer tooling it's not just that. They're using their CLI which is built on top of Mercurial but cleans up its errors and commands further, it's all running on their own virtual filesystem (EdenFS), their dev testing in a customized version of chromium, and they sync code using their own in-house equivalent of GitHub, and all of it connects super nicely into their own customized version of VS Codium.
Programming
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
The inhouse tooling from the massive tech companies is very cool but I always wonder how that impacts transferrable skills. I work in a much smaller shop but intentionally make tech decisions that will give our engineers a highly transferrable skill set. If someone wants to leave it should be easy to bring their knowledge to bear elsewhere.
Speaking from my own experience and a few other seniors I work with, you try to recreate solutions you like at those smaller shops. It may not be identical, but you know what's possible.
I came into a company that didn't have a system to manage errors. At my old job, errors would get grouped automatically and work can be prioritized through the groupings. The new company only handled errors when they saw it, by word of mouth.
Immediately went to work setting up a similar system.
There’s also a whole industry of ex-Googlers reimplementing Google tooling as SaaS services to sell to other ex-Googlers at other companies.
There’s even a lookup table: https://github.com/jhuangtw/xg2xg
(some of those are open source projects, some are SaaS services)
Damn that sounds sick
The source control was so smooth and pleasant that it convinced me that git isn't the be all end all, and the general developer focus was super nice, but some of that tooling was pretty janky, poorly documented, and you had no stack overflow to fall back on. And some of it (like EdenFS), really felt like it was the duct tape holding that overloaded monorepo together (complete with all the jankiness of a duct tape solution).
What you can do with 84000 employees
And kinda horrifying. If something goes wrong, no Google, it's straight to IT
There's probably specific ticket queues and wiki/doc spaces for each support team.
Problem with an app? Send it to the internal dev/support team. Then if needed it gets routed.
Because Facebook is a terrible company that can't even build a functional website. They think they know better than the entire industry, yet can't get basic features like browser history, link sharing, back buttons, or even comments and zooming working. Fuckin idiots.