One day, and this day may never come, you will be called upon to answer the question of a less experienced developer. When this happens, you will need to find a balance between giving too much information and giving too little.
Struggle is essential to learning. This is especially true in software engineering, where one of the most critical skills is the ability to find a hidden gem of information buried beneath a mountain of irrelevant text.
And yet, a new developer cannot simply be left alone to struggle. Too much struggle leads to frustration, aimless searching, and eventually defeat. Some answers cannot be found without the proper context, and leaving a new developer to struggle toward an answer that will never come is pointless and counterproductive.
Here are some Do’s and DONT’s for answering a new developers’ questions:
|Let the learner do the typing||Type any commands without explaining why…even if you are still unsure how you will solve the problem|
|Explain things that you suspect the person already understands. They will stop you if you explain something they know.||Ask, “You know this, right?” This sends the message that they should know. They will likely pretend to know even if they don’t.|
|Praise progress.||Praise existing knowledge.|
|Make sure they fully understand the problem. What does the error message mean? What triggered it? How did you identify the problem?||Give them the solution. If they fully understand the problem and know where to look for the solution, they will learn more and get more satisfaction from solving it on their own.|
|Stick around until the learner shows confidence that they can come up with the solution, and then be accessible in case they need more help.||Walk away when the learner still seems confused. Even if you are confident that they can come up with the answer, the learner needs your support until they feel that confidence.|