Tis the season. Instead of the usual “gifts for the programmer in your life” top ten list, though, let’s talk about what developers really wish for. Gifts that truly keep on giving all year long.
Yes, it’s a stereotype, but many developers simply are not social butterflies. We like to work over in a corner with headphones on, all the better to block out the world while concentrating on writing code for applications that actually work. The trouble is those pesky users/customers who keep busting in on our happy programming party of one with their “requirements” and “issues.”
So, can’t we please already get neurally networked machine learning to, like, automate out the human element in our workflow? Say you’ve got an application functionality request. Great! In our dream system, AI will have already alerted us through a higher level of centralized intelligence. Now please leave us alone to make that thing you want.
2. A Better Jira
Managers love that magic executive level dashboard, but anyone who has to actually use Jira every day probably has…other feelings. So I would say tops on the holiday wish list of pretty much every dev I know is a brand new version of Jira that is faster, simplified, and actually addresses its many long-standing issues.
Slow: Have you ever just sat there feeling precious minutes of your life tick away — time you will never, ever get back — when you attempt to use Jira? First, counting the seconds it takes to actually open the Jira page… then hit the “create ticket” keyboard shortcut… find/select your project… wait for it to load the fields… Seriously, empires have fallen in shorter time frames than it can take to access the Jira workflow.
Overcomplicated: Atlassian itself recommend licensing a third party client to actually use it. The painfully slow, non-responsive design has, to put it nicely, a lot of quirks. So many that people are actually making money producing platforms to overlay on Jira and make it easier to use. Which only makes sense. The best way to describe the un-intuitive design of Jira’s UI is that, if Voldemort had hidden his last Horcrux in Jira, he would still be around.
Got Issues?: Anytime you have an issue with Jira and go looking for support, it’s basically guaranteed that you’ll find a ticket from two or three or five years ago when the same problem was also an issue.
So yeah, Jira legit sucks for the reasons above. However, I’ve slowly begun to realize that we are kind of hating on the messenger here. As in, Jira is a tool, and it’s most def got issues. But, as in many other life situations, the most vexing problems here arise not from tools themselves but how they’re used.
In other words, we are using Jira’s features to create our own worst problems. A project management tool like Jira is burdened with customizability. The more you create custom tools to make every user happy (and to make whatever task they have right now easier, never mind what will actually be needed a month or a year from now), the more bloated and inflexible the UX becomes. This gets particularly amplified when you work in a system that still follows a waterfall mindset, i.e., a hierarchical workflow where projects and leadership “flow” from the top down to those of us actually building the thing. Unfortunately, those at the top of the waterfall want to swim with the cool kids 😎 so we need to give them floaties. And this is where the bloat truly blows up: a hefty chunk of that customization load lies in the inevitable C-suite translation layer. The nice shiny big-button dashboard that is supposed to make it easy for the non-technical team members to also use Jira.
3. Real DevOps
So besides a magically improved Jira off-limits to anyone who doesn’t know what to do with JRASERVER-29184, Resolved: Won’t Fix, the other thing on my developer wish list this year DevOps actually becoming more of a thing. DevOps is quite the Business Buzzword these days, like I have to tell you, and many companies are remaking themselves, at least on paper, as “more developer-led.” As an idea, it’s awesome — a magical realm where we actually all work together as one team instead of two opposing forces. Consider that a critical part of development lies in understanding how what you’re building could fail and, once recognized, how to design around those obstacles. The best way to do that is for the people who design and build work together with the people deploy and support it all. They know where the potholes are. It just makes sense, people.
That said, I have yet to work on a DevOps team so I can only hope this is a real thing and not just more hype along the lines of “We are smashing our silos and refactoring our human capital to work in Agile scrums.” Whatever the fuck that means. I want to believe it’s really a real thing, in that organizations are actually moving to this and it works… but I’m having trouble picturing it in the real world. Dev frustration with the Ops side of the equation arises from the fact that, while we’re producing new software and systems that do new and exciting things, they have an overwhelming desire to try to fit it into their operations model with their fleet of processes and policies, thereby thwarting our attempts to do stuff differently and innovatively. It’s like their job to pee in our pool. Put our two competing goals on the same team and… well… you end up with something like Jira.
No matter what side you’re on, though, we all share the same pit of stomach dread when hearing the words, “Update your tickets, everyone!”
4. Gimme a Reason
Following in that spirit of unity, here is my gift to you: Programming Excuses.
When caught off guard by a pop-quiz project status check, just hop to this site to auto-generate a plausible-sounding explanatory phrase like “That code wasn’t meant to go into production” to buy you precious time to cover your ass. Seriously, there are tons of one-line lifesavers on this site, just keep reloading until one feels right. “My time was split in a way where I couldn’t do either project properly” may just be my new favorite get out of jail free card.
The beautiful thing here is, it does not matter whether you are Dev or Ops; every one of these excuses works. Merry merry!
Feature image via Pixabay.