Do you need a mentor when you want to learn programming? I could write “Yes” and finish this post, but I think that I should say something more about it. Mostly the right answer to this type of question is “It depends”. It depends on many factors but most important is your approach to learn and proper utilization of knowledge that you gather from a mentor.

Mentor vs. Coach

In the beginning, it’s worth mentioning who the mentor is. It’s important not to confuse mentoring with coaching, and especially coaching known from the internet where you can hear motivation like “Do it! Now!”, “You can do whatever you want if you only want!”, or “Who steals your dreams!”.

Do the mentor is the same as a coach? No! A mentor is a person, who knows very well topics, which you want to learn, and he bases on his own experience. A mentor has to have a much bigger experience and knowledge than Mentee (a person who is advised). Coach on the other hand don’t have to have a bigger experience, he even doesn’t have to know the topic which you want to improve. Coach’s role is giving you questions in that way that you will find answers and solutions on your own.

Mentoring in programming

How mentoring in programming looks? To the position of mentor-programmer, it’s good to find someone who has a huge experience in software development. Would be best when this experience would be in more than one project and more than in one company. Thanks to gathered different points of view on different projects and working with different people such a person is able to point easier what was done correctly and what was bad.

It’s worth remembering, that learning how to code is mostly a self-guided journey. It means, that first, solutions for your issues you should find on your own and then when it fails you go to your mentor with concrete questions.

Learning programming basics

In my opinion, to learn basics you don’t need anything more than the internet and a lot of patience. You can find a lot of examples over the internet how to create simple applications such as calculator, factorial calculation, or calculation of nth Fibonacci number. Based on such simple examples and knowledge from any free course you are able to understand the basics needed to do steps forward.

Learning continuation

Doesn’t matter if you’re after coding Bootcamp, training or you have learned basics on your own. Continuation of your learning, I mean stage when you start building something more than calculators, should be assisted by a mentor. It should be someone who based on his own experience will tell you how to properly organize projects and which tools you should use and what you should avoid. Learning on someone’s mistakes on this level will save you a lot of your time.

At this stage, you will be learning a lot of books from IT area. Among other tasks, the mentor’s task is pointing the right books. On this level, you don’t need to be advised by and big head from MIT, who will tell you in detail about architecture and or memory management in Java. It’s enough when as a mentor you will choose who works already in IT and who went through the same way that you go now. You can also join many groups on Facebook that support programmers.

Building advanced solutions

At this moment you will need a person, who really wrote plenty of lines of code. At this stage, we will be looking for a person on a seniority level or even more. Looking at the level of experience I would expect that this person worked on many projects in different industries and also had an opportunity to build solutions from scratch. Thinking about solutions from scratch I mean building an application on every layer from frontend via the backend to server configuration.

In the beginning, building more advanced programs, you will just need someone, who you can call or message and ask for anything that is hard for you.

How to find a mentor?

How do I know that I choose the right mentor?

You don’t know 😉 You can maximize chances for choosing the right person by research on the internet. I suggest starting by reviewing LinkedIn profile, there you can see your candidate’s experience and how often he publishes any content. You can see there also links to websites and blogs. You can also try to find your mentor in Stack Overflow and see how many people he or she helped.

Where can I find a mentor?

  • Linkedin,
  • Meetups such as JUG, WarsawJS, ReactWarsaw, Warsaw Cloud Native, Dev.js etc, (probably in your city there is also a lot of similar meetings).
  • Discussion groups – groups on facebook (I also created one, visit it), StackOverflow, 4Programmers,
  • Slack Groups,

Summary

Answering to the question given in title – YES, you will need a mentor, but it depends on which level. When building complex applications using additional frameworks and libraries or any other complex solutions, a mentor’s help will for sure be useful. In case of creating a real application in your head will appear a lot of questions. Every answer will create new questions and potential solutions and so on. A more experienced person will for sure help you filter bad and good solutions and remove your doubts.

I would say, that learning how to code a mentor is not needed but for your further self-development presence of a mentor is essential.

If you need my and my colleague’s support, which I gathered in one place I invite you to join group on Facebook.

I invite you also to read my other articles on this blog and to like my Facebook page. I also invite you to see my other blog if you are a polish speaker.

About author

Hi,
my name is Michał. I’m software engineer. I like sharing my knowledge and ideas to help other people who struggle with technologies and design of todays IT systems or just want to learn something new.
If you want to be up to date leave your email below or leave invitation on LinkedIn, XING or Twitter.

Add your email to be up to date with content that I publish


Leave a Reply

Your email address will not be published. Required fields are marked *