Becoming the person that I needed when I started
Tags: leadership, codenewbie, culture
Published: 2021-07-08 20:49:47

The title is confusing so allow me to elaborate. 

When I first started taking software development seriously, I didn't have a mentor. We could go into the psychology of why established developers aren't always friendly with beginners - but it doesn't seem necessary. It is a well-known punchline that Stack Overflow has discouraged more than a handful of beginners. 

When I was just getting started I would often pay a random experienced developer I found on LinkedIn somewhere in the ballpark of $100 to talk through a problem I was stuck on. The call might last 15 minutes or 45 minutes but needless to say I exhausted all of my options before doing this. 

Now that I am reasonably competent, it seems that I'm in a position to really make someone's day. I have found that if you tell a beginner that they are welcome to reach out to you if they get stuck, they almost always will. If you jump on a video call with a beginner, usually they are trying to accomplish something very simple. You may have spared 15 minutes out of your day to help a perfect stranger, but that 15 minutes may have prevented them from wasting a month moving in the wrong direction. 

I can provide a list of anecdotal information but instead I would like to encourage the more experienced developers to think back to a time when you were stuck on something very simple just because you were missing a small piece of context. Maybe you took a course and the instructor took something for granted that you really needed explained. 

I have found that the small investment of time that I put into helping the occasional stranger seems to have a disproportionately positive effect on them. No matter where I value my time, 15 minutes of it is an order of magnitude more valuable to a newbie developer than most other people.

Of course there's a caveat to that. Time is your most valuable asset and you should never write that off. I also believe that what I'm proposing isn't completely selfless. 

When I help a beginner, I like to think that it's an opportunity for me to reinforce my knowledge, network, and make someone's day all at once. It feels good. 

I would like to encourage anyone who stumbles across this post to think back to a time when you've wasted days, weeks, or even months working on solving the wrong problem. Think back to the last time something clicked for you in a really meaningful way that caused you to start over instead of refactoring. 

I remember what I needed when I got started. I needed an experienced developer that was willing to spend 15 minutes talking through a problem with me. I needed someone with a real world perspective to gently nudge me back on track. I needed to feel like I wasn't massively inconveniencing every developer that I spoke with, simply because I was lacking some insight. 

I've been making an active effort to be that mentor to other people. It's not surprising that people are incredibly grateful when you spend a few minutes helping them out, the part that is however surprising - is that I think I've experienced more growth since I've opened myself up to do this.

I hope to see the culture shift to be less critical towards the beginners who are often already uncomfortable asking for help.