Mentoring the Next Generation of Developers
Mentorship is a buzz word in software development today. Junior developers seek out mentorship at their jobs; senior developers are judged on their ability to mentor others. But why do we, as software developers, emphasize mentorship and what exactly does mentorship entail?
Why is Mentoring Important?
Mentorship is a valuable part of professional development, but it is particularly important in the tech industry as a whole and especially in a quickly evolving field like software. At the rate that technology is changing, knowledge-sharing and education are critical for all of us to keep up.
For junior developers entering the field, landing that first engineering position is a major career milestone. They put in the hours to study in college, attend coding boot camps, or even put in the time to learn on the job or in their free time. Once in the door, navigating real-world projects and the workplace can look very different from the training they’ve received. Developers are learning every day, coding by trial and error, asking questions in Stack Overflow, reading blog posts, and soaking up knowledge from their peers. Having a good mentor can make this everyday learning process easier and more focused. Most importantly, it is a crucial tool for career growth.
Naturally, the primary focus of a mentor relationship is on the mentee, who is there to learn from the knowledge and insight of their more experienced developer. That relationship gives the mentee an immense professional advantage and allows them to level-up in their field more quickly, bypassing pitfalls they may have otherwise fallen into.
Less discussed is the significant benefit that a mentor receives from mentorship. More than just a bullet point on a resume, mentoring allows the mentor to improve their communication skills and their people skills. By teaching and sharing their knowledge, mentors can solidify their understanding of concepts and think about situations from a different perspective. It is also an incredibly rewarding experience to see the progress that your mentee has made with your help and feedback!
Mentors and How to Find Them
You do not have to be a seasoned veteran to take on a mentor role — we all have something to share. Focus on the things that you’re knowledgeable about and actively engage with others to pass on that information and those experiences. Talk to your co-workers about where they’d like to learn and grow, challenge them in those areas, and keep the feedback loop going.
Mentorship can be a formal arrangement, but it often happens naturally as part of our jobs. The most important part of being a good mentor is caring about your mentee’s development and doing what you can to push them forward.
As a junior developer, there are many opportunities to seek out your potential mentor. A mentor can be a co-worker on your team, a boss, a former boss, an instructor, a connection in the community, or just simply someone that you look up to and aspire to be like. Industry meetups, study groups, and internship programs can also be a great place to grow your network and meet others that can help you along your career path.
How Mentors Have Shaped My Career
In my first job as a software developer, I had the opportunity to work with two senior developers that I still consider mentors to this day. They fostered a learning culture where discussion and questions were encouraged. But above all, I am most grateful to them for always pushing me to give my opinions.
I remember a discussion where I started to disagree with one of them but quickly deferred to his proposal. He pushed back, noting that withholding my argument was depriving both of us of a learning opportunity. He emphasized that he had just as much to learn from me as I had to learn from him. That interaction has stuck with me because of the huge boost of confidence I gained from it. He could have easily taken his win and moved on, but he chose to use it as a teaching moment and ensure that I would speak up again next time. As a female in a male-dominated industry, it’s tempting to hold back. Having a mentor to push me and encourage me has helped me get to where I am today.
Mentorship at BigCommerce
As BigCommerce has grown its engineering organization, we have begun to formalize mentorship opportunities. We recently rolled out an Engineering Mentorship Program with great success. The program provides a light framework that defines the objectives, the responsibilities of each party, and suggested guidelines. The goal is for the mentor to own the relationship with an outline of what to expect and how to get as much from the experience as possible. Our focus has been on providing opportunities for those who want to learn, both at our company and in our community.
Ann Richards School Intern Program
Recently, BigCommerce had the opportunity to participate in a community mentorship program with Ann Richards School Internship Week. The Ann Richards School (ARS) is a public, all-girls, STEM-focused school located in Austin, Texas for grades 6–12. The school aims to enroll a student population that mirrors the demographics of Austin, accepting many students who go on to be the first in their families to attend college.
When the students enter their 9th-grade year, they choose a STEM track which will guide their electives over the next four years. They also participate in a week-long internship with a local business during their junior year that is related to their chosen track. This year, BigCommerce hosted four ARS juniors from the Engineering and Media Technology tracks with the goal of going through an entire product lifecycle and launching an e-commerce store by the end of the week. Our phenomenal interns, Andrea, Karen, Marti, and Nayeli, decided to dedicate their online store to their school, providing a service to distribute ARS swag and re-sell old school uniforms online.
The goal of the week was to give the interns insight into e-commerce and some of the career paths in the tech industry. As a developer, it was particularly rewarding to see Andrea really take to the coding aspects of the project. She dug into the CSS, working with the browser’s built-in developer tools to adjust styles in real-time. She read our developer documentation, learning how certain libraries worked so she could adjust the design to her liking. I could see her excitement in taking their store from ideation to creation.
The benefits of early mentorship are significant. Seeing female role models in technical fields encourages young women to pursue those careers. And getting hands-on experience with those careers puts those options even closer within reach.
It was also amazing to see how much energy the interns brought to the BigCommerce office. All of our employees wanted to know what the interns were working on and they could help. They were excited to act as mentors in any capacity. It was a reminder of why we choose to do what we do and was incredibly rewarding for all of us.
How to Mentor Junior Developers
If you are looking to start a mentorship program at your company or volunteer to mentor someone in the community, here are some tips to help you get started:
1. Understand your mentee’s goals.
To have a successful mentorship relationship, it is imperative to understand what your mentee wants to get out of the relationship. What skill sets do they want to improve? Are they working toward a specific career goal or promotion? And, most importantly, are you the right person to help them achieve those goals? Be honest about what you can provide in terms of experience and expertise and let your mentee decide if it’s the right fit.
2. Plan projects to help them grow.
Mentorship should not stop when your mentorship session ends. Provide them with specific projects or challenge them to seek out specific opportunities at work. For example, if they are working toward a promotion, encourage them to do a self-assessment against the requirements of the job they are aiming for and select certain areas to work on. You might also help them plan side projects that focus on building a new skill they want to learn or suggest a reading list of books to work through. Provide advice on how to improve in those areas and check in on their progress.
3. Plan regular check-in meetings.
Regular meetings are essential to the mentor relationship. This is dedicated time to check in on projects, goals, and talk about the challenges and blockers along the way. It is also a great time to simply socialize and get to know your mentee on a more personal level. Talking regularly builds and strengthens your relationship. Being a developer is demanding and it can be tough to keep your motivation and mojo strong. Having someone to talk to makes it better. As a mentor, you can be a sounding board, listening to their frustrations, hear their ideas, and help them problem-solve.
You can work with your mentee to decide what meeting cadence is right — it might be a once a week, once a month, or maybe even just a 15-minute phone call or Google Hangout whenever you can squeeze it in. The goal is to make it as consistent as possible and as meaningful as possible.
4. Review code.
Code reviews can be intimidating for new developers, but reviewing code with a mentor can be one of the best ways for new developers to improve. Frame the review so your mentee understands that you’re with them to help solve a problem — not to point out their bugs. As a junior developer, it can be instructive to see that senior developers can make mistakes too, so don’t be apprehensive about letting your mentee see your process for working through a problem.
5. Share resources.
Pass along any articles, books, or other resources that you’ve found useful to your mentee. Although these are great to bring to a mentorship session, I encourage you to share them outside of a scheduled meeting to build the relationship and keep the conversation going. Encourage your mentee to do the same and keep a dialogue going!
6. Get and give feedback.
Always keep the goals of your mentee in mind. Have they made progress toward those goals? Are you still providing value as a mentor? Solicit honest feedback from your mentee on a regular basis and reassess the relationship. What adjustments should you make? Should the mentorship continue? If the mentee’s goals have changed and you are no longer the right fit, it is perfectly ok to end a mentorship relationship. Thank them for working with you and end it on a positive note.
Conclusion
Software development is an industry of continuous learning and improvement. Mentorship is an essential part of that to hand down knowledge and build the developer community.
Early in my career, mentors played a pivotal role in helping me get to the next level, and my recent work with the Ann Richards School has been an exciting opportunity to pay that forward. In this post, we’ve explored 4 tips for being a better mentor for junior developers:
- Understand your mentees’ goals
- Tailor projects to those goals
- Make time for regular check-ins
- Help review code
- Share helpful resources
- Get feedback along the way
Whether you’re an experienced senior engineer, or you’re engaging in near-peer mentorship, everyone has something to offer as a mentor. Have mentors played a role in your career, or do you have advice for how to get started mentoring developers? Let us know in the comments or tweet us @BigCommerceDevs!