About ten years ago Facebook was incredibly open internally. As an employee, you had access to all code and internal comms. You could ask questions to Zuck every Friday. You could file tasks for any team and tell them to fix their product. You could even send Pull Requests to change any product code.
One team built a hook system called Butterfly. It allowed you to listen to events within the company and trigger certain behaviors. For example run a CI job for any code changes matching a specific path, or post a comment in your team’s group every time a deploy finished.
I used it for lots of things. Over the years the signal-to-noise ratio for company-wide posts worsened. The “FYI group” turned from “this is company defining news” to “you can ignore this except one post every two weeks”. Butterfly allowed me to filter notifications based on who wrote them or keywords in the post. I used Butterfly to notify me when people were messing with my code or to automatically comment if a bad pattern was spotted in code.
There was one use case that was more interesting than any other. As I mentioned, employees back then had access to lots of internal comms. The Tasks tool, Facebook’s internal issue tracker, let you see what every team was working on.
People leaving the company followed a specific process to keep their company-issued phone number and transfer it to a private line. They had to fill out a form that created a task in the Tasks tool, all using the same title template.
With Butterfly, I set up a rule to send me a Facebook Messenger message anytime someone was transferring their phone number. I got one to three messages a day. This was so fun! It didn’t capture everyone leaving, and a few people genuinely wanted to transfer ownership of their phone number. I’d discuss with my team and peers who I thought was leaving days, weeks or sometimes months ahead. My team couldn’t believe how often I could predict who was leaving across the company - until I told them about my butterfly rule.
At one point I noticed the CPO had initiated a phone number transfer. I messaged my manager, skip and skip-skip manager to tell them all about it. All of us were like “No way he is leaving!”. Sure enough, two months later he left Facebook - though he came back a year or two later (not something my Butterfly rules could predict ;) ).
It was fun until HR found out and got mad at me, even though I was just looking at data everyone at the company already had access to through internal tools. I’m not sure how they found out, maybe because Butterfly rules were public within the company, too.
Around the same time “private tasks” were added to the Tasks tool for handling sensitive issues. It was a sensible feature to add, but sparked an employee backlash. Many people saw the culture “trending from open to closed”. Shortly after, tasks to transfer phone lines were made private and it became a lot less fun to use Butterfly.