My role at work is what we call a midweight. That means I am a normal day-to-day developer. I should be able to handle projects myself without too much intervention from senior developers, but I am not officially responsible for anybody else.
I have come to realise that although I have nobody reporting to me, it does not mean I am not responsible for anybody’s career path..
Mentoring junior developers is everybody’s responsibility
Recently I have been neglecting to follow my own advice. I have been guilty of not spending the time I should be mentoring people who are less experienced.
I made a number of excuses to make myself feel better about it. After all, I am not that experienced, what can I teach others? And the client comes first, so my time should be spent on their work before sitting with a junior dev to pair, right?
Sitting for half an hour to discuss a problem with somebody who is less experienced will not derail whatever you are working on, but it could derail the other developers career progression.
When I was a junior developer, I was lucky enough to work with some very smart people who were keen to help me progress. If I had down-time, it would be spent writing data structures and sorting arrays into alphabetical order. These little exercises helped me to learn things I might have missed out on otherwise.
If I wasn’t sure about something, I could interrupt another developer and they would always stop what they were doing and start passionately drawing diagrams on a whiteboard to help me out.
I have been trying to imagine the alternative. I am trying to think about where I would be now if I had been left to learn everything from StackOverflow and internet tutorials; with no feedback as to whether I was writing quality code. I don’t think I would have the passion for the job I have now.
If you are the kind of person that reads other developers’ blogs, you probably had a similar experience to me. It is now your responsibility to pass that on.
The senior developer has already done the hard part. Recruiting somebody off the street with little experience in the real software industry is a gamble. The most important quality in your first job as a developer is passion, and judging that in the space of a thirty minute interview must be difficult.
At our place, we got it right. We have some brilliant junior developers with amazing potential. Now it’s over to us. Mentoring is not a burden, or something that takes time away from your real job. Mentoring is your real job.
In a week, when whatever you are working on has been delivered to the client, you won’t remember that thirty minutes you sat down and discussed spaces or tabs with the junior developer. In 5 years, when that same developer is having the same conversation with somebody less experienced, they will remember it. Who knows, they might even write a blog post like this about it.