programmingby Dev · 380 words · 633 views
ENABLE_NEW_CHECKOUT
A feature flag that had been true for six years, a comment that said TEMP, and one customer in Belgium. Short.
The feature flag was called ENABLE_NEW_CHECKOUT and it had been set to true for six years.
Tomas found it doing a cleanup ticket that nobody had wanted, the kind that gets assigned to the newest person on the team as a sort of hazing that everyone pretends is onboarding. Remove dead flags. There were forty. Most were easy. This one had a comment next to it: "TEMP - remove after rollout - J."
J had left. New checkout had rolled out in 2019. The old checkout, the one the flag protected, was still in the codebase, eleven hundred lines of it, wrapped in an if statement that had not been false in the lifetime of two laptops.
"Just delete it," said Maya, when he asked.
"Both branches?"
"The old branch. Then the flag. Then the if."
"What if something depends on it?"
Maya, who had been at the company nine years, gave him the look of a woman who has heard that sentence before. "Then we'll find out, and it'll be quicker than reading eleven hundred lines."
He deleted it. Tests passed. Staging worked. He shipped it on a Wednesday afternoon, which the deploy calendar said was fine.
Thursday morning, one customer emailed. One. A company in Belgium that had, it turned out, been hitting an old API endpoint directly, one that lived inside the old checkout branch, for six years, without anyone at either company noticing. Their integration had been written by a contractor in 2018. Nobody there knew how it worked either.
Tomas restored the endpoint. Just the endpoint, not the eleven hundred lines; he wrote a small shim that made the old shape of request go to the new code, which took about an hour and forty lines. He emailed the company in Belgium and told them, politely, that the endpoint they were using would be turned off in ninety days and here was the new one.
They replied in French and said thank you and asked if the old one could stay until Q3. He said no. Maya, cc'd, sent him a single thumbs-up.
He closed the ticket. Thirty-nine flags to go. He found himself looking at each one a little longer than before, the way you'd look at a rock before you turned it over.
How hot is it?
Not rated yet
#feature-flags#tech-debt#short#fiction
Themes: programming stories · feature flag stories · short stories · software development · legacy code · hidden bugs · customer integration · programming mistakes · tech horror stories · software engineering · hidden issues · cleanup tasks
Comments
Loading comments…