Two people pair programming at desk

My First Week Being Shadowed

August 17, 2019


Learning, Beginner Tips

So around two months ago at my current job, we took on a 3rd-year university student for a summer placement. He was originally going to spend his first few days, shadowing one of our project managers who would also be responsible for mentoring him and managing the project he would be working on.

But what ended up happening was the student arrived before his desktop. At the same time, my self and my coworker were working on a project together and he also had many other responsibilities on his plate. Seeing how swamped he was I decided to propose that the summer student spent some time with me. Which would allow my coworker time to finish his other tasks/responsibility’s faster and get back to mentoring the student and getting him set up for the project.

To my surprise, he took me up on my offer and thanked me for helping out. I was glad to be able to help out. As am a big believer that as developers, whether we are in the same team or not we should look out for each other. Whether that means helping with tasks, sharing knowledge or just offering your support and letting others know you are there if needed.

Reflecting on the little over a week he was shadowing me, I feel like I gained some more skills and knowledge myself. As I mentioned above during this time I was working on a project when he started and was learning quite a bit about areas of our codebase I had never seen let alone touched before.

Cat stuck in bird feeder.
Photo by{' '} Tomas Tuma {' '} on{' '} Unsplash

So I knew that when I came across some previously written code to extend a feature or fix a bug. I couldn’t get away with just having a basic understanding of what was going on but I had to fully understand it. So I could pass the knowledge of what was happening and what my plan of attack was and why.

I felt like if I didn’t explain everything in as much detail as I could, I was doing a disservice to him and didn’t want him to feel his time here wasn’t worth it. In doing this, however, it made me understand what other developers mean when they speak about the benefits of blogging, vlogging and making tutorials. Where explaining things to other people help reinforce your understanding of a subject or topic.

After a couple of days, I started to get into my grove with the shadowing and it felt more natural having someone look over your shoulder while you work. Around this time I was noticing that the student was always engaging with what was going on and even picked up on little things that I had missed or not seen yet.

Noticing this led me to include him more, asking what he thought was happening and then only filling in the blanks where needed. Instead of just telling him everything and moving on. I did this to show him he shouldn’t be intimidated by the upcoming project or our code base because he was able to catch on himself. Also at the same time, things were coming up that I knew nothing about and had to ask for help with, so hope this showed him that he isn’t expected to know everything and should ask for help when he needs it.

Two people pair programming at desk.
Photo by{' '} Alvaro Reyes {' '} on{' '} Unsplash

Then during the last few days where he was shadowing me, I had him helping with testing some fixes, recreating bugs and he even found some bugs that other people missed. Which meant the customer didn’t have to experience them. Looking back I’m glad I did this, but feel like I could have had him start doing this a day earlier. Which could have been more enjoyable and rewarding.

I’m glad I got the opportunity to do this and appreciate the experience I was able to gain. Whilst at the same time help out my coworker and hopefully make the students first week a bit more exciting than it possibly could have been. If you ever get the chance to do something like this, I say to jump at the chance, you won’t regret it. Hopefully, I can do this again sometime, especially as some who is shy when meeting new people and not very confident in their development skills.