Helping Junior Developers Understand the Bigger System
One of my favourite moments when working with a junior developer is seeing the understanding arrive on their face. We might be talking through how one part of the system connects to another, following a question that started with a small task. Then something clicks. There is a particular expression that comes with it, and it is often a better indication of where we have got to than any explanation I could ask them to give me.
Getting to that point usually starts with something much smaller than understanding the whole system. We give juniors small tasks so they can become familiar with it in stages. There is already plenty to take in without trying to hold every connection in their head from the beginning. A manageable piece of work gives them somewhere to start, something they can look at closely enough to begin asking questions about it.
As they work, those questions begin to reach beyond the task itself. They want to know about this part of the system, or how something over there relates to what they are doing here. The small piece of work has given them a reason to explore a little further. Completing it and understanding everything around it are different things, and I do not expect both to happen at once. The questions are part of how they begin to build that wider picture.
How we explore it depends on what we are trying to connect. Sometimes a drawing helps. Sometimes we pair, follow what happens through the system, or simply sit down and talk it through. Usually there is a mixture of those things. I am less interested in finding one perfect way to explain the system than in finding a way into the part that is currently unclear to the person beside me.
That conversation does not need to become a session where I supply every answer. I can point them towards somewhere useful to look, then talk through what they find with them. They still get to do the figuring out. I am there to help them connect the dots, ask something that moves the conversation along, or notice where we may need to go back a step. There is a difference between leaving someone to struggle alone and giving them room to work something out with support.
The time we give that process matters. Trying to understand why something works while also worrying about a deadline is an uncomfortable place for a junior to be. I want them to know that we have time to figure this out, and that I am there for the conversation. It is much easier to stay curious about a question when the person helping you is willing to sit with it too.
I have become more patient about this over time. I listen more, and I figure things out with them rather than concentrating only on how I am explaining something. What they say helps me understand which connections they can already see and which ones are still missing. A question can tell me much more about that than another few minutes of me talking. It also gives us a better place to continue from than assuming my explanation has landed because I have finished giving it.
As their understanding grows, their questions become more specific. They begin to describe how they see a part of the system, then point to something particular within it. I can hear them starting to connect what they have worked on with the things around it. And sometimes I can see the moment those pieces come together before they have quite found the words for it. That lightbulb expression remains one of the nicest parts of helping someone learn.
There is a great deal of unfamiliarity in being a junior developer. Even a small task sits inside something larger that other people have had more time to understand. I would like someone starting out to know that asking questions belongs in that process. So does struggling with a connection for a while, or needing to approach it in a different way. None of that means they were supposed to know everything before they started.
The small tasks give us a place to begin, and their questions give us somewhere to go next. We can draw, talk, look again, and make another connection. I still enjoy seeing the moment it comes together, but I have come to appreciate the conversation that gets us there just as much.
Member discussion