As a rule, developers love coding, solving problems, and coming up with ingenious solutions. But most have a thousand and one different distractions taking their focus away from the work they enjoy, breaking up their workflows, and making it difficult to get development done. Mel Chua, front-end engineer for Zenhub, was a project manager in a former life. “My thing was always trying to play defense for the developers,” he says. But not every development team has a linebacker covering for them, and assaults on their time are usually multi-pronged.
We spoke with several developers from the Zenhub team and surveyed another 30 developers working at different companies, across various industries, on their productivity habits. The following insights are real problems real developers around the world are facing today. While many of the issues they touched on appear unrelated, they often share underlying causes. Fixing those causes is the best — and often the only — way to clear those hurdles for good.
1. Unnecessary and Poorly Scheduled Meetings Eat Time
The most efficient meeting is the one that doesn’t happen. So, the first step to running a good meeting is making sure it’s necessary to have one in the first place. There’s nothing duller than ending up in “a meeting that should be an email,” as one developer says.
Many developers’ problems with meetings have nothing to do with the meetings themselves, but how they’re scheduled. If their work is constantly being broken up by meetings, even useful ones, they lose those long, contiguous stretches of time they need to be productive.
Features like Zenhub’s planning poker, where everyone can vote on story points on their own time outside of a meeting, help eliminate meetings that interrupt developers’ focus. If the estimations line up, there’s no need to meet. And developers can provide their estimates on their own time when it’s convenient for them. After all, the best code is written when developers are given the time they need to write great code.
2. Unclear and Redundant Communications Create Confusion
One of the great joys of working from home is getting to wear the business mullet: work on top, party on the bottom.
But working from home can be a double-edged sword. Developers get bombarded with messages because nobody can see how busy they are. In-person signals developers previously used to show they are in ‘do-not-disturb mode’, like putting on big headphones and their sweater’s hood up, no longer work in the digital world. Tools can help by letting you set your status to busy, but messaging tools often end up turning into a “big productivity sink,” says one developer. “They make it too easy to get derailed.”
When information is centralized, however, a lot of that communication becomes unnecessary. So do meetings. Tools that bring disparate data points together into intuitive interfaces let developers focus on developing.
At Zenhub, we keep our source of truth as close to the code as possible. All requirements, updates, and communication are stored right on the issue, so developers aren’t running to additional apps on a treasure hunt for context. This is also great for product folks, as they don’t need to chase after developers for status updates in additional tools.
Another developer mentioned that “creating an actionable task from a higher goal” can be an exercise in frustration, especially when stories are too vague or goals aren’t clearly defined.
While that’s unavoidable, at least if all the information is in one place, it’s easier to correct and work on the story once it becomes clearer. Plus, if the updated information automatically propagates, there’s no need to send a mass email and less potential to “reply all” to it.
3. Outdated and Ineffective Tools Slow Development
Nobody would be surprised if carpenters had a hard time doing their job with rubber hammers or blunt nails. “Slow development tools, computer, internet, hardware devices, build systems, and general office software” are all sources of frustration, says Zenhub developer and Head of Engineering, Ev Haus. “If things are getting in my way of cranking out code, it frustrates me and slows me down.”
To put it bluntly, developers don’t want to use tools that don’t work and make their lives more difficult. Ask any developer about a tool they find frustrating to use, and they’ll provide you with many points on how they would and could have built it better.
Choosing the right tools can be just as important as having powerful ones. Even more so. Tools like Zenhub’s Workflow Automation grease the wheels when tasks change hands. And roadmaps help with compiling epics into one super-project that shows developers the big picture, who’s working on what, and how far along they are, and provides the answers to a lot of questions in one neat package.
4. Tedious Tasks Tyrannize Time and Trample Thought
Like any other group of professionals, developers have their own quirks and personal preferences. And they don’t always want to work nine to five. Unfortunately, the way their workflows are structured often doesn’t align with how they work. One developer says, “I often find myself coding in the evening because then all the meetings are done.”
Every developer has also had a very productive couple of hours spent staring out the window, gears turning. These long stretches of silence and stillness are as critical as stalking time is to a cat hunting a bird — though usually less bloody.
But whether they’re coding or thinking, busy work is annoying for developers. So, tools that help eliminate tedious-but-necessary tasks give developers time to concentrate on crucial aspects of software design.
For example, in a past life, Mel spent much of his days either in meetings or copy-pasting acceptance criteria from one tool to another. It was dull work but needed to be done to keep everyone on the same page. Today, Zenhub centralizes information for him so he’s always up-to-date with what the project goals are. Better yet, all of this information is available in GitHub, right where he works. That way, he doesn’t waste time developing something unnecessary or lose time that could be dedicated to working on deliverables.
5. More Sources of Truth, More Problems
The meetings, the messages, the tools, the workflows: they’re all ways to get to the truth. But if you have acceptance criteria in a ticket, a design that doesn’t match those criteria, and a product manager with a bunch of notes that don’t match either, Mel asks, “how do you align all those and keep them in sync?”
Well, with a lot of meetings, messages, confusion, and frustration. Developers are dragged into discussions, deliveries are delayed, deadlines pass, and developers get discouraged.
When an entire workflow is structured around one source of truth, other problems tend to disappear. Meetings are streamlined and less frequent because everyone is on the same page. Messages become fewer and further between.
Having a one-stop shop like Zenhub to hit up for the source of truth “helps people focus on more creative things,” says Mel. For developers, that’s really what it’s all about.
Talk With a Community of Truth-Seekers
Developers are a creative bunch, and when faced with tough, unfamiliar problems, often the best thing to do is to collaborate with other developers. The Zenhub Community is always bouncing around ideas of how to work better and tackle new problems. Join the conversation, share your ideas, and maybe get a few new ones.