Just another angry dev


A collection of thoughts


___

THE ASS WIPING TEAM

At one point everyone knew how to wipe their own ass. But a very smart and very qualified manager came along who noticed how frustrated their developers were from having to wipe their own ass. They could instead spend this valuable time writing code!

And so, The Ass Wiping Team was born. It started small in numbers at first. Just one or two ass wipers. Of course, it wasn't actually called the ass wiping team. It was "Team Alpha Readiness", which sounded a lot cooler, another great suggestion by the same manager. He roped a few bright eyed engineers in, "you'll get exposure to modern languages, frameworks, cloud technology, what more could you ask for!" What he left out was that this exposure was really you looking over the shoulders of the developers at their screens as you, of course, were wiping their asses.

"Wow, Jerry, those network diagrams look really cool! Maybe you could teach me about VPCs some time?" You ask in between the farts and logs (both the ones coming out of his ass, and the ones scrolling across the screen). You wait for an answer, but Jerry just farts again and deploys a misconfigured service to prod. It's very important the developers also don't leave their desks to shit because that's more valuable time they could spend writing code. "Alright, Jerry, squeaky clean!" You pick up the shit bucket and shuffle over to the next developer.

Now, there's really very little control an ass wiper has over how clean a developers asshole stays. But the metrics set up by the business require all assholes to be spotless at all times (tracked through the Asshole Cleanliness Index - or ACI). A clearly impossible task, one can only ever reduce the amount of time an asshole is dirty. Your manager assures you that hitting these targets is the responsibility of the devs and they're purposefully set high so that we hold ourselves to the highest standards possible, but whenever management complains about the smell, the devs immediately point their fingers at... you. Which makes their manager mad, and their managers manager, and their managers managers manager. Their managers managers manager is your managers manager, which means... your manager has to make it your problem, despite what they said. Did I mention this is a very flat organization?

This creates another issue. The time it takes to clean an asshole (mean time to clean asshole - MTTCA for short) is largely dependent on the diet of these devs. But you need to keep it low so that you can keep the ACI up as high as possible. So during your wiping sessions, you might ask that they increase their fiber intake, maybe eat less fast food, reduce overall calorie intake, cut dairy out. All reasonable suggestions. But... the ACI metrics are really not their problem, they're your problem. So the explosive messes continue.

This was all somewhat sustainable when the number of people you were supporting was small, but management is noticing your team is a bottleneck to developer productivity. As they hired more engineers, your day has started to fill up more and more with lugging the shit bucket around, and ass wiping. The number of shits taken grows linearly with the number of engineers, after all (MTTCA = O(n/w) where n = number of devs, w = wipers). So at this point, you now have periods where developers are unable to code because they have to shit so badly, and you're running around as fast as you can with the shit bucket. Not a good look for you.

Things start to get worse. Your product has clients now. When there's an outage at 3AM, Jerry gets paged. But Jerry might have to take a shit. So you get woken up too, just in case. Since you're always around, people start to expect more than ass wiping from you for some reason. As you're catching splatter in the bucket, Jerry's manager starts to ask you details about the issue. "The error says the role account doesn't have permissions, but we configured it across the organization using Gargantua. How do we make sure the permissions are in sync in AWS?" he asks. This seems like the right question, and you have some familiarity with Gargantua (you wipe a lot of devs who use it). You show him how to get the permissions to sync, and he's very grateful. Now every time there's an outage, you're looked at as more than just an ass wiper. You're also expected to triage, and advise them on how to resolve the issue, meaning you often have to dive into learning the details of how their application works. In between the ass wiping, that is.

These late nights and constant emergencies are wearing on you, so you try to make a difference. "As long as you can keep up with your ass wiping duties, I encourage you to take the time to improve other things" your manager says. So you focus on the parts of the system you know best (one of the devs has IBS so you spend a lot of time around him). You come up with a plan to improve their stability, get consensus among the owners, contribute code to their services and apply the changes to their infrastructure. It worked! You see far less outages from this team now, less midnight ass wiping. But you quickly realize that while you were busy improving this area, the other areas have gotten worse. Much worse. It makes sense, you're outnumbered 25:1 developers to ass wipers at this point. And now that the ass wipers are expected to triage for them, there isn't much incentive to think through the implications of any changes they make to their applications.

How did these expectations ever become the norm?

The ass wiping team is now the hardest team to hire for. But it also has the highest turnover. And the best ass wipers always leave...

This team goes the direction all ass wiping teams go. Unable to entice any more victims to join, the team size slowly dwindles down to zero.

The developers now have to relearn how to wipe their asses.