Having just finished up my second round of Djangonaut.Space (which I wrote about here) I wanted to write a bit about mentors ... how to find one, how to work with one, and how to be one.

Finding a Mentor

One of the best ways to find a mentor is through a program like Djangonaut Space. You're put into a cohort of other Django / Python programmers with a Captain and a Navigator. A program like this offers up ready made mentors in the form of the Captains and Navigators. Even your fellow participants can act as mentors.

The thing about a mentor, and finding one, is that what you're looking for isn't ONE mentor ... you're looking for a mentor in a specific aspect of life, whether personal or professional. In Djangonaut.Space you'll get a couple of mentors in Python / Django, but you may also find that you get a mentor who helps with thinking about / dealing with / finding developer jobs.

Working with a Mentor

Working with a mentor isn't just showing up and hoping that all of their knowledge in the specific aspect of life you're looking to be mentored on will suddenly flow from them to you like a fountain. You need to do a bit of homework too!

Mentors can provide lots of guidance, but like any guide, you kind of need to know where you're going ... even if it's just a vague direction. Having a goal of

I want to be a programmer

is a bit vague and difficult to help on. A mentor can provide some guidance for that, like

Try Python

but a goal like,

I want to learn programming to help automate some of these things

will definitely lead to more focused advice. Now the mentor can say,

That's great! Check out this book, these blogs, and follow this YouTuber ... also, here are 10 people you might find interesting on Mastodon (or your preferred Social Media platform of choice)

When working with a mentor they might provide open ended advice or guidance and expect that you'll have done something with it. Going back to the previous example, if a mentor offers the advice of Books, Blogs, YouTubers, etc at your next interaction they might ask, "So did you have a chance to check out any of those things".

If your answer is no, that's not the end of the world, but it might signal to the mentor that you're not ready for the mentor/mentee relationship. If your answer is a bit more defined, like "No, work and family have really been crazy, but I've set aside 2 hours this weekend to really check them out" will help the mentor know that you're going to actively try and work on the suggestions made.

Something to keep in mind is that this is a relationship with the mentor. They will try and provide helpful tips and guidance to you, and in return they expect that you'll be acting on those tips or guidance. If you're not willing or able to do that ... that's OK, but maybe this isn't the best time for your mentor relationship to start

How to be a mentor

Going back to my comment above, being a mentor isn't about being the ONLY mentor for a person, but a mentor for that person for a specific thing (or set of things) to help them grow. And that's really the point of mentoring. You want to help someone with their growth so that they can get better at a thing. This will have the strange effect of making you better at that thing as well.

It's easy enough to wave your hands when you're thinking about why something works the way it does, but if you're mentoring someone and they ask you a question you don't know, you are going to do yourself a great service by helping to explain and get them to understand the concept as well.

For example, something that really breaks my brain is mocking. It's just never really stuck with me and every time I need to mock something I'm basically learning it over again. If I had a mentee and they asked about mocking I'd probably get a deer-in-the-headlights sort of look and then say,

You know, it's something I struggle with, but let me write down some thoughts and my understanding on it and talk about it next time.

And, here's the key, next time you meet with them talk through what you learned (again) and show them how you learned it. What docs did you reference? What applications of mocking did you try? How did you try and figure it out?

I think so much of problem solving is learning how to learn. Honestly, if you can be presented with a problem and are able to come up with a solution without much thought then you may not understand the problem as well as you think. You might just be applying a previous solution to the current problem .. essentially trying to make a square peg try to fit in a round hole.

But with mentoring you can help people learn how you learned and to guide them on their journey to discovering things.

Something super important to remember is that it's their journey, not yours.

One thing I do, probably too much, is tell stories to try and get people to understand and remember how things work. I find that stories really work for my brain and help me to retain details that are important, or help to remind me of the ways in which problems were solved.

Honestly, every time someone comes to me with a new problem that I've never seen before my imposter syndrome kicks in like nobody's business! I beat myself up for how stupid I am that I can't solve this problem that I've never seen before.

But slowly, as I work through the problem, I start to see connections to other problems that I've solved. Not the same problem, but similar problems. This helps to get me to a solution ... but short walks help too ... and a good night's sleep.

And this is a prime opportunity for you to take what you've learned, how you've learned it and help a mentee with finding an approach that helps them in similar situations.

As a mentor, you don't need to be a WORLD EXPERT, you just need to be an expert on that one thing in comparison to the mentee. I once heard that an expert is just the person in the room who knows more about a topic than anyone else in that room. You don't need to be a Django Expert at DjangoCon to be a Django Expert at work when trying to introduce Django to developers that haven't seen it before.

Wrap up

Finding opportunities to be mentored can be hard, but a potential good place to start are programs like Djangonaut.Space and similar programs. Other places can be contributing to OSS projects1

Being a mentor doesn't mean you need to be a world expert, you just need to help one person find resources to help move them along in their journey. If you can do that, then I'd call you a pretty successful mentor!

  1. There are some caveats here, like an open and welcoming community ↩︎

tags: advice