TLDR: Just skip to the 7th paragraph where the story starts.
For reference, see the HN thread from a few days ago: "How to write blog posts that developers read": https://news.ycombinator.com/item?id=43503872
Edit: A few section headers might help. For example, paragraphs 2-6 could be under "Background," then add a header "The Joke" before paragraph 7. "Aftermath" might be good towards the end, too.
---
BTW, taking a joke is an important life skill, too. The people who flipped out over a silly April Fool's email need to get a life.
The whole post is very well written and worth reading. But maybe it's just me always liking a nice BOFH story.
The entire point of an AFJ is that they don't know it's a joke. As the name says, the goal is to "fool" them. They don't know it's a "silly April Fool's email".
Designing an AFJ is tricky, and the larger your audience the trickier it gets. Your friends know you're a jokester; they figure it out almost immediately. When you send it out to a bunch of people you don't know, somebody is going to forget the date and assume you're serious -- because it's supposed to look serious.
Further, if it looks like something that might be a problem they have to solve, somebody is going to start solving that problem immediately. You don't know what's going on in their day -- if they've already got six crises going, they're not going to "take a joke" well.
The wider your audience, the more obvious you have to be. Knowing how to deliver a joke is also an important life skill -- as is learning not to blame your failure on the target.