How Corporate Leaders Can Help Software Developers Reach Their Full Potential
This article was originally published in Forbes.
There’s an image many have of software developers—they sit in a dark room and code endlessly. But unfortunately, more often than not, developers don’t have the leeway to code in an efficient, uninterrupted manner.
Having been a software developer myself, I’ve seen firsthand how most developers’ time is wasted—often due to poor communication from management or inadequate tools.
A survey conducted by Zenhub, a productivity management tool for software teams, gives further insight into this issue. During January and February 2022, Zenhub surveyed 252 developers. They found that about “half of all developers spent less than 20 hours per week on software dev work” and almost half of them “spend five hours or more in collaboration apps” weekly.
The study also found that while developers typically spend less than 5 hours in meetings per week, those meetings tend to be broken up throughout the day, preventing long periods of focused work.
When developers’ productivity stalls, it slows down businesses, too. Products ship slower, negatively impacting a company’s profits. The good news, though, is that if you’re a corporate leader, you can take several steps to increase the productivity of your developers and in turn, get your product to market faster.
Listen To Your Engineering Team #
Software engineers are the people at your organization who are coding every day, which means they know exactly where the points of friction are in your product. Just look at what happened in 2021 at Uber, my former employer. As the New York Times reported, staff site reliability engineer Cristian Velazquez and his teammates “diagnosed a data processing flaw that could’ve stopped the app from working correctly. Then they developed a way to clear memory more efficiently, saving the company time and money.”
It’s vital to create a culture of open communication where software developers know that executives care about them and their ideas and opinions. One of the best ways to create such a culture is to regularly take the time to sit down with your software developers, either one-on-one or in a group setting ( ideally both), and listen to what they have to say. You’ll get insights that can help you boost productivity on your engineering team, refine your product, address more customer pain points and nip problems in the bud.
You should also remove any bureaucratic communication processes that stifle inter-departmental communication. Your company’s other departments, including product, marketing and sales, would benefit from the input your software engineers provide as well. When information travels the shortest path possible, that’s when the best ideas can form.
Create A Culture Of Transparency #
In my experience, companies with the most transparency have the most productive software engineering teams.
The reason boils down to microdecisions, which Thomas H. Davenport, the cofounder of the International Institute for Analytics, described in the Harvard Business Review as “small decisions made many times by many workers at the customer interface.” These microdecisions, according to Davenport, can be “the difference between sloppy and effective execution” and “profit and loss.”
Software developers can make the best microdecisions possible when they’re in a work environment with high transparency. They’ll know exactly what’s at stake and can brainstorm solutions from that baseline knowledge, as opposed to making decisions in the dark.
Give Software Developers Opportunities To Work On What They Want To Work On #
Many times, developers notice a problem in a product or realize there’s a better approach but have to prioritize other tasks due to directives from management. Give engineers a week or two to work on what they want to work on, and you’ll find that they will often tackle issues with your product that go beyond the surface.
Facebook, for example, is well-known in the tech world for its hackathons, which have resulted in many updates and new features. However, you don’t necessarily have to host hackathons—you could implement one day a week or every two weeks.
When software engineers have uninterrupted, unstructured time to work alone or collaborate with each other on ideas, they’ll generate solutions that they might not have come up with as quickly or at all if they were sitting at their desks tackling to-do lists during work hours.
Provide Software Engineers With The Tools They Need To Succeed #
One of the biggest productivity lags developers face is having to deal with an incomplete production cycle. They code and debug on a local environment, but they are essentially not getting the full picture of what they are developing.
Providing developers with a cloud-based software development environment, like the one my company, DevZero, offers, can significantly boost their productivity by giving them a complete view of how their code will execute in a mirror of their production environment. Of course, various product offerings from AWS, GCP and Azure can be stitched together to provide consistent development environments.
And of course, as a bare minimum, software developers would benefit from a version control system such as GitHub and an integrated development environment (IDE) such as JetBrains.
Avoid Misconceptions About Software Engineers #
At the start of this article, I mentioned that there’s a common perception of software engineers coding endlessly in dark rooms. And while some software engineers do prefer that work style, many don’t.
Software engineers, like employees in other departments, join a company to do good work. And a major element of being able to do good work is having opportunities to connect with other people and exchange ideas. As a leader, it’s vital that you encourage people working in different disciplines to interact with each other, so they have a good grasp of what’s going well for the product and company, and what areas need improvement. As a leader, when you set an example by encouraging all team members to interact on a day-to-day basis and after hours during company outings and the like, you’ll set a better stage for software developers to innovate, iterate and create the technology that will carry us into the future.