The tech world can be amazing. The open source community gives us thousands of useful tools, there are countless meetups every day for any language you want, and, thanks to sites like Stack Overflow, whatever problem you’re having right now probably already has an answer. One other thing that the tech world has that I really love is the concept of mentoring. This isn’t unique to the tech world, we’ve had mentors in various fields forever, but the tech world’s mentors can often do it remotely or at a scale that other industries haven’t been able to.
What’s a mentor?
So, what is a mentor? Mentors help people that need some guidance in a given area. Maybe your mentor helps you with learning a language or framework. Or maybe they help you with career advice or contributing to a large open source project.
My experience with mentorship has been in two major areas:
- Helping people with getting into open source contributions and career advice.
- Mentoring people about their careers is scary work! Most of mine was offering contacts at various companies and advice on interviews.
Open source work is often an intimidating area to get into. For a lot of people, the idea of putting their code up for a large community to review and comment on is just too much. Mentoring someone here usually means walking them through how to make patches and pull requests. You point them to the right channels for their questions and issues. And, sometimes, you even just sit there and pair program with them!
Want to mentor?
If this has piqued your interest in mentorship, here are some considerations before you jump in:
- Know your area. If you’re going to mentor someone about contributing to Rails, you should have already had some patches accepted. Same for mentoring about career advice or anything else. Your advice should have some grounding in reality.This could also have been named “be honest”. If your mentorship veers outside of your comfort zone, away from things you have a solid grasp on, be sure to bring that up. Tell the person you’re mentoring about your doubts and limitations. They’ll appreciate the fact that you’re still willing to help and they’ll be able to take your advice with an appropriate grain of salt.
- Scope is king. Just like projects and functions, you should make sure you don’t take on more responsibilities than you can handle. I’ve found that I’m usually best if I only mentor one person at a time. This lets me keep their status and questions in mind. The last thing you want to do is ask Sam about the interview that Julia just had!This also applies to what you’re mentoring them about. It’s probably asking a lot of you to try and guide someone from high school to senior developer. Same for “never opened a text editor” to core committer on the Linux kernel. Early in the relationship, you and your mentee should agree on exactly what they want you to help them achieve.
- Everyone needs mentoring. And that includes you. Find people to help you in areas where you feel deficient. Maybe you feel like you’re a strong programmer, but you don’t know how to teach that to other people. Find a mentor that can help you with teaching and public speaking. Perhaps you have a lot of experience in a particular industry but you’re just not sure how to spread that knowledge. A mentor that can help you get better at social media or blogging might be just the key.Expanding your experiences and knowledge gives you new places to help others, too. And even if this doesn’t result in you mentoring people in these new areas, you’ll know more when your mentees ask questions in these areas.
Ready to start mentoring?
You like the idea of mentoring, you have solid knowledge in your chosen area, you have a mentor with a good goal. Now, what? Well, if you have an in-person mentor, answer their questions. Yes, sometimes it really is as straightforward as that.
If you don’t have that luxury, though, what other options are there for mentoring?
- Local meetups: Local meetups are a great way to find people that would like a mentor. It can feel amazingly conceited, but just ask to make an announcement that you’re available as a mentor. People will be grateful to take you up on your offer. Many communities also have meetups aimed at mentorship. If your community has a beginners’ night, that’s the one you should attend as often as possible. Also, groups like Hack The People are there to help these relationships bloom.
- Events: Many groups like Django Girls, PyLadies, and Rails Girls are always looking people to act as coaches and mentors. Conferences usually have beginner-focused tutorials and events, too, that need mentors and helpers. These are a great way to gain experience and confidence at mentoring.
- Online: If you can’t do it in-person, the Internet has many places you can mentor people. The Treehouse forum is a great place to start. Students have questions about course content and work they’ve done on their own. You can also answer questions on StackOverflow. Or, if you want something a bit more one-on-one, check out CodeNewbie. They’re a newer organization aimed at getting people into the tech industry and they have a ton of language-specific sub-communities.
I feel like I’ve gotten a lot out of mentoring others over the years. I’ve learned more about my own abilities and increased my own knowledge a lot. I’ve also been able to watch several people do things they really wanted to do that they weren’t sure they could. It’s an amazing experience and I can’t wait to share it with you!