Back to blog

4 Takeaways as a Mentor of a New Developer

A complementary post to Jonathan’s 4 Areas to Master for New Developers blog post: My takeaways after around two months of onboarding/mentoring a recent bootcamp graduate without professional software development experience. I’ve mentored before, but never at this experience level, so it was very eye-opening for me. We’ve both learned a ton! But here’s my four biggest takeaways.

Remember Where You Started

This was a big one for me. I started off my software career as an apprentice, coming from a place of only having done coding classes in school. Everything about professional software development was pretty much new to me and had to be explained and justified.

During this mentoring/onboarding journey, I had to remember how I felt exploring new concepts or revelations I had in my apprentice journey. Thinking of my own journey helped keep my perspective in check. It also reminded me that things that are ‘simple’ or ‘self-explanatory’ are only that because of experience. If you’re walking into a completely new framework, what seems obvious to someone with experience is completely foreign to someone without it.

It’s crucial to remember that we all start out without any experience in the work we do.

Common Tools Aren’t Common

Common sense isn’t common is a favorite saying of mine and I almost put that as the section title. But, really, my point is going to be about basic tools to get the job done. The tools that we use day-to-day are probably not as common as we’d like to think (or hope, anyway). What one person uses every day to be efficient could be completely foreign to someone else. Just because you use them all the time, doesn’t mean someone else does.

Here’s a list of tools/techniques I use often that I am realizing maybe aren’t as common as I thought:

  • git rebase (interactive and not) & git cherry-pick
  • With that being said, being proficient with git on the command line and leveraging version control period.
  • Fundamental terminal commands such as cat, cd, ls -la, and so on.
  • Modifying /etc/hosts to support localhost subdomains.

Their Workflows Aren’t Optimized

This relates to the previous two takeaways. Basically: the new developer…is, well, new. They don’t have everything figured out. They aren’t perfectly optimized in how they work. They don’t necessarily have a custom editor setup that fits their workflow perfectly.

I didn’t start off using Emacs with a custom setup tuned to how I like to work. I had to work to get there. I had to learn what I needed to be efficient and effective. Optimizing your workflow is…well, work. And you need experience to find out what works for you. So a new developer is going to need to take time to figure out what is optimized for them.

Finding the Line Between Support and Micromanaging

Oh jeez, this is something I’ve really struggled with. There’s a very thin and blurry line between supporting someone in their growth and micromanaging them to get it done (without them actually growing). I haven’t found a perfect flow for this yet…I think it depends on the exact mentor and mentee. Everyone’s needs and capacities are different.

But, my thinking right now:

  • Start off with more pairing and synchronous support. Drive often to show how the codebase works and how to navigate in it.
  • Gradually allow them to drive and work independently, but be able to give help on ad-hoc calls.
  • Eventually shift to more async, text based communication, forcing them to articulate their thinking in writing or to explain what they are running into in words rather than by showing.
  • Push back on their understanding when it seems like they don’t fully grasp what is happening.
  • Checkin often if they need help, how it’s going, and push to show work more often (before it’s done) so feedback can be given.
  • Provide descriptive specifications for the tasks up-front and try to talk through how they might be accomplished to verify understanding of what has to be done.

So, basically, communicate often and have a feedback loop where the mentor/mentee can find what works best for both of them.

Read more on similar topics