Merits of Mentoring

This is an abridged version of an internal presentation I have given at work. In the slides, I used frames and art from the movie Back to the Future, and this is where the name Marty comes from.

Let me start with a story. Once upon a time, I was the first engineer at a small tech startup. Just five people in a six desk room. As you can imagine, I had all the freedom of drawing the line between being pragmatic and trying cool new things.

One day I am told that we’re going to have a summer intern to work with me, let’s call him Marty. I was excited, but I was also flustered a bit - I knew nothing of him, except that he recently got a BA in Political Science. That’s how startups work sometimes.

The next day Marty showed up and proved he couldn’t meet my expectations for an entry-level position. At the same time, he’s very humble, kind, and tried to compensate for his lack of experience by working long and hard.

Over the next few months, Marty and I would come in 1 hour earlier to the office. We would solve programming exercises, or draw diagrams of computer science concepts on the whiteboard.

In the beginning, Marty could not read an error traceback, and would repeatedly adjust his code until something changed for the better. After a 30min overview of what a stack is and how the CPU runs a program something clicked.

A puzzle of these disconnected pieces assembled into a coherent picture for Marty. It became clear what a traceback is, how to read it, and what exactly needs to be changed in the code. At the same time, I was reminded to not underestimate the importance of the fundamentals of the craft.

His first change to the codebase took about a month, the second one - two weeks. By the end of the summer, Marty was making about 1-2 changes per week, automating his work, with full test coverage, and just a little guidance. Marty was hired full-time.

I also had a small epiphany. I cannot always choose who I will have to work with, but I always have a choice to help people around me to be better. This opened me up to an option of volunteering that I had not seen a lot of purpose in before.

First Steps In Volunteering

I work at a different company than Marty now. In January this year, a colleague posted a message in diversity channel, with a link to Codebar and I registered as a coach.

But it also connected my previous experience with the realization that being at a bigger company comes with a privilege. I am working among people who went through a rigorous hiring process. The thought applies to every tech company out there.

It means that roles for people like Marty on his first day open up rarely. There are many more Marty’s outside the industry who are as hardworking, determined, kind, and humble. Yet, they are not getting a chance to pass that entry bar.

These “other Marty’s” are minority group members. They are looking for a safe and collaborative environment to develop their skills and expand career opportunities. That’s how Codebar, the charity I registered with, defines it. It is largely true, but this development of skills comes in a variety of ways and forms.

There are people learning to program. Some are completely new. Others know a little already and are struggling with a concept and need help finding the answer.

Some have a personal project and need expert advice or reassurance about what is good and what is not, or what to do next, what library to use, etc.

Others are trying to prepare themselves for that first technical interview that may open them to an exciting career switch.

Some students have limited technical jargon, have strong accents (mentors, like me, too), or are genuinely less chatty than others. You must be prepared to take whatever skillset or whoever it is that comes your way. Accept it in a cheerful stride and be focused only on helping the student move forward.

So Why Do It?

Coming back to the merits of mentoring. By doing it you help someone else to get better. If nothing else changes, as hard as your day was, after helping someone else you will feel a positivity boost.

Just as an example, I don’t work with Marty anymore, but we are in touch. He has been promoted and is now managing someone, which is an exciting new experience for him. He is also very appreciative to no end for having had a chance to learn from me.

It may sound cheesy - I cherish the thought that I helped him early in the process, but he can only blame himself for that promotion. :) Nonetheless, this is a genuine reaction and gives a positive boost for me too. But that is not all.

This experience of mentoring Marty, other colleagues, as well as volunteering at Codebar has taught me. It taught me to be more patient when someone takes time to grasp new ideas. It taught me to be humble and inquisitive when I cannot understand or explain something myself. It taught me to break down and communicate hard concepts in a way someone can gradually build an understanding. The sole reason I came back to writing to this blog is because of this experience.

There are many ways to start mentoring - formally and informally with a person, or even alone, writing a blog. I want to leave you with one thought that hopefully inspires you.

Regardless of where you are at in your career, remember that there is always someone trying to walk the same path that you have walked. When you listen to someone who is ahead of you and who you aspire to be, remember to reflect. Anything you know now is equally aspirational for someone else, like other Marty’s who want to make that step too.

You could be the hero who helped them grow and be better.

If you have questions, or if you’d like to work alongside me, in a company that cares about and actively works on this - reach out to me on LinkedIn and mention this blog post.

Recent articles

Requiem for Phabricator

An eulogy to an open source suite of applications that contributed to the development of my software engineering philosphy.