Software development can feel daunting when you first start out in your career. My journey from computer science student at the University of Houston to Associate Software Developer here at Frogslayer was not always easy. Luckily, mentorship played a huge role for me along the way.
These days, I serve as a technical lead on a project. I often find myself reflecting on lessons learned during my time as a mentee and using them to influence the way I interact with younger developers now.
While there’s plenty of content out there discussing why technical mentorship in software development is a big deal, I’ve yet to come across much that dives into the specifics of what to teach mentees to be a great mentor – so here are my specifics.
6 Lessons for Your Mentees
Early in my career, I was often overwhelmed by the scale of a software system and struggled to identify the appropriate place to begin investigations. I believe mentors are well served to begin tackling this problem at the beginning of their relationship with their mentees.
Based on how my mentors strategically approached this challenge with me and my reflection upon that experience, here’s how I suggest approaching this topic with young developers:
1. Start with Small, Manageable Tasks
Assigning a small bug or refinement task to help new developers understand the workflow (e.g., completing a pull request as practiced by the team) is a great way to introduce small pieces of a large-scale software system.
I had been given the opportunity to follow through the motions of completing a pull request as practiced by the team. I found this to be very helpful during my early days as a developer. It allowed me to see the system on a larger scale and was a more hands-on approach.
2. Graduate to the Big Picture
Mentors can introduce broader architecture and allow mentees to ask questions as they arise, adjusting the complexity based on the mentee’s comfort and skill level. If you provide context along the way, it is relatively easy to graduate from something like a simple string change or small, reusable functions to components and entire features.
Developers know how to write code, but helping mentees understand the relationships between features the team creates allows them to make more targeted contributions, ask informed questions, and assemble creative solutions of greater value.
3. Regularly Schedule One-on-Ones
One-on-one meetings in the early stages of a mentee’s career can enhance understanding and efficiency, as opposed to a “sink or swim” approach. Avoiding the task of resetting misconceptions that occur due to being overwhelmed is one of the greatest ways to enable younger developers to feel in control of their careers. You might think of it as helping foster their confidence so they can best assist with a project’s needs.
4. Help Overcome Imposter Syndrome
I’m lucky to be surrounded by some of the brightest minds in the industry here at Frogslayer, but for some of us that comes with a heavy dose of imposter syndrome, especially early in our careers.
Thanks to our “Act Transparently” core value, I quickly learned I was not the only one dealing with this. It was encouraging to hear how common combating imposter syndrome was, even from some of the most senior developers at our firm.
When I started my software career, I was heavily hindered by imposter syndrome. Through working at Frogslayer, I was able to see from more senior mentors that I wasn’t the only one who had it and that even senior developers still need help with things. Having mentors who were able to admit that they were wrong or that they didn’t know something really went a long way in how I view my own work and continues to influence how I mentor other people now.
Chris Rogers | Senior DevSecOps Engineer
I suggest acting transparently and sharing personal stories and struggles with younger developers.
Here are some ideas and questions to reflect on and share to instill confidence in your mentee:
- How did you approach overcoming imposter syndrome both early and later in your career?
- Where are the gaps in your knowledge? How are you working to fill them?
- Share of a time you learned something new from someone ‘less experienced’ than you.
- Requirements inevitably change; share how even the most confident developers must become comfortable in knowing they can’t know it all and have to be flexible.
5. Embrace Continuous Growth
Mentorship has revealed to me that I am both capable and ignorant. Now, that’s not to say I’ve had mentors criticize the gaps in my knowledge; I do not recommend that. The ‘ignorance’ piece of that statement is derived from self-awareness.
Let me explain—mentorship clearly signaled that while I was succeeding in meeting my present goals early on in my career, there was always more to learn. I saw (and still see) firsthand the capacity and skills of others and realized there would always be much room to grow and refine my skills.
Greater value additions are possible, and through mentorship, I gained clarity on how to go about pursuing them. Sure, these pursuits are rewarding in the fulfilling sense, but also in that they set me up to grow in my career and be given more responsibility.
To flip my statement around, being ignorant yet capable allowed me to advance professionally. I was encouraged to ‘take ownership and act’ and ‘pursue growth.’
As a mentor, lead by example. What areas can you pursue growth? Consider the example that’s being set for younger developers and the impact it can have firmwide.
6. Create a Space for Speaking Their Mind
Our firm practices psychological safety, and because of this, I always felt comfortable asking my questions – no matter how big or small.
Having had incredible and productive conversations and interactions with developers more senior than myself both prepared and inspired me to grow.
As a junior developer at Frogslayer, my manager has been an important mentor for me. Whenever I’ve got something on my mind, he always has valuable feedback to give – whether my concerns are technical or career-oriented. He has fostered an environment where I feel comfortable sharing what’s on my mind.
Carlos Vazquez | Junior Software Developer
Mentors should create an environment where young developers feel comfortable sharing their questions, ideas, and feedback because it plays a large role in instilling confidence.
TL;DR
The mentorship program at Frogslayer has played a huge role in my growth as a software developer. I now serve as a tech lead on a project and I keep the following takeaways front of mind when interacting with younger developers:
- Software system scale can be overwhelming to new developers. How can I help them see the bigger picture?
- We all struggle with imposter syndrome. How can I be transparent about my struggles, share my past shortcomings and how I overcame them to encourage others?
- There’s always room to grow our skills. Have I pursued growth recently? Can I help provide clarity on how to pursue learning a new skillset?
- There’s no such thing as a ‘dumb’ question. Am I creating an environment where younger developers feel comfortable and encouraged to share ideas and ask questions?
If you’re a new mentor or just a more experienced developer working with those early in their career, I hope you consider these lessons and work to implement them into your interactions with mentees.