Do We Hurt by Helping?
Often, the more senior developers are the targets for questions by junior developers. The intermediate level often just answer the question. The battle-hardened will ask why.
Why "Why" is Important
By asking why, we can discover if the junior developer is on the right track. By giving the answer, they could be helped down the wrong track.
A Scary Example
A few years ago I was asked by a junior developer how to programactically package a war file. It seemed simple and innocent enough. Something didn't feel right so, I asked what he was trying to do. He explained that he wanted to be able to change some values in a property file and wanted the changes to persist after application restart. He wanted to un-package the war of the current application, edit the property file, and re-package the war.
Of course, once this is known, the developer can be led down the path of using an external config file or a RDBMS. While in that position, I earned a reputation as someone who always answered questions with more questions. Sometimes, I was just using the Socratic Method to teach. Often, I wanted to make sure that junior developers were on the right track and were focusing on the core problems.
When we are busy, we tend to just give the answer to the question. How often do we try to get to the core of the problem? We should take some responsibility about the information we give; not to hoard or control the information but, to guide junior developers down a better path when solving problems.
This is important because junior (and senior) developers tend to get so focused on the solution they are trying to implement that they lose sight of the problem they are trying to solve. Use your position as the more senior developer to help them rethink the problem.
By focusing on core issues you can become part of the solution instead of helping someone create the next DailyWTF.