In my 10-year journey in the world of IT, I've never had the privilege of a mentor.
In my view, a mentor is an expert in a particular field who's eager to share their knowledge, set strategic goals for your development, and ensure you stay on track. They are both an expert and someone who's willing and eager to mentor. Since they're already established professionals, their time is precious, making it quite rare to encounter such a gem casually.
So, where can you find one? In many companies, the practice of assigning a more experienced developer within your team or a team lead as a mentor is common. You interact with them through work, they conduct code reviews, and occasionally, they mentor you. However, finding someone truly motivated to share their knowledge and nurture your growth is not an everyday occurrence. Unfortunately, luck hasn't favored me in this regard.
Yes, having a good mentor can save you a ton of time in mastering your craft. They can offer guidance, help you do not step on the wrong path, set the direction for your growth, and ensure you don't miss the essentials. If you find a mentor in your circle, hold onto him/her tightly; you're incredibly fortunate.
As I mentioned at the beginning of this article, I never had a mentor, at least not as a dedicated individual. Instead, I consumed all available information, attempting to sort and comprehend it on my own. I scoured technical websites, followed all popular bloggers on YouTube and Twitter, listened to podcasts, and watched conference videos available online. This path was entirely unsystematic, undoubtedly taking more time than it would have with a living, breathing mentor.
At one point in my career, I became a mentor to a couple of people. Let me share one of those experiences.
A colleague at work asked for help in teaching one of his friend HTML and CSS. I had never done this before, but I agreed to assist. I crafted a plan, found a suitable design (back when it was still in Photoshop), monitored their progress, organized calls, explained what I would do, what else they needed to learn in parallel, and addressed all their questions. In essence, I tried to be the mentor I had always wanted. Sadly, a couple of weeks later, my mentee disappeared, leaving the project unfinished. This unfair, right? Nevertheless, I took many valuable lessons from this and other experiences, which helped me organize my own knowledge and learn how to interact more effectively. The "do as I do" method yields quick results but isn't sustainable over the long run. On the other hand, an educational approach based on open-ended questions—why? how?—sparks curiosity and transforms learning into an exciting journey.
Being a mentor is beneficial; it allows you to look at the familiar from a different perspective, enhancing your understanding of the subject.
Mentors are fantastic, but if you don't have one, don't despair. The programming field is all about continuous learning and seeking the right information. It's better to learn to navigate this journey on your own from the beginning. We learn best from our own mistakes, so make them and draw conclusions. If you feel the YouTube content isn't sufficient, and you're accustomed to more structured information like in university, you can always find a program for the course you're interested in, like MIT, and then search for videos on individual topics sequentially, for instance, 6.1020 mit. Codes may have changed by now; previously, this course was labeled as 6.006, but finding the topic by name shouldn't be a challenge. Lectures from one of the world's top institutions are at your disposal; you just need to find the time to watch them and dissect them thoroughly.
So, remember, while mentors are invaluable, your thirst for knowledge and determination can carry you far in the realm of programming.
Whether you have a mentor or not, your journey in IT is defined by only your curiosity, dedication, and the willingness to learn from both successes and failures.