Developers are a key component to the success of your business. It doesn’t matter if your company sells software or uses custom-built software to get things done, the heavy lifting of bringing that software to life is on the shoulders of your developers.
To that end, you might have spent a large amount of time and effort recruiting the ideal team. You have superstars on your payroll that can deliver the goods to help make your company run more smoothly and efficiently and even turn a profit.
At first, the team runs like a well-oiled machine, able to produce far beyond your expectations. Your developers are efficient, happy, and collaborative.
Everything is going exactly as planned.
Until it doesn’t.
At some point, one or more of your developers will grow discontented with how things are. That feeling could easily spread throughout the team until everything falls apart.
Why did this happen? Probably because you weren’t paying attention to DevEx.
DevEx stands for “developer experience” and focuses on how developers think/feel about and value their work. At first blush, you might assume that because you’ve given everyone on the team all the tools they could possibly need, you’ve taken care of DevEx.
It’s much more than that.
On any given day, developers have to deal with interruptions, impossible deadlines, very challenging problems, friction with management, issues with code, tools that aren’t right for the task, budget issues, and a never-ending supply of tasks. Any one of these things can upend a developer’s progress and productivity.
There’s no way around the fact that development work is not easy.
Consider this. You might have managers who feel the need for constant progress updates. Instead of checking the project’s Kanban board, a manager might feel better about popping in to visit one or more of the team members. Each time that manager does a pop-in, it might only be 5 or 10 minutes. That doesn’t mean, however, that a developer has only experienced a 5 or 10 minute setback. You see, developers get into a flow. When that flow is broken, it takes time to ramp back up. So what was, on the surface, a 5 or 10 minute sidebar could easily wind up being a 30-minute disruption in productivity.
Should those interruptions go on throughout the day, they add up until deadlines become more and more challenging to meet.
Until you really give DevEx the attention it deserves, you run the risk of seeing productivity falling dramatically behind.
But how can you easily improve DevEx? You might be surprised to find out it doesn’t take all that much effort. Let’s examine three key aspects you can focus on to ensure your company’s DevEx is strong enough to retain those star team members.
Improve Communication
This one is huge, and it doesn’t just apply to having all the tools necessary to make communication between team members and teams possible. When we talk about improving communication, we’re also talking about improving the lines of communication.
If you have managers that fail to give regular updates or have trouble communicating ideas to developers, serious problems are going to arise. Because today’s businesses have to work at such a high level of productivity, even the slightest hiccup in communication can cause a cascading problem.
Everyone in your company needs to not only have the tools for communication but also must be empowered to communicate properly. Every member of the chain should know who to talk to, how to talk to them, and when communication is allowed.
So, it’s not just about deploying Slack and being done with it. It’s about deploying the platform, creating the necessary workspaces and channels, and making sure everyone involved knows how to use the tool and how to communicate with everyone involved.
It’s also important that everyone involved be open to constructive criticism. This can be challenging with certain types of developers. When ego gets in the way of communication, the resulting problems can be insurmountable. Because of that, you want to be certain everyone involved understands that communication means not only being empowered to talk but also hearing what’s being said and not reacting defensively.
The lines of communication in your company must always flow freely.
Reduce Mental Stress
Being a developer is a stressful job. Not only can the job itself be complicated but also the added stress of release deadlines can compound that stress until it becomes overwhelming.
To avoid stress from growing out of control, it’s important that you do everything in your power to keep it at a bare minimum.
That’s not always an easy task but neither is it impossible.
Here’s the best way to approach this. First, you must understand the single most important job on the shoulders of your developers is to deliver value to customers. Those customers could be consumers, other businesses, or even departments within the company itself.
Once you understand the developer’s most important role, you can then remove anything that hinders their ability to deliver value. That might mean extraneous tasks (such as billing, timekeeping, or documentation) that compound their workload. One thing to keep in mind is the more tasks you give a developer that aren’t directly related to development, the more stress could become a problem. Think about it. Developers already spend many hours writing code. If they have to add extraneous work to that, they will grow disillusioned and could even seek employment elsewhere.
This also relates to the communication issue. The more open the lines of communication are in your company, the less likely stressors will build up. Why? Because your developers will feel free to communicate to middle or upper management exactly what is stressing them. It might be deadlines, a lack of tooling, insufficient help, or even not enough time for lunch. Do not discount even the smallest things. Remember, you can have the tiniest pebble in your shoe, but when you walk on it long enough, it will feel like a boulder.
Encourage a Productive Environment
When you think of a productive environment, a room filled with cubicles with developers pounding away at keyboards might come to mind. Did you know that to some people, a cubicle is the most unproductive environment to be had? On top of which, a cubicle farm discourages communication because everyone can be heard.
A productive environment is one that allows those involved to get into their zones so they can create more effectively and efficiently. That might mean offices for each developer, such that they can close their door, put on their music, and get to the business of writing code. Many developers prefer to work in solitude, which cannot be had in a cubicle.
That doesn’t mean you should “play favorites.” If you have developers who’d prefer to work in the privacy of their own office, but your company doesn’t have the facilities, consider allowing them to work from home. For those developers that prefer a more open environment, let them stay in your open-concept office where they can hear and be heard at all times.
The goal here is to understand what your developers need and want. Although you don’t want to coddle them (giving them everything they demand), you certainly want to create an environment they deem productive. And that is key. You want to create a productive environment according to the needs of your team, not some bulleted checklist you found online. If you’re serious about improving DevEx, you will understand that it’s unique to each business, team, and developer.
To really get DevEx right, you not only have to improve communication, reduce stress, and create a productive environment, but you also must understand the developer. To do this, you’ll need to allow your team members to offer you feedback on their workflow and be willing to take in the feedback and use it to make improvements. Of course, not every piece of feedback is valid. If you’re unsure, think of it this way: Something voiced by a single developer could be nothing more than an opinion. If that same something is voiced by multiple developers, then it’s a problem you must address.
The important thing here is to ensure your developers have agency and that you make sure they know you (and your management team) will hear them when they offer input.
Just remember, happy developers can make for a productive and profitable environment, and DevEx is at the heart of it all.