As development teams work to ship code faster and faster, streamlining development workflows is crucial. Developers don’t just write code all day. There are other tasks developers spend time on that may be slowing them down and preventing them from doing the work that adds value to a company.
According to ActiveState’s 2019 Open Source Runtime Pains Developer Survey, 36.8% of developers spend two to four hours per day coding, and only 10.56% spend all of their day coding. Non-coding time is typically spent on tasks such as software design or attending meetings.
As the need for being more productive has grown, so has the availability of solutions to help developers be more productive and collaborate more easily.
These tools come in all shapes and sizes. There are tools that are designed specifically with productivity and collaboration in mind, such as Slack, Microsoft Teams, and Trello. But it is also common to find development tools with productivity features baked in, such as IntelliJ IDEA, CodeStream, or ZenHub.
Developers need to work together on projects often, and having a tool that makes communication easier and more transparent is beneficial. According to Mike Ammerlaan, director of Office & SharePoint ecosystem marketing at Microsoft, email isn’t a great system for this for several reasons, including that it doesn’t provide a way for people to specify how they want to be notified in threads and it isn’t a great format for recording knowledge.
Another advantage of communication tools like Slack and Microsoft Teams is the ability to create custom channels. “With the custom channels, what you can do is you can further subdivide in the processes within your developer teams,” said Ammerlaan. “So for example, [you can] have a channel for people to come by and report bugs or a channel for having post-mortem conversations after an incident, or dealing with incident response.”
These platforms also offer a number of different integrations targeted at developers so that different aspects of the development life cycle can be tied back into the chosen communication platform. “The idea is that you can bring those applications into Microsoft Teams and connect them into the conversations, connect them into the workflows, and sort of weave them into a tailored space that fits the engineering teams.”
Microsoft is also continuing to innovate the platform and extend the surfaces that developers can customize, Ammerlaan explained. For example, in November at Microsoft Ignite, the company added capabilities such as secure private channels, multiwindow chats and meetings, pinned channels, and task integration with To Do and Planner.
Apart from communication platforms, project management tools are also heavily used by developers to keep projects on track. Trello is especially popular because it essentially allows for a personal Kanban workflow that is completely customizable based on a person’s working preferences. “Trello has become my most favorite to tackle all my pending tasks in a day while maintaining a normal routine,” said Mehul Rajput, CEO and co-founder at Mindinventory. “I can classify my tasks as ‘To Do’, ‘In Process’ and ‘Done’ categories.
Peter Wilfahrt, chief digital officer and co-founder of German e-commerce agency Versandgigant, also praised Trello for its ability to help keep track of project goals. To keep himself organized, he has organized his board into “Projects,” “Next Actions,” “Waiting For,” and “Someday/Maybe.” He also connected Integromat to Trello, which adds items to Trello, even further increasing productivity.
Tools like this can end up being so central to a person’s or an entire team’s workflow, too. For example, Scott Kurtzeborn, an engineering manager on the Microsoft Azure team, explained that his team has been using ZenHub to track all of their work since the team was formed. “[Without ZenHub], it would just be a mess,” said Kurtzeborn. “I can’t imagine not managing our backlog the way we are … How has it affected our productivity? It’s kind of at the center of it, in terms of how we track our work.” Other project tracking and management software includes Atlassian Jira, Anaxi and Clubhouse, each geared to making developers more productive.
There are also things that one might not immediately think of as a productivity tool, but that boost productivity in other ways. For example, Rajput uses an app called F.lux, which automatically changes the color of his computer screen based on the current time and his location. “As a developer, I need to spend so much time with my eyes on the screen. And for me, working with tired and dry eyes is a real obstacle. So, I use F.lux to help myself remain relaxed … Warm colors help to work longer by making the work environment more pleasant and natural to my eyes.”
IDEs also fall into this category because of helpful features like autocomplete and syntax highlighting. “Most of that streamlining occurs by virtue of replacing mouse operations with keyed commands that are faster to execute,” said Jeff Langr, owner of training and consulting company Langr Software Solutions.
No-code and low-code tools also help with productivity. These tools typically feature drag-and-drop components, which allow developers or business users to easily create simple applications, often without having to write a single line of code.
Low-code and no-code are often marketed to business users, or “citizen developers,” allowing non-developers to create business applications without having to know how to write code. But these solutions can also be strategically used by developers to cut down on production time.
In fact, low-code provider Altova offers several developer-focused features in its low-code platform, MobileTogether. Its “program once, run everywhere” environment provides developers with an abstraction layer between them and the native SDKs and APIs. This helps developers cut down on time and effort by reducing the amount of code they need to write, Altova’s CEO Alexander Falk explained to SD Times.
According to Langr, productivity tools can help developers spend more time on the things that matter. “It may seem silly to worry about such small amounts of time, but they really do add up.”
Rajput recalls many days where he and his team were in the right frame of mind to do their best work, but small hindrances got in the way.
In addition to the added productivity, these tools may have other benefits, such as documentation that might not otherwise have existed. For example, Wilfahrt keeps track of his work in Trello, and by forwarding every request into a single source of truth, he can document change requests and keep track of improvements of delays. “A long-term record will allow you to re-evaluate predictions (how long will it take to implement X?).”
What do developers look for from a productivity solution?
When searching for new tools, Langr finds that tools that help with small tasks are more helpful than ones trying to help with big-picture challenges. He also seeks out tools that don’t force him into a certain workflow.
Views like this explain Slack’s popularity among developers. In the Slack App Directory, you can find a very specific app for accomplishing a specific task, but that app will still be grouped into a single platform. According to Bear Douglas, director of developer relations at Slack, the platform just surpassed 2,000 apps in its app directory, and over 500,000 custom integrations are actively used on a weekly basis.
“When you think about what it’s like in your everyday workday, I would guess that you probably use upwards of a dozen just between communication with people, writing things, your code editor, etc,” said Douglas. “It adds up quickly and I think that one of the things that has made Slack so powerful is that we’ve been the communication hub and the nexus for all of these different services.”
Wilfahrt has a similar view when looking for tools. “I love productivity tools that are easy to use and don’t require to change your current way of working … The interface and usage has to be simple but powerful,” he said.
In addition, because Wilfahrt’s goal with these types of tools is to clear his mind and limit distractions, the ability to keep track of meeting outcomes and add new data points, such as requests, improvements, critical issues and reprioritization, is a must for him.
Wilfahrt also recommends developers find one system and stick to it. “We software developers are happy to explore the newest hype and the newest promise,” he said. But changing your productivity system every month is brutal, he explained. “Implement your vision in one system, adjust it to your needs and stick to it until you find one that can do everything that your current system can plus your new requirements. Only if you can check off all those boxes are you allowed to initiate a change.”
Perhaps more important than finding the right tools is mastering them, Langr explained. “Master the wonderful tools that Unix distributions provide, but particularly master your editor, whether it be emacs, vim, or bare-bones editing in IDEA,” Langr said. “I’m always amazed at how inefficient too many veteran developers are when it comes to editing their code … Master your tools. It’s well worth the investment.”
He added that once he masters a tool, the tool itself moves out of the way too. “I can think about my real goals instead of the rote steps needed to accomplish them,” said Langr.
By implementing and then mastering these tools, developers can significantly reduce the amount of unnecessary work that interferes in their day-to-day work, and focus instead on creating value for the business.