The art of asking questions for developers


The art of asking questions for developers

The art of asking questions for developers

How to ask questions when you work as a programmer?

The best software engineers never stop asking questionsbecause they know it is the most efficient way to gain deeper insights into the projects they are working on. You should specify requirements by asking the right kinds of questions, based on the problem you’re trying to solve. If you keep raising questions, you will keep finding better answers and implementing exactly what should be done. You will never misinterpret any requirement.

If it is obvious that asking questions is such a powerful way of learning, why we hesitate to do it, why questions are so hard to ask?

Unfortunately, most developers are lazy . They assume they know all the main things they need to know and they don’t bother to ask for more. They remain certain in their assumptions and don’t event think what exactly needs to be done.

Moreover, programmers are afraid that by asking questions they will look weak , ignorant or unsure. They fear that asking questions might introduce uncertainty or show them in a poor light. In fact, asking questions is a sign of strength and intelligence , not a sign of weakness or uncertainty. Great leaders constantly ask questions and are aware they don’t have all the answers.

Finally, some people are in such a hurry to get things done so they don’t stop to ask questions because it might slow them down . They risk rushing headlong into the wrong actions.

#1 Ask open questions

When you ask a yes or a no question ( should I? , do you? , does it? , is that? ), you will, more often than not, get very short and insufficient information. You will most likely know whether something is required and must be done but you won’t know the rationale. Instead, ask a follow-up question ( why? , how? ). By using an open-ended question you get insights and additional information you might not have known existed. These questions let people give some thoughts to their answers and provide much more details.

Instead of asking:

Do you think this feature is important now?


Why is this feature important now?

Be aware why to do something instead of just what to do.

#2 Prepare to be annoying

You may have to ask the same question a few different ways before getting a response which gives you the information you’re looking for. These are likely questions not yet thought through. By asking them, you are helping others rethink what they really need.

If they appear annoyed that you are asking so many questions, it may be because they thought they had it all gone over. You just made them realize they haven’t even begun to figure it out.

#3 Don’t be a douchebag

The truth is, it is possible some people may get frustrated with the questions. Don’t let this deter you. It isn’t personal, you have a job to do, and clues you need to gather.

Explain why it is necessary to truly understand the problem. You are all here to solve it together so explain that in the long run it will likely save a lot of time. Thank them for their understanding and cooperation (even if they are being quite the opposite of cooperative).

Don’t give the impression you are trying to prove them wrong.Approach the conversation with genuine curiosity and a lot of empathy. You are both working toward the same goals here! Be as polite as possible when doing it. This shows the person you do respect what they are saying.

#4 Make sure to ask the right people

When asking a question, you have to know what you want for an answer so make sure you put it in the right context. You need to also make sure this is the right person to be asked. People like to give the impression they are decisive and in command of the relevant issues.

You may waste your time, just because you asked a wrong person and you got an invalid decision. After that, it turns out someone other has better insights into the feature and it should look like completely different, thus it needs to be totally redesigned now.

How often have you found yourself seated in front of your computer speculating about what your client or potential users think about something? How often have you used your assumption to make a point to support a recommendation about what you should do in terms of developing, improving, adding or eliminating a feature?

It’s an easy trap to fall into and we all do it. Sometimes we even qualify as a member of the target group we’re speculating about. But our personal, and generally limited, experience is usually not enough to represent a solid information to base go-forward implementation on. We need to ask them! We need to ask our client or even users to ensure we will have a valid decision.

#5 Let them speak

Most people spend too much time telling and too little time listening . They could get much more done with their team by listening more. Don’t interrupt the person with whom you are talking. Interrupting stops their train of thought and directs the conversation the way you want, not necessarily the way it should go. It also tells the person you don’t value what they are saying.

Start getting comfortable with asking a question, waiting for response, listening to the response and then waiting some more. Many times the person you are questioning has more information and will bring it out when you wait for it. You have to get used to that silent period before the dam breaks. People feel a need to fill the holes in the conversation and often they will then bring out the critical bit of information you seek.

#6Reflect back

Ask relevant questions to make sure you understand . Paraphrase what you think the other party is saying with responses such as: “ What I’m hearing is… ” or “ Let me see if I’m following you… ” Reflecting back what you’ve heard signals you’re attempting to understand fully. Say something like, “ I want to make sure I understand you. What I heard you say is… ” and then bring them back on point to the matter at hand.


Asking questions is hard. However, asking amazing questions is a skill like any other skill — it takes practice to master. So just get started practicing by asking more and more adequate questions. Your skills will improve over time. Remember, if you want good answers, they come from asking good questions.

Subscribe to get the latest content immediately

Further reading

I‘ve already wrote two related articles you may be interested in:



The art of asking questions for developers

Startup Cargo Cults: What They Are and How to Avoid Them


Should we switch from CoffeeScript?



The art of asking questions for developers