When I started feeling like I wasn’t progressing in my career, I realised that mentors are an important source of support and guidance, and necessary for career progression and learning. Finding the correct mentor can be tough, and you need to work hard at your relationship to ensure it creates value. Here’s how I made the most of my mentoring relationship and how it helped me.
After graduating with a BSc in Computer Science and Mathematics, finding a job turned out to take a lot of time. That’s why I decided to pursue web development to help generate an income and build on what I had learned at university. However, the only programming languages I had learned were C++ and Java and I needed HTML, CSS and JavaScript to design websites for some local businesses. I also needed to learn PHP to use for contact form processing.
Why doing it alone didn’t work
After developing two or three websites I felt like I was doing very well. This changed when I received a food ordering project that required a lot of data processing. I had to write clean and maintainable JavaScript and PHP code, and trying to do this made me realise that I wasn’t as good a programmer as I thought.
When I kept getting stuck on basic functionalities such as connecting to a database, sending and receiving data from a database, password resets and order processing, I realised that my learning needed more planning and structure.
If I’d made a roadmap, I could have mastered the fundamentals first.
This would have laid the foundation for me to understand advanced topics and made my learning journey smoother. Instead, my freelance jobs dictated my focus and sometimes took me completely away from coding, so ended up conflicting with my learning. I realised that I really needed someone to support and guide me as I navigated this web development path.
Building a good mentoring relationship
I found my mentor through the Project Thrive mentorship programme - a 12-week mentorship programme that paired junior developers with senior developers.
At first I was nervous that I might not be able to connect well with a stranger, and that I wouldn’t get anything out of the programme. I felt like it was going to be the longest 12 weeks of my life.
Thanks to Anton Tuyakhov, a tech entrepreneur with experience as a senior software engineer and team lead, time flew by. From our very first meeting Anton made my experience with the programme exciting and valuable.
It was easy to build a relationship with Anton because he had expertise in the tech stack I was interested in, and had more than four years of experience in managing and mentoring junior developers. He had been a junior developer who also had to learn some things on his own, so he understood the kind of challenges I was facing and helped me to avoid making quite a few mistakes.
Here are a few foundations that made our mentor-mentee relationship work:
Giving honest feedback: At our first meeting, we agreed to give each other honest feedback on everything. It allowed me to take Anton’s feedback as constructive rather than personal, and this helped me to action it.
Having clear agendas: When it came to setting up our weekly meetings, we both owned the responsibility of sharing what we’d like to discuss before the meetings. This helped us to better prepare for them.
It’s important to identify the struggles you have first in order to figure out the kind of help you’d like to get from a mentor.
With this direction, you'll be able to focus on what you actually need and get the most out of a mentoring relationship.
Open Communication: There wasn’t a single day when I felt like I was forcing Anton to help me. He also never undermined anything that I came up with. Instead, if something was off-topic he’d try and first understand why I wanted to discuss it and then we’d go through it. Anton’s questions helped us to understand each other’s thinking.
As a mentee, you should also be upfront about what you know and don’t know. This helps you to focus on the areas you need to improve on, set the right goals and keep track of your progress.
Having a clear goal: The first thing Anton and I did together was to map out my goals and how to achieve them. My long-term goal was to become a full stack developer. We decided JavaScript would provide me with a good foundation, as it’s used on both the frontend and the backend. Because of this, my goal for our 12-week mentorship relationship was to sharpen my JavaScript programming skills.
To help me also achieve my long-term goal, Anton suggested we find an accredited programme for me to enrol in so I could become a certified JavaScript developer. This would be more well-recognised by potential employers.
Building a roadmap: To help me achieve my goal of becoming a full stack developer, Anton and I put together a brief roadmap that outlined the topics that I had to familiarise myself with from foundation to advanced stages, and a list of accredited programs I could enrol in whenever I felt ready. This would give me a solid foundation to understand advanced topics. Anton also shared Roadmap.sh with me, a useful resource to create a more comprehensive roadmap.
Adapting to new realities: Anton’s advice and support to create a structured plan for my career and learning was just the beginning. Sometimes they weren’t included in my goals or roadmap, but I still wanted to discuss things like project pricing, work-life balance and dealing with stressful situations like losing my job.
Three weeks into the mentorship programme, I lost my job and we had to adapt our goals and strategy. We discussed the possibility of changing the goal from learning new skills to finding another job, but chose to remain focused on upskilling because of how beneficial I had already found it.
Acquiring the skills to develop more powerful applications first would enable me to then apply for the types of jobs that I wanted. This was an important foundation to do any job well, which is why we chose to continue with it.
Even though we chose not to focus on it, I had very strong moral support from Anton, and Andréa and Nicole from Project Thrive, during this rough patch. They provided me with resources to help me in my job search and prepare for interviews. My journey throughout the programme continued to be fruitful, and I learnt a variety of skills.
What I learnt from my mentor
During the 12 week Thrive programme, Anton and the Project Thrive team helped me to build the following skills:
Programming skills
This helped me to organise my code in a cleaner way, and to write programmes that have better performance by using the right programming style needed for each functionality.
Through the feedback Anton gave on the code that I’d share with him in our meetings, he helped me understand how I should approach solving each problem through programming.
Communication skills
I would previously explain my ideas by giving examples before explaining the idea, and wouldn’t give others a chance to ask anything before I was done “selling” them the idea. Anton advised that communicating in this way makes it difficult for the next person to fully understand what I’m talking about, and also makes it difficult for them to give any input since I exhaust all my points before the next person can join the conversation. Now, before communicating my ideas, I always try to think of how to most clearly get them across in a way that engages people rather than alienates them.
Job-seeking skills
Anton showed me what to look for in a potential employer. For example, I shouldn’t only focus on the tech stack used, but also the kinds of projects companies work on and what the companies have achieved. This shows if there will be room for growth.
In addition to this, becoming a JavaScript developer meant I would have specialised skills instead of being a jack of all trades. This would make me more attractive to potential employers.
Anton also stressed the importance of not taking rejections personally, but as an opportunity to learn as I get to know more of what companies are looking for: I shouldn’t be so hard on myself.
Career development skills
My mentor also helped me with overall personal development, such as:
- Taking my time to learn things properly and being consistent rather than rushing.
- Reaching out to other developers to work with them on projects, develop teamwork skills, and learn from them.
- Figuring out what products I’d like to work on to avoid situations where I’d make enough money but not enjoy what I was doing.
- Creating a healthy work-life balance to build friendships and avoid burnout. I now have a work schedule which allows me to spend time with my family and friends and exercise.
Anton’s feedback and advice helped me to set realistic goals and actionable milestones to get where I wish to be.
Based on the list of programs that Anton had compiled for me earlier in the programme, I applied to Umuzi to get accreditation as a JavaScript developer. I have since made it through the bootcamp and am now working on the Umuzi learnership programme. I will be accredited as a JavaScript developer, which was the goal of my mentoring programme. This has been my biggest achievement with Project Thrive, and I would not have been able to do it without mentoring.
It doesn’t matter whether you’ve just started a career as a junior developer or have been doing it for some time - mentorship is for every developer who needs help in building a career in tech.
Resources
Below is the list of some of the resources that I have found helpful on my learning journey :
- Traversy Media – I found the HTML and CSS, and JavaScript playlists helpful because they consist of concept-focused and project-based courses which helps in understanding the application of these concepts. The YouTube channel, run by Brad Traversy, teaches many different programming languages.
- FreeCodeCamp – This really helped me in understanding JavaScript algorithms and data structures with their well-constructed JS course. You also earn a certificate upon completion of each course, and it’s free!
- Udemy courses
- Modern JavaScript From The Beginning – This is a really good course for learning vanilla JavaScript because it incorporates a project at the end of that course. This allows you to apply the skills learned, and you also learn to manipulate the DOM without jQuery.
- 50 Projects in 50 Days – This course is useful after learning the core concepts of HTML, CSS, and JavaScript as it is all about applying these concepts by building small projects.
- MDN Docs – I found this really useful when I dug deeper into each concept. It's comprehensive documentation that explains web development concepts in more detail.
- W3Schools – This comes in handy when you want to understand when to apply a certain concept because it provides you with an option to test the code to see its output. You can tweak the code however you like and see the effect of your changes.
- Eloquent JavaScript – A book that I have found useful as a beginner because the author has explained each concept in a simple way. It includes small projects at the end of each chapter to test your understanding of each topic learned in that chapter.