Wojtek is a coder, trainer, and seriously experienced Software Engineer. In his experience, the healing process for a struggling dev team begins on the inside. Though it's hard - he enjoys working with these sorts of teams the most.
Short on time? Here are 4 key takeaways from Wojtek on how an engineering leader to help a struggling dev team:
- When things aren't going well, the first step is always to listen to your team. You don't need to bring new ideas, but listen to the solutions they're already suggesting.
- Demystify performance for your team - educate them on how you'll measure productivity and give them the means to track it so they can engineer their own solutions.
- Unblock natural leaders. They'll be there in the team, and your job is to identify them, enable them, and coach them.
- Teams will always be overcommitted - and they won't realise it. Take your team back to basics with physical boards to focus everyone on which pieces of work are the most important.
What follows is a long form write up of the key topics we discussed in our interview.
Everything starts with coffee, a process, the morning ritual.
When a team is struggling to find a groove, these small moments are critical—why, because they're not spent in boardrooms or scribbling on whiteboards, instead, coffee is a moment of reflection.
It might seem trivial, but that early morning routine matters; if it's grinding the beans yourself or standing in line at coffee shop. For Wojtek Ebertowski, CTO at Codility, the ritual of morning coffee is his zone, it's his time to reflect, to think about issues critically, before diving into the day's work.
Every morning, he brews coffee and waits. As CTO, Wojtek works with many teams, but he can’t lead them all. It’s his job to pay attention to how teams are working, to notice what others might overlook, and each morning his schedule is dedicated to one thing: coffee and conversation. Whether someone approaches him about training methods or an upcoming sprint, that first cup of coffee is a time when guards are down, and solutions can be found through an informal chat rather than trying to dig into a problem that may not be as deep as perceived.
Solving problems takes time, but if the work is put in, solutions are around every corner. One of the things he's passionate about is helping make processes better, make people better or help fix the broken stuff no one thought were worth saving. Over the years, Wojtek established a few mantras, and many of them helped his team evolve in ways never expected.
"When I join a team, I come into it just wanting to code. But it's hard for me to shut up and do my work when I see glaring issues. But the thing is, I don't want to step on anyone's toes, I want to work with the team, not make them follow my exact orders, changes need to be organic."
Implementing changes or establishing a cultural pivot takes time, it's never an overnight thing, so Wojtek knows this is chess, not checkers, so the first thing he does is listen.
"It's not about bringing new ideas; it's supporting the people who already have solutions"
When resolving issues, Wojtek starts with asking questions. People love to vent, but they also love to suggest alternatives when they've got a better workaround for their issue already planned in their head—even if it's only in theory. By approaching problems this way, he's found answers in unexpected places—by listening to pet peeves, suggested alternatives, and then presenting the team with a solution based on the original ideas in the first place. It seems easy but getting here took a lot of trial and error.
"I used to think devs were either good or bad, but you can't build a good team from bad devs, and that was an initial Catch-22. But, over time I realized there's talent in all people. It's working to find a solution, not an end game." In order to help teams thrive, he started looking for simple ways teams could bond over wins or find success in unexpected places. But, it took paying attention to how some teams were working together, not what they were shipping weekly. What Wojtek found was sometimes, even the best teams could use a little tune-up.
Solving the mystery of productivity
Remember the old saying, "knowledge is power," there's a reason it's stuck around: You can only optimize what you measure. For many teams, figuring out how to streamline and optimize lead time is a critical step toward productivity. It’s easy to get caught in the weeds when documenting releases, but by setting different goals, it could boost productivity with a few tweaks.
"Lead time is how long it takes for an idea to develop into actual product and hit the market."
It's an useful metric because it's easy to be motivated by—and watching it only helps the team push forward. Wojtek and his team measure lead time once designers or product owners start shaping the feature, ready to pass it to development. Wojtek keeps an eye on specific mile markers along the way, keeping an eye on how long phases of development last. This way, by keeping an eye on how long things are taking, it's possible to spot time wasted.
Productivity can also be measured by deliveries, measuring things shipped.
This keeps the focus on shipping, simplifies measurement, and promotes working on smaller projects which puts points on the board along with end-user feedback.
"The thing to remember is that these metrics aren't for the management team. These are for the dev team to learn from."
By studying the data, the dev team can make changes and improve things for more significant impact. If there was ever an easy win, this is it.
Leadership isn't one size fits all
To get a team running at tip-top shape, it needs leadership. But, the obvious leader is blocked or isn't executing their potential. "Sometimes a leader is trying to push the team, but they're blocked. If you can unblock these people, they can be great. It's important to find and empower them."
When looking for a leader, the details are what matter. During the team's stand-up, look for the person who's ultra-positive (or negative)—the person who's vocal about what can or can't happen. Watch the team go for lunch. Who's suggesting ideas?
"If leaders are blocked, they'll find a way to show their leadership.”
Some leaders may be low key, while others might be burned out from a project not going their way. Lousy management may have crippled others excitement, it's all about defrosting them.
Wojtek has seen this before: a leader knew the team needed a new version control policy, but never got the support, and she got burnt out. “It's the manager's job to find an area where that leader can succeed and feel success. After a few wins, they'll regain confidence, and become re-energized.”
People need to see their wins
If there's one thing all teams could benefit from its learning to be more agile. If a team is struggling with accomplishing goals, use a Kanban board for visual proof. Stick everything in there from meetings to checking emails. Seeing the "done" pile build up is good for team confidence, but also people love checking boxes on what they've finished.
Another side of this coin is that by putting everything in the Kanban board, people will see how much they're trying to pull off in a week. Usually, it's clear that they have too many things going and it might be time to shut a few projects down.
Having too many things to do is one of the biggest issues in teams. By working together to keep systems in place to optimize work and keep projects that are meaningful on the board, it could erase a lot of natural roadblocks. It's a simple tweak, but ultimately one that could pay off.
Wojtek is always looking for new ways to help teams do more, to find the hidden productivity gems. It's something he's passionate about, but also, a never-ending quest that's fine by him, there's plenty of coffee to drink.