Mentorship in Programming: "Learning from the 'Higher-Ups' to Level Up"
Introduction
Picture this: You are young, let’s say in your early twenties, and you have the desire to code. It could be that you saw the Treehouse ads on YouTube, or you may have close friends and family that are into “developing something”. However, you just can’t put your finger on what it is that you want to pursue. Now, at this point, you have no idea about the options available to you.
You go through Twitter, Facebook, Instagram, Snapchat, podcasts, blogs etc… just to put your finger on this new idea that you want to pursue. Soon enough, inspiration hits you, the bulb in your head lights up and illuminates the whole room. Guess what? You want to be a Web Developer — but where do you start?
Benefits of having a Programming Mentor
What's the best way to learn programming? Below are just some of the benefits of what having a mentor can do to your journey to becoming a developer, which can supplement all your learning efforts such as taking a CS degree, through coding bootcamp, or self-learning.
1. Better Found Than Lost
Don’t you just hate looking for things in the dark? Oftentimes what you are looking for is right in front of you but you can’t see it. When looking for something, you may stumble and feel the room around you... but how long will that take? A few minutes? Or maybe a few hours? Even worse, you could spend all that time and in the end, you grab the wrong thing.
Now, by this time, you are probably thinking “what does this have to do with finding a mentor?" Trust me we will get to that, my friend. The other question would be “Why would I look for something in the dark?” The answer to the second question is… Exactly! Why not just turn the lights on so you can see. Where I am going with this is simple — your mentors will help you see, and, even better, they can help you see what’s right in front of you.
Look through all the stories of the greats. Whether in sports, entrepreneurship, or even acting, they all still have a few mentors they learn from. Why? It’s simple, mentors help you improve. If the great, famous, paparazzi-bringing icons we all know have mentors, then why can’t we adopt that same formula in programming?
Here, right in front of you is a person who has been in the coding game for years. Every mistake, triumph, lesson, and value he/she has experienced personally is fed into you at an early stage of your career. Trust me, you will be up and running at a high level in no time if you have that type of coaching in your ear. Mentors improve you, and that's the truth.
2. Experience Brings Huge Opportunity
We all know how "the more experience you have, the more opportunities and attention you get". But experience often has a friend that follows behind it, and its name is “value” — and most people are willing to pay in order to have “value” around. So, I know you are just starting off, and well, you lack experience, but if that’s the case then why not be around someone who does have experience?
Having a mentor can bring opportunities your way, directly or indirectly. Directly could be, for example, when your mentor lands you a position at his/her company. Indirectly could be, landing an interview by showcasing the things your mentor instilled in you.
If you can effectively communicate to anyone those values or things your mentor has taught you, then this will work to your advantage. The amount of attention a mentor commands is limitless. Limitless only if you believe that you should solely provide value to someone or something, or if you believe you can help boost a person's ability or even a company.
Everyone wants the chance to achieve a goal or fulfill a desire. A mentor can help you get your foot in the door by teaching you how to sell yourself as the beacon that can direct that person to where they want to go. That goes for anything, inside or outside the “Developer World”. This is part of “cross-training” that will help you better yourself, both as a person and a developer.
In my experience, my mentor encourages me to read and study lots of different subjects. I find myself having long conversations about self-help and business, books to read, places to go, and other goals to set. Besides giving you a jump in your coding skills, mentors can give you the proper perspective on life — and that’s value you can’t turn away from.
3. Your Time Won’t Be Wasted
Let’s say you go at it on your own and teach yourself to code. You get the books you think you need. You pay for a few courses, maybe you watch a few YouTube videos. Hey, you even spend most of your time devoted to practicing. But you might also hit the point where you bang your head against the wall and realize you’re struggling and you didn’t learn the best way you can. Now you feel like that first year was a waste and realize that you have to punch out hard work for many more years trying to learn on your own.
With a mentor by your side, preferably a seasoned pro, he/she can guide your learning and keep you from wasting your time with the fundamentals, certain practices, and technologies. Mentors, quite frankly, can cut the learning curve in half and keep you on track.
When I initially started learning I had no idea where to begin. And generally, jumping into any area of technology can be intimidating. Mainly because there are so many technologies, practices, philosophies, ideas, tools, etc. that are involved. It’s easy to learn what’s conveniently available to you, but it’s even easier to fall into the trap of mindlessly copying methods and techniques, instead of actually understanding ideas and applying them in a practical manner.
I’ve personally spent hours reading the wrong articles, staring at my screen that displayed a confusing YouTube video, paid for a rip off course, and depended on mediocre free resources. I’ve also run into many bumps and curveballs along the road. This slowed my learning down and even worse, killed my motivation. But the good news is that to an extent, mentors went through the same stages. In other words, you will be able to get out of dry spells and bad times more easily because your mentor can motivate you and help you can sneak out the back door when issues arrive.
With a mentor, you will be directed to more useful information, resources, and tools. You will avoid most (not all) of the crap and bad things that can stunt your growth. Mentors are definitely a win-win in this area. You can keep your motivation, and keep your head from hurting (just think of all that head-to-table banging you will avoid when you have a mentor to guide you every time you come across seemingly impossible technical problems).
A good mentor will give you projects and tasks; an excellent mentor will tailor their teaching based on your learning style. The message is clear, your time won’t be wasted, and you will learn what you need.
4. Enforcing the Power of Accountability
Do not underestimate the power of accountability. I’m sure you have experienced peer pressure first-hand plenty of times before. Peer pressure is similar to accountability in the sense that someone or some group pushes you into taking an action. History shows that we are made to be part of a group. One strong force can be unstoppable when linked with another. You can insert karate movie and war movie quotes and scenes about camaraderie here…
You will often look up to your mentor and want to do just about everything he/she suggests. Imagine someone you don’t want to let down the most. Let’s be honest we all have a person, let’s say a parent, that we really don’t want to let down. And your parent might expect you to do something but then you fail. Not only do you fail but you didn’t even try. Your parent’s look will affect you more than anything else would. The amount of emotions you have will ensure that next time the parent expects a result, you find a way to deliver.
Believe it or not, mentors have the same effect on you. You will find yourself achieving things you didn’t think you could. I don’t need to break down how detrimental this is to your skills and motivation. Learning to code is a serious commitment and you will need every ounce of push there is. A mentor will consistently give you that push.
5. Like Being Part of a Family
With a mentor you often find yourself sinking into a warm loving community. You also learn about how important and beneficial it is to give back and lend a helping hand. Mentors teach us the principle behind “teaching in order to be taught”. How teaching others, communicating, and sharing with others can help you polish your skills.
Practicing this will bring you a noticeable improvement. No matter what position you are in, there will be people under you and above you in terms of expertise. Teaching the ones under you will give you a completely different perspective that will also help you to learn and grow. Not only do you have to memorize and effectively use the material your mentor has instilled in you, but now you have to take that information and understand it well enough to teach it.
Now when you do this you will be forced to study differently. You will begin to look for further ways to understand and learn. You will also find analogies or similarities that will help you grasp a concept. Teaching others can often help you with problem-solving and debugging, which you might argue, but most of the time, those are the things we developers do.
Also, teaching can kill the infamous impostor syndrome, where you feel unworthy of holding the developer title and it can make you feel like a small leaf amongst giant trees. It’s a horrible feeling and I know this all too well and trust me, this syndrome can stop progress in its tracks. So once you feel like you know enough, help someone else just like your mentor is helping you. You will find that doing so will bring great rewards to you.
How to Find The Right Programming Mentor
All this is great, but, how do you find a mentor? It looks daunting but it’s actually easier than you thought. A lot of people are flattered and glad to be mentors to young or new up and coming developers. Here is a simplified three-step strategy you can take:
1. Do your research
There are plenty of websites, social media platforms, meetups, communities, and more that offer mentoring possibilities. Imagine you are just in your room and you could be connected to someone halfway across the globe or experts who work at Airbnb, Twitter, Microsoft, and other big companies and superstars in the programming world that you normally wouldn’t have a way to contact are now just a chat away from being your mentors. Platforms specializing in programming mentorship like Codementor is a good place to start looking for mentors or even someone to pair program with.
But possibilities online are limitless. Believe it or not, one of the best mentors I’ve had the pleasure of teaching me came from Twitter. I was actively engaged on Twitter and happened to follow someone who shares a common view on technology. I had no idea how common this view was until I did a little research. Turns out my follower happened to make courses and tutorials on Udemy (a great site to find courses by the way) that fell within in the lines of web development. So I direct messaged him and sure enough, we Skype every Friday, and he gives me training for free.
Normally, I would suggest building a relationship first but sometimes just asking right off the bat is all you need.
2. Use your connections
I have two stories that fit this step. I will make it short don’t worry. One mentor came from my best friend. The guy lived literally next door (it can’t get any easier than that). Now because my friend lived there since he was a kid, he established a great relationship with this person. So naturally the conversation went like this.
“Hey, my friend here likes to code or develop things. Basically, you guys are both nerds so maybe you can help him out?”
Besides the fact that I was called a nerd (it doesn’t sting at all anymore now) just one sentence landed me a great mentor who happened to be a professor, web developer, and currently creates medical software as well. How amazing is that? It happened through connections, I know a guy who knows a guy.
Another great mentor who landed me my first internship came from my mother’s friend. This is again another long crazy story. I was fresh out of high school and basically needed money, then a guy offered me a chance to get paid for recording football games. Now I know that’s completely different from what I want to do but I took the offer. It turns out he managed the software and systems at a local fire station, has twenty plus years of experience in development, and even has a business.
Thanks, Mom 😁
3. Cold introduction
Listen, cold calls and emails are not dead. They are still effective, thus proving that people would love to be mentors and hand down knowledge they know to those who are just starting out. Another great mentor that I found is a CEO of a great small agency that builds websites and handles website consulting. AirTight Design was actually a goal I wanted to achieve; “I want to work for them”. This desire made me send out an email hoping someone would take the time out to read it.
It turned out the CEO read my email and then invited me for a meeting. At the time, I still didn’t realize that he was the owner until I got there. It was such a great learning experience. I will never forget the excitement and feeling of accomplishment that I had. Even though I didn’t walk out with a job, I walked out with a reassurance that you can’t buy from simply reading or watching videos.
So definitely give it a go — reach out to any and everyone you look up to. You never know where it can lead you to.
Most Important Takeaway
Don’t hesitate to get a mentor, period. It will be the greatest investment you can make towards advancing your career. No matter the age or level you are at, you still need at least one mentor. Check around locally or even globally; technology allows you to be closer to your mentors now more than ever. I challenge you to find a good mentor after reading this. Ask me, get in contact with me if you need the extra push. If you're up for the task — go for it and keep on learning.