How mentorship can level up your coding skills after a Bootcamp or as a self-taught developer?
Published: 2021-06-28 14:02:16

“Mentoring is a brain to pick, an ear to listen, and a push in the right direction.” — John Crosby.
According to this article in Forbes, Sun Microsystems compared the career progress of 1,000 employees over a five-year period. And what did their findings tell them? “Both mentors and mentees were approximately 20% more likely to get a raise than people who did not participate in the mentoring program.” They also found that employees who were mentored were promoted five times more often than those that were not. In this article, I’ll share my experience with mentoring with you.

## What’s mentoring?

I’ve heard the term mentoring used with various meanings, often as a substitute for onboarding, coaching, or helping. I like to narrow this down. In my take, mentorship is a learning relationship between an experienced person and someone who wants to grow. The person receiving mentorship is referred to as the mentee, while the person sharing their expertise is the mentor. With software engineering, the setup is pretty typical: a more senior engineer mentors a more junior person. In my case, my mentor is a senior UX engineer I found on a platform online.

## Why you need a mentor?

The fastest way to level up as an aspiring developer is through 1-on-1 mentorship. There’s a reason why the largest companies like Google, Microsoft, Airbnb, and the like assign mentors to the junior developers they hire. It’s because it’s a highly effective way to learn.
The fastest way to learn programming is through pair programming.
Coding can be challenging, especially to beginners. Having a more experienced guide who has overcome the same problems you’re facing provides an inspiring example to follow.
Coding mentors are great because they can help you simplify your learning process. They can guide your learning path, and provide additional learning resources that come from experience.

### Feedback is the key

You can’t learn anything if you don’t get feedback. It’s as simple as that. Feedback is a fundamental requirement of the learning process. Imagine trying to improve your free throws without seeing if your shot went in. It’d be impossible.
A mentor can provide crucial feedback when there normally wouldn’t be any. It puts a stress test on your skills and challenges the knowledge areas where you might be weak. One of the most common ways mentors will give you feedback is via code reviews. Code reviews are my favorite. Either by giving clues to solve a problem or simply by directing the response sending a resource, code reviews are one of the best ways to level up your coding skills. It will also give you info about the industry standards. coding a personal project is one thing, imagining this same code in an industrial development context is another.

### The flaws of self-study

Self-study is important, but there are two big problems.
Firstly, it takes time to hone your skills. Searching for relevant information is intuitive for an experienced developer, but feels more like a wild goose chase for someone who is inexperienced. It might seem simple, but it takes a lot of practice to know how to search Google or figure out the best places to look for answers.
When I first started learning programming, I either didn’t know where to look or didn’t know exactly what I was looking for. I often felt lost and overwhelmed.
Secondly, relying too heavily on self-study makes it hard for you to take a step back and understand big picture concepts. It’s easy to find yourself solving individual problems without having a good understanding of how it fits into everything else. You might learn how to do something, but not know why it’s necessary.
It’s also not always clear if you are going down the right learning path. In the beginning, it’s hard to know where to start. People do a little research and pick a path. As time goes on, the path you initially chose might not be the best route for you. You might not correct the course until much later down the road. You could be wasting time learning something that doesn’t align with your long-term goals.
To avoid these traps, it’s important to supplement self-study feedback with feedback from an outside source. Relying too heavily on self-study can result in wasting time on both the micro and macro levels.

## How mentorship can significantly help you?


### Mentors can advise you on how to get to your goals faster.
One of the fastest ways to learn how to do something is to find someone who has already achieved your goal and get the inside scoop. With their experience, they know what’s worth learning and what you can skip. Depending on your goals (e.g., first dream job), they will advise you on the minimum skills you need to reach your goal(s). They will send you resources (Books, courses, articles, workshops) based on your skills, levels, and needs and tell you If it worth it to invest a bit of money in this course or another. They simplify your learning process.

### Great mentors know how to challenge their mentees.

The learning approach needs to fit the student’s needs and education level in the subject matter. If what a development mentor teaches you is too easy, you’ll perceive the process of learning as irrelevant and boring. On the other hand, if the content is way over your head, you’re likely to get frustrated and discouraged to the point of giving up. A good mentor can hit the sweet spot for the experience to be both challenging and satisfying.

### Mentors who are where you want to go can inspire you to get there.
Whether it’s their level of expertise or their role in your dream company, the fact that they achieved what you’re after is inspiring because they’re living proof that your goals can become a reality. They’re in the best position to show you how to get there. This is how I chose my mentor. When I visited her personal web page, I had this eureka moment “This is exactly the kind of developer I’d like to be!”. Thanks to her, I also had the opportunity to get familiar with web accessibility concerns (as it is one of her expertise domains). Before working with her, I had no idea about what web accessibility was and now it became a topic I’d like to dig into as I understood how crucial it is.

### Encouraging good habits
Mentorship is an opportunity to get these good habits (What we often hear as “Good practice”) right from the get-go. Even if you don’t personally follow a lot of them (though you should), it’s important to help learners develop these habits early. Here are a few good habits that were pushed on me:
· Document your code (meaningfully)
· Spend more time planning/thinking and less time coding
· Be consistent in how you write code. Don’t have a variable named badApple and another named good_apple
· If you have a question, formulate a precise question. Rather than saying “It doesn’t work,” ask “Why is my method changing the original array rather than creating a copy?” Oftentimes, problems can be solved just by asking the right questions.

### Acting as a supportive peer
You’re going to struggle to solve complex coding challenges. So you need to know that someone has your back and can walk you through things if you get stuck.
A mentor-mentee relationship is not one with a power dynamic. You are peers. Although you may know exponentially more than the person you’re mentoring, no developer should ever be done learning. Being a student alongside your student is paramount to ensuring that they understand it’s OK to make mistakes. We all make mistakes. The sooner that attitude is adopted, the better.

### Practicing the most common tools used in industry
Let’s take the example of GitHub. I remember the very first time someone tried to explain it to me, I felt quantum physics made more sense to me! I then, had few occasions to practice it while doing my coding Bootcamp so when my mentor told me that we’ll work together via GitHub, I thought that it would be a great occasion to practice it in order to feel more comfortable using what is a basic tool in the tech industry. Now, I feel much more confident using GitHub and of course, I don’t know all its subtleties (yet!) but at least I feel comfortable using it as a junior developer in a professional environment. Now, I feel confident answering the job interview question “Do you feel comfortable using Github?”.

## How to find a mentor that fits your needs?


Identifying your goals is the key to find a good match. As you search for mentors, think about your goals:
· Figure out what role you want this mentor to play in your life.
· What do you want to accomplish in the next six months?
· What are your immediate goals and what are your goals for the next five years?
· Are you looking for someone who will challenge you?
· Someone who will offer advice on career choices?
· How many hours a week will you dedicate to the project?
A few common goals are:
· Find a job or figure out your career path.
· get critique/feedback on your work and improve as an engineer/developer,
· prepare a resume and get ready for job interviews.
· understand how the career path works in certain industries and figure out a career plan.
· would you like to become a freelancer and find clients?
Be strategic, you don’t need to find one mentor who is all of these things, or many mentors who overlap in these things. Find the few that best fit into what you want to accomplish. Communication and sincerity are the keys, be transparent when meeting a mentor for the first time. Don’t start working with a mentor if you already know that’s not going to work, you’ll both waste your time and energy.

## Making the most of your mentorship
Of course, it’s a win-win relationship but don’t forget that your mentor mentors you during his/her extra time so try to make the most of this time as much as you can.
Try to structure each chat with your mentor ahead of time. Since they’re likely very busy, anything you can do to make their life easier will be greatly appreciated!
· Set an agenda prior to each session,
· Figure out next steps,
· Connect on Github so they can easily review your code,
· Be sure that you pushed your last version of your code,
· Give as many details as you can when asking questions to avoid misunderstanding,
· Be sure to always be on time,
· Be thankful.

## Conclusions
Now you have the tools you need to find a mentor, get out there and start looking! Mentorship is one of the most rewarding and impactful parts of your journey, and you never know where you might find your future mentor.
From a personal point of view, I’ve been working with my mentor for 5 months now and I’m so grateful for all the things she has been giving me so far. Thanks to her, I like coding more and more day by day, I gained confidence (what is a crucial thing when coding), she opened me to topics I didn’t even know that they existed and most importantly, she’s very supportive.
It’s really worth at least trying it and if you ever need a bit of personal guidance as you learn to code, feel free to chat with me, I’d be happy to share my experience.