Becoming a Self Mentor
Tags: beginners, tutorial, programming, productivity
Published: 2021-11-16 04:37:28

Over the years, I’ve often found myself wishing for a mentor much more often than I’ve actually had one. When I first got started in Tech, I again felt like I needed a mentor, but being remote and mostly autonomous, I had no idea where to find one. Instead of throwing my hands up and hoping for the best, I decided to break down why I was feeling that way and think of creative ways to get similar results.

Let me share with you what I’ve learned.

Why We Want a Mentor
Why is it that we want a mentor? What’s the outcome we’re looking for? For me, it’s usually some combination of the following:

I feel directionless.
I don’t know if I’m learning the right thing.
I don’t know whether the code I’m writing or the work I’m doing is good.
I can’t seem to finish anything.
I’m just down in the dumps.
On top of that, I’m also feeling so overwhelmed that I don’t want to dig in and do the work required to research these answers myself. In short, I’m looking for a silver bullet in human form.

Is that you, too? Often we’re looking for some mythical senior developer or lead architect somewhere to tell us the one thing we need to learn or build that’s going to rocket us to a FAANG job (Facebook, Amazon, Apple, Netflix, Google), a more senior position, or Twitch stardom. Those things don’t happen in one fell swoop, though. They happen over years of focused effort.

So, on a deeper level, what are we looking for when we want a mentor? We generally want:

Direction: We want someone to break down for us what to learn and what not to worry about yet.
Quality Control: We want someone to check our code or content quality to make sure it’s right. As we get a little more advanced, we also want someone to let us know if what we’re doing is a “best practice.”
Accountability: We want someone to check in on us and keep us from falling off the wagon of working towards our goals.
Encouragement: We all want a cheerleader for when we’re running low on motivation. Nothing wrong with that.


Is there a way we can achieve those same results without having one single mentor carrying the burden?

How to Self-Mentor
To self-mentor, we basically need find suitable replacements in all four areas. Here are some things that have been helping me in each of those areas.

Direction
Figuring out the direction you want to go, and whether it’s the right one, is a little bit of art and a little bit of science. There are a few different sources for this you can use:

If you have a development job and a boss, that’s going to set a lot of your direction. We often don’t feel like this is valid because the day job rarely feels cool or exciting enough to feel like we’re making progress. Truthfully, you are making more progress just by racking up experience points. Don’t worry that it’s not in Hip Framework X — the beauty of programming is that experience transfers between technologies.
Seeing what’s trending in both the job market and what people are talking about is another good indicator of a direction you could go. Be wary of chasing every new technology that pops up on Twitter. It’s better to go a little broad at first as you build up experience. A lot of the coolest technologies disappear in a year.
What are people you admire and respect doing? I have a handful of people I follow as “trendsetters” because I trust their judgment. They’re not jumping around between flash-in-the-pan technologies, so I can tell when something is worth my attention.
Here’s another one people overlook: money. If someone is willing to pay you to code in or teach a technology, that’s a good sign you’re doing something right. Money as a direction indicator can come from freelance work, a full time job, or a product like a book or video course. Interestingly, what will bring you money is not always what is trending on Twitter.
Quality Control
This is probably the trickiest of the group because tech is always changing. You’ll need to “triangulate” a few different sources as you work through this.

A lot of coding tutorial websites like AlgoExpert and Execute Program have built-in IDEs that run tests and check your work. This is very helpful for just knowing if your code runs and is syntactically correct.
While conference talks are great for ecosystem news, they can also help you identify patterns and best practices that industry leaders are using.
Courses, articles, and training from high-quality sources can also show you patterns and best practices.
Never underestimate the value of the docs. Docs are meant to not only teach you the nuts and bolts of a technology, but also the best practices.
Accountability
Here are four different places you can find accountability:

Individual accountability: find a friend and commit to each other to do something. Start with short, small commitments (e.g. a small project in a week). It’s like a gym buddy, but for code. An excellent medium for this is Twitch. Live stream building a project together!
Learning in public: Writing out what you’re learning about doubles as a means of accountability. This is even more true if you commit to a regular cadence. Pro tip on that: give yourself an end goal. For example, “Write lessons I learned studying PHP every Friday for four weeks” instead of “Write every week about PHP lessons.” You’re much more likely to stick something with a hard stop. You can always start another round!
Group challenges/learning cohorts: There are various groups challenges that you can get involved with. For example, hashtags like #100DaysOfCode and study groups for things like JavaScript30. There are also groups cropping up as “learning cohorts,” which are kind of like book clubs for coding.
Paying a consultant: This isn’t always an option, but sometimes the shortest path between two points is to just pay someone to help. A few years ago I hurt my back. I had to do a bunch of tedious exercises to get better. Do you think I’d have done them if I wasn’t paying a physical therapist to pester me? Heck no! You can often just offer to pay someone for an hour of their time to pair up with you on something. It might feel expensive, but it also might save you tens or hundreds of hours.
Summary of all is you need:
DIRECTION
QUALITY CONTROL AND 
ACCOUNTABILITY.
Hope this piece help and hope to see you as an expert sometimes.
Yusuf

You can catch me on social media at 
Twitter: yusuf_software
GitHub:https://github.com/yusuf-saif
LinkedIn:https://www.linkedin.com/in/yusuf-saifur-rahman-939533192

Do have a nice learning process 🙂.


Overall, remember: deadlines and dollars get stuff done!

Encouragement
Don’t neglect this part of the process. We all need support! Sometimes we just need someone to let us know we’re doing alright. Heck, I know I do. We’re also notoriously bad at “feeling” our own progress. Here are some ideas on where to go:

Discord servers. I’ve been so happy to be part of different Discord groups. One that has been particularly welcoming is called Code Cafe Online. A lot of Discord servers also have a “celebrating wins” channel, which is a great idea.
Twitter friends. Sometimes you just need people on the internet to cheer you on.
Slack servers. Some coding groups, meetups, and bootcamps have dedicated Slack servers that can be a great motivation boost.
My email list. Really, feel free to write me whenever you need a boost! It may take me a bit to respond, but I will do my best to send you a note of encouragement.
Your Task for this Week
Use the framework I’ve laid out above to build yourself a system to learn and improve. This unlocks basically an endless list of mentors by proxy. Rather than seeking out the One True Mentor, figure out who you want to be like and observe them. What are they doing well? What is driving their success? You can have endless mentors if you know what to look for and how to harness those observations into action.

Just remember one thing: building a system like this doesn’t happen overnight. Take it one step at a time. This week, first pick the area that you feel like are feeling the most pain. Are you feeling lost? Are you frustrated by your code quality? Are you never able to finish projects? Are you feeling down and ready to give up? Work on these one at a time and don’t get discouraged if the first attempt doesn’t work. Keep at it. Remember: it’s not a failure, it’s a test.

Once you’ve picked your biggest pain point, write me back and let me know your plan to use one of the strategies in this framework to help make it a little bit better.