The power of asking questions in Software Development leadership

Published on

image

Photo by AJS1 on Pixabay

This article was inspired by Jessica Kerr(@jessitron) Systems Thinking for Developers talk. I’ve seen it at Neal Ford’s Software Architecture Supersteam but you can also find it elsewere; the one at Devoxx Poland 2021 is also great. Make sure to see it as it is a great talk and gives many more insights into systems thinking.

As we all feel and as we’ve been told a million times, in the realm of software development, leadership extends far beyond setting goals and issuing directives. True leadership requires a delicate balance between technical expertise and the art of effective communication. Among the tools that a leader has at his disposal, the power of asking questions stands out as a remarkable catalyst for growth, learning, and team cohesion. However, the true essence of these questions lies not only in the answers they elicit, but also in the emotions and motivations they invoke within the team itself.

Let’s take a look how asking questions may make a better leader or on the other hand how asking wrong questions may erode one’s status.

Before we dive in I need to make a statement about the term “leader”. I use it a lot in this article, partly because my limited vocabulary and partly because I needed a term that describes not only a role but a state of mind. You don’t need for someone to give you a role to be a leader, you don’t need to be a Software Team Leader or a Lead Software Engineer. You can be a leader in any position. And maybe the following few words may help you achieve or consolidate those traits.


Consolidating purpose

Asking questions is not only about finding the right answers; it’s about establishing an environment where team members feel valued and encouraged to contribute their insights. This is where the importance of questioning comes into play. By thoughtfully framing questions that promote exploration and reflection, questions that reinforce the team’s purpose, leaders can nurture a culture of continuous improvement and trust.

For instance, consider the scenario of prioritizing clean code versus speedy development: A leader always talks about how clean code is important and how the team should focus on writing code that is easily understood, but then consistently inquires about the completion timeline with questions like “When will this be done?”, “Why is this taking so long?”. Team members might (and will) understand that expedience takes precedence over craftsmanship no matter what was previsouly stated. In no time all that talk about having clean and well written code will turn into empty words, a situation from which it will be very hard to come back.

On the other hand, if the leader asks about the strategies being employed to maintain code quality throughout the development process, a message is sent that proficiency and quality are highly regarded. Questions like “How do you feel about the quality of the code?” or “Is there anything you will change about our initial decision?” will have a greater impact and team members will know what the leader’s see as the team’s priorities.

Of course this brings into discussion the old “Technical debt vs. Deadline” dilemma. Asking the right question will not completely solve such issues, but will definitely help establish the team’s culture.

Encouraging Open Dialogue

Asking questions that enforce the team to answer in a binary way, with yes or no, will always bring a sense of tension and will discourage any further discussion, loosing in this way what may be very valuable on the long term. Leaders who prioritize the emotional impact of their questions, encourage open dialogue and a sense of safety within their teams. When team members feel comfortable expressing their concerns and ideas, they are more likely to be more creative and innovative.

By posing questions that acknowledge the complexities of a task rather than demanding quick answers, leaders show empathy and respect for their team’s expertise. For example, asking “What challenges do you see in maintaining both speed and code quality?” invites a collaborative exploration of potential roadblocks and solutions, rather than boxing the team into a binary choice.

Giving Ownership

Empowering questions encourage team members to take ownership of their decisions and overall work. When people ask questions that challenge assumptions, explore possibilities, and encourage critical thinking, they instill a sense of ownership. And ownership will always, always will be better than the old mere compliance.

Instead of asking “Can you finish this task by the end of the week?” one could ask, “What steps do you believe are necessary to ensure this task’s completion in a timely manner?”. This small rephrasing transforms the question from a directive to a exploration of strategies, giving team members autonomy to devise their own plan. Team member will feel valuable and not just a management’s tool.


In the already complex landscape of software development, we’re thought that asking the right question is very important to get the right answer. But as we can see, asking the right questions may also be a powerful instrument for cultivating teamwork and team growth while also promoting each individual’s contribution. The importance of these questions extends beyond the immediate answers they solicit. It lies in the emotions they stir, the conversations they spark, and the cultures they shape.

People who acknowledge the power of such questions as more than information seeking tools will cultivate a work environment atmosphere where team members are motivated to contribute, collaborate, and excel.