Mentorship Matters: Fostering Growth and Knowledge Sharing
After being both a mentee and a mentor, I realised there's more to it than one initially realises. I regret not having started the mentorship journey earlier. It is an important part of the software engineering journey.
I have learned a lot of different things through this journey and have managed to improve my technical and soft skills faster than I could've if I didn't have a mentor. Today, I'd like to convince you why you should get a mentor!
Why Mentorship Matters
Mentorship is important and beneficial for various reasons, ranging from accelerating learning to navigating your career.
Accelerated Learning
As a junior or intermediate software engineer, you are likely still working on expanding your knowledge and gaining experience across various domains. The journey of learning and professional growth takes time, patience, and often involves learning from mistakes. Mentorship can significantly accelerate this learning process in several key ways:
Direct Guidance on Complex Problems: Instead of spending hours or days trying to solve a problem on your own, a mentor can provide insights or solutions based on their experience, saving you time and accelerating your learning curve.
Preventing Common Mistakes: Mentors can share their past mistakes and the lessons they learned from them, helping you avoid similar pitfalls and learn from their experiences instead of your own missteps.
Exposure to New Technologies and Practices: Mentors can introduce you to new technologies and best practices that you might not encounter in your day-to-day work, broadening your technical skills more quickly.
Learning from Real-World Scenarios: Through discussing real-world scenarios that your mentor has faced, you gain insights into practical applications of technology and problem-solving strategies that are often not covered in textbooks or courses.
Customised Learning Path: A mentor can help tailor your learning based on your interests and career goals, focusing on areas that are most beneficial for your growth.
As an example, when I was tasked with developing a Firestore library for our division, my lack of experience in building libraries would have led to a prolonged trial-and-error process. However, turning to my mentor for guidance provided me with valuable insights into the do's and don'ts of library development, specifically tailored to our division's needs. This not only made my library writing experience more efficient but also enriched my understanding of library development, contributing significantly to my professional growth.
Skills Transfer Beyond Tech
Soft skills are an integral part of software engineering, encompassing communication, project management, and problem-solving. These skills are essential for professional growth and effective teamwork. Here's how mentorship can facilitate the development of these crucial soft skills:
Enhancing Communication Skills: Mentors can provide feedback on your communication style, helping you refine how you convey ideas and feedback. This is crucial for collaborating effectively with your team.
Project Management Guidance: Through their experience, mentors can share insights on managing projects efficiently, from planning stages to execution, helping you improve your organisational and leadership skills.
Improving Problem-Solving Abilities: Mentors can expose you to new problem-solving techniques and strategies, enhancing your ability to tackle challenges creatively and effectively.
Providing Constructive Feedback: A good mentor will observe your interactions and provide constructive feedback on how to improve. This feedback can be invaluable in recognising and adjusting behaviours that may not be contributing positively to team dynamics.
Facilitating Conflict Resolution: For example, if you find yourself in recurring conflicts with a colleague over code reviews, a mentor can help you understand how your feedback might be perceived and guide you on how to approach such situations more diplomatically.
Mentors play a crucial role in not only transferring technical knowledge but also in helping mentees develop the soft skills that are essential for a successful career in software engineering. By providing guidance, feedback, and support, mentors can help you navigate the complexities of workplace dynamics and enhance your overall effectiveness as an engineer.
Ripple Effect
Accelerated learning starts a very nice ripple effect. As a new starter, you will onboard quicker. This means you will begin contributing sooner than you would without a mentor. Learning more from your mentor about the tech also leads to greater innovation and generally, an overall team improvement.
Improving your skills also means you can become a mentor at some point, sharing your knowledge and skills with others in the team or division.
When I joined Takealot.com, I had no idea what Kubernetes or what any of the 100+ cool things being used here were. After I got a mentor, I found it helpful to have someone to teach me more about the tech and the do's and don'ts, from experience.
Career Navigation
In the early years of your software engineering, you are encouraged to not try and specialise in a specific field but to explore and have a feel of what you do and don't like. Having a career vision and setting goals can sometimes be difficult. You will also come across many opportunities and challenges along the way. Having a mentor in this journey means you can at least have some guidance and not be blind.
Career Vision and Goal Setting
There are various career paths in tech (frontend, backend, DevOps, domain specialisation etc.). You need to gain experience in some of these areas to determine which path is best for you. Your mentor can help by shedding more light on this and providing feedback on your thoughts.
Regardless of the path you choose, goal setting should be a priority. You need to ensure that your goals make sense and are aligned with your career path. I had very little experience with goal setting before joining Takealot.com. I struggled for the first few quarters when setting my goals as I was not sure what my career path was and how to find it. My mentor guided me on how to set goals, even without a clear career path. I also received good advice on how to find my career path.
Navigating Opportunities and Challenges
Exploring different career paths also brings the possibility of getting into different industries or companies. There is a lot of unknowns when it comes to this but mentors can shed light on the realities of working in different roles, industries or specific company cultures. This will guide you in making informed career choices.
Types of Mentorship
Onboarding/Peer-to-Peer Mentorship
Possibly the most common form of mentorship is having a buddy or peer during your onboarding. This type of mentorship can be formal but is generally informal. An onboarding buddy is there to help you settle into the new environment, ask "dumb" questions to, and work with to ship your first piece of code to production. They will explain the system and processes to you, as well as some rules that are generally not documented.
This type of onboarding is great as it has a clearly defined scope, duration, and responsibilities. The mentor is tasked with getting you to a point where you are ready to individually contribute. This normally starts on your first day and runs for 2 or 3 months. The mentor is also expected to drive this mentorship as you as the mentee are still new and still learning the ropes.
Formal Mentorship
This is perhaps the rarest form of mentorship, especially for engineers. Formal mentorship follows agreed-upon guidelines on how the mentorship will run and measurements of success. The mentor and mentee will setup regular sessions to meet up and have discussions. A lot of companies have mentorship programmes that encourage more senior employees to volunteer as mentors, and junior employees to join as mentees.
A formal mentorship can help you grow as the most common goal is for you as the mentee to learn from a more experienced person. It is possible that there are not a lot of experienced people in your team or that you would like to learn from a specific individual due to their expertise in a particular field.
There's often also resources and additional support for mentors, to ensure that they are well-equipped with the necessary skills and knowledge for the mentorship.
Tips for a Successful Mentorship
Regardless of the type of mentorship you are receiving, there are a few tips to ensure that you are destined for success.
Goals and Expectations
Setting clear goals and expectations is fundamental to the success of any mentorship relationship. Here's how to approach this critical aspect:
Onboarding Mentorship Clarity: For onboarding or peer-to-peer mentorships, goals are typically clear and straightforward:
Ensure the mentee's smooth integration into the team.
Equip the mentee with the necessary tools and knowledge for effective contribution within a specific timeframe.
Setting Goals for Other Types of Mentorships:
Identify Desired Outcomes: Begin by determining what you hope to achieve through the mentorship. This could range from gaining in-depth knowledge in a specific domain to developing leadership skills.
Use SMART Goals: Apply the SMART criteria (Specific, Measurable, Achievable, Relevant, Time-Bound) to define these objectives. This helps ensure that goals are clear and attainable within a realistic timeline.
Establishing a Timeline: Decide on a timeline for achieving your goals. This helps maintain focus and momentum throughout the mentorship.
Example of Goal Setting in Action:
When starting a new project on creating a testing framework, I set initial goals with my mentor for guidance and feedback.
We agreed on regular 30-minute meetings weekly and a review every third month to assess progress and re-evaluate goals.
The understanding was also that the mentorship would conclude once I felt confident that I had achieved my learning objectives.
Establishing clear goals and expectations from the outset of a mentorship ensures that both mentor and mentee have a shared understanding of what they aim to achieve. This structure supports effective learning and development, making the mentorship experience both productive and rewarding.
Open Communication
Another great thing about mentorship is that there is always someone you can communicate with for questions or feedback. Your mentor should foster a safe space for honest questions, feedback, as well as constructive criticism. Ensure that you and your mentor establish guidelines on how communication will work. Can you pop him a question on Slack? Is communication only restricted to the regular meetings?
Mutual Respect
Time is important for both you and your mentor. You should value each other's time and insights as mentorship is a two-way street. Stick to the guidelines that you both set out.
Conclusion
Mentorship is a powerful means of learning and self-improvement. It is never too late to get a mentor as there's always someone who knows more than you and is willing to share.
Please feel free to share your thoughts and insights on Mentorship in the comments below.
Thanks for reading, and subscribe to the newsletter if you enjoy the content!
Subscribe to my newsletter
Read articles from Tebogo Selahle directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Tebogo Selahle
Tebogo Selahle
I am a software engineer for Takealot.com living in Cape Town.