This is a transcript of the keynote Anna Ossowski (Twitter, GitHub) gave at PyCon CZ 2017.
The idea of this transcript is heavily inspired by Ana Balica's (Twitter, GitHub) transcript of her Humanizing among coders keynote for PyCon CZ 2016. Thank you!
This transcript exists in the following languages:
Hello everyone! I hope you’ve been enjoying PyCon Czech so far. This is my first time at PyCon Czech, my first time in Prague, and actually my first time ever keynoting a conference, and I’m super excited that I get to be here and speak to you to day! Thank you so much to all of you for being here and for joining me for my talk! Before I begin, I would like to give a big shoutout to the PyCon Czech organizer team, who put all of this together and invited me to speak, and who were fantastic to work with. I especially would like to highlight the financial aid program. It’s due to this program that I get to be here today. Thank you! | |
A little bit about me first. My name is Anna Ossowski. I’m from Germany. I have a degree in English and Catholic theology. You might have identified William Shakespeare and Pope Francis on my slide. But about 3 years ago I started learning Python and got involved in the Python and Django communities. I like code and tech but I also really like people so I love working at the intersection of both. I currently work as the Community & Operations manager of Django REST framework. I’m also involved in a few other tech related things. I’m PyCon US Open Spaces Chair. I’m DjangoCon US Diversity chair. And I’m one of the leaders of the PyLadies Remote group. I’m here today to talk to you all about becoming mentors and helping others succeed. | |
Before I start, I first would like to do a small informal survey. Who of you have mentored someone? Who of you have been mentored by someone? Ok, awesome. Let’s get started and take a look at what a mentor is. I’m an English major. I love definitions and dictionaries. So what did I do? Of course, I pulled up a dictionary online, and looked up the word mentor. The Merriam Webster dictionary says that a mentor is someone who teaches or gives help and advice to a less experienced and often younger person. And that a mentor is a trusted counselor or guide. I don’t think this definition is perfect but it’s okay. Mentoring doesn’t always have to mean giving help or advice to a less experienced person. You can be a mentor to someone who is equally or even more experienced than you are. Also the person you’re mentoring doesn’t necessarily have to be younger than you. | |
So we know a little bit more about what a mentor is. But why do people need mentors? | |
Think of any situation where you learned something new. Whether that was a new programming language or a new hobby or a new sport or an instrument or just anything new. There probably was a moment when you got stuck. And there is suddenly this big mountain in front of you and you don’t know how to overcome it. It’s a fact that when you learn something new you will get stuck at some point. And when you get stuck, you have 2 options. | |
You can either give up or get help. And giving up is definitely a valid option. I want to stress that giving up is not failure, it’s not something to be ashamed of, in fact sometimes giving up is a really smart choice. But let’s say you’re learning this thing and you are really determined to make it but you’re stuck and you have no idea how you’re gonna climb that mountain so your best option is to get help. And that is where a mentor comes in. And remember that it takes effort and courage to reach out and ask for help but reaching out to a mentor is the first step of a new success story. It brings you one step closer to reaching your goal. | |
So what’s a mentor’s job? A mentor’s job is to lend a hand. Be a guide. Be an ally. Help them climb the mountain. Go on a mission with them. Share your knowledge and help someone else succeed. Help someone set and achieve career goals, make smart business decisions, overcome workplace challenges, learn new skills, or simply offer an outside perspective when someone is facing frustrations at work. | |
But why should you become a mentor? Why should you help someone? The answer to that question for me is pretty obvious. | |
Because helping others succeed is one of the best feelings in the world! | |
When I started out in the Python community there were a ton of awesome people who helped me and without them I most likely wouldn’t be giving this talk here today. If you think of your own story there were people like that too. You might not have called them your mentors but secretly they were. You should always consider giving back at least as much as you have received. So if you’ve ever had a mentor, you may want to think about paying it forward. | |
You may now think ok cool, but really what’s in it for me? | |
Not only is mentoring super fun and rewarding, you’ll also learn a ton. You’ll gain great teaching skills. You will learn how to think from someone else’s perspective. You will gain empathy and patience. You will learn a ton of new things and insights from your mentee’s questions and understand things in different ways. And you’ll be able to use these skills in other areas of your life as well. When you take the time to develop a strong mentorship relationship, you get access to a wealth of knowledge and experience, but you also end up with a lifelong friend and potential future business partner. In short, there’s no downside. It’s a two-way street. There is reciprocity there: You both have certain skills that you can offer to each other. Mentorship is an incredibly fulfilling experience and mentors learn at least as much as they teach. And if you think about it from an open source perspective, maintaining and leading projects alone isn’t very sustainable. In order to make open source sustainable, we need to train and teach others how things are done as well. I believe that mentorship will sustain the future of open source. | |
There are a few big myths about mentorship. One of them, which I think is one of the biggest ones is this one: You have to be an expert in order to be a good mentor. This myth is not true. You don’t have to be an expert. Oftentimes it’s enough to have gone through the same struggles as the person you’re mentoring. For example: I started learning English in 5th grade. In 7th or 8th grade I started tutoring younger students in English. Was I significantly more experienced than they were? No, I just had gone through the same struggles they were going through and therefore could relate to their struggles, and I was still able to help them. I’ve been tutoring students in English for over 10 years now and I think it was even easier for me to tutor them when I was younger because I was closer to their struggles. In the meantime I finished 9 years of high school English, an exchange year in the United States and an English degree, and by no means am I an English expert, but being more experienced also means having a harder time understanding people’s struggles. | |
Another myth is that only in-person-mentoring is good mentoring and that isn’t true. You don’t have to live in the same city and meet at the same coffee shop every week in order to have a good and successful mentor-mentee-relationship. Remote and online mentoring is just as effective. My friend Ian is one of my number one mentors. Ian lives in Madison, Wisconsin, I live in Germany, so there’s a 7 hour time difference besides the huge physical distance, and we still make it work and manage to virtually meet every Wednesday for an hour. Or I can ping him anytime I need help, even if it’s not a Wednesday. It’s been super helpful and successful and I learned a ton. In-person-mentoring is great but remote mentoring works just fine! | |
Myth number 3 is that mentoring someone takes up a ton of time. That’s also wrong. Mentoring is definitely a time commitment but it doesn’t have to take up a ton of time and it doesn’t mean that you have to be available all the time. What has been effective for me is setting up a weekly office hour like Ian and I did. We meet every Wednesday for an hour. We either use this time for me to ask questions or to work on a project together, or sometimes just to talk about other things. The advantage of having an office hour is that you have a set time where both sides are available. Also I know that I can ask Ian all my questions on Wednesday and don’t feel the need to ping him everyday, unless it’s something urgent. | |
And the last myth is that only newbies need mentors. That isn’t true either. There is constantly something new to learn, new decisions to be made, especially in technology. You never know it all. Sometimes it’s good to just get a second opinion on something. As humans, we’re always learning and evolving , and even the most experienced professional doesn’t know everything. Always play both roles. Mentors can have mentors as well. It’s ok for everyone to ask for help.Ideally you should never have to make the full transition from mentee to mentor. You can be both. We should all be learning from others and teaching others at the same time. | |
Please keep in mind that there’s a difference between a mentor and a tutor. A tutor is usually someone you pay to help you learn or improve. I used to work as an English tutor for many years and I got paid to help my students learn for tests, do their homework, etc. Mentorship is a more informal relationship that both parties benefit from in different ways. Mentorship is a peer-to-peer relationship. It’s all about learning from each other, supplementing skill gaps, and helping each other learn. Remember that it’s supposed to be a fun growth experience. | |
The key to success is simply defining the relationship from the beginning. Make it an open dialogue. Before you start mentoring you should have a conversation with your mentee and figure out a few things: These are: What are your goals? What do you want to work on together? What will the time commitment be? How are you going to communicate? These things can of course change over time but it’s important to figure this out as a good base to start your mentorship journey. When Ian and I started working together we did the same. We figured out a project to work on together. We figured out that my goal was to become a better programmer and to learn about REST APIs. We decided that communication via Slack and Email works best for us. And we decided to virtually meet once a week for an hour. Some weeks I do also ping him in Slack outside of our office hour or email him but it’s totally up to him when he has time to get back to me so it works out perfectly. | |
Let us take a look at the do’s and dont’s of mentorship yet. What are things that you should ideally do as a mentor. What are some things you shouldn’t do. | |
Don’t assume that you know how to help, just ask “how can I help?”. Find out what kind of help your mentee needs? Do they want you to tell them the solution to a programming problem? Do they need hints or guidance? Do they need an explanation? Do they just need reassurance? It is also important to not assume knowledge in certain areas. Instead just ask “Do you know this and this?” This will not only make your mentee feel a hundred percent more comfortable, this will also make your life as a mentor a lot easier. Learn to ask the right questions to figure out what your mentee doesn’t understand. Oftentimes people feel insecure and embarrassed to admit that they don’t know something. Give them the opportunity to say “I don’t know” and make them feel comfortable about it. | |
Which leads us to the next point: Show your flaws! Dethrone yourself! Show your mentee that you are just a normal person too. Share your own struggles with your mentee. Tell them what it was like when you started coding. People don’t sympathize with perfect, they sympathize with flawed. My English student probably used to ask me 10 times during our tutoring hour “What does this and this word mean?” And I didn’t always know the answer, so I got out my phone or iPad and looked it up for her. It’s okay to say “I don’t know.” In fact by saying you don’t know something you will make your mentee’s life easier because you show them that you aren’t perfect either, which in return will make them feel better about admitting that they don’t know something. Also it takes a ton of pressure off you. You may have heard the saying “the best teachers tell you where to look but not what to see.” You don’t have to know everything, you just have to know where to look it up or who to ask. If you don’t know something, try to put your mentee in touch with someone who may know and who may be able to help them. It takes a while to get comfortable with somebody you don’t know very well and to show flaws but you can get there. A mentor is someone with whom you can let down your guard, share your insecurities, and ask the “stupid” questions we all have sometimes. | |
I found this Commit Strip comic in a book that was recently gifted to me and I think it emphasizes, what I am trying to say. | |
Along with this comic, I found a quote by Solomon Hykes, who is the founder and CTO of Docker. I really liked his quote. As you can see, saying “I don’t know” is totally ok. In fact, like Solomon says, admitting that you don’t know something actually saves you time and energy and spares you from getting stressed out. It’s much better to say “I don’t know” and to seek out help, instead of trying to act like you do know and spending hours and hours of finding a solution, whereas with help, it might have only taken you a few minutes. | |
As I said earlier, you should always see yourself as a mentor and as a mentee at the same time. Don’t act like you know it all because you don’t. Ask questions. Remember that there are no stupid questions. Be open to learning from your mentee as well. Keep in mind that it’s a two-way-street. Figure out what you can teach each other and what you can learn from each other. | |
Listen. One of your jobs a mentor is to provide advice and encouragement, but in order to do so, you need to make the time to listen and understand the situation first. Listen more than you speak. Figure out what kind of help your mentee needs. Figure out what exactly they are struggling with. Sometimes listening means functioning as a rubber duck. You may have heard of the concept of rubber duck debugging. I’ll summarize it for those of you who don’t know what that is. Imagine you get stuck while programming. You have a little rubber duck sitting on your desk and you start explaining your problem to it. The idea is that by speaking your problem out loud and explaining it to someone else, the solution may either pop into your mind, or you will at least be able to understand and explain your problem more precisely. And oftentimes that is exactly what your job as a mentor may be, just sitting next to your mentee and listening. | |
Which leads us to the next point: Be committed and available. This doesn’t mean that you have to be ready to answer your mentee’s questions 24/7 but you should give them the feeling that you are available when they need you. Sometimes all that means is to sit next to someone, to be online, or to reassure someone that what they are doing is right. I remember when I was in elementary school and I would do my homework, my grandpa would always sit next to me. And he really wouldn’t help me with my homework because most of the time I didn’t need help. He would just sit right next to me and read the newspaper. And just his presence was enough to give me the reassurance I needed to do my homework well. Mentorship is a commitment but how much time you want to spend with your mentee is up to you. Your mentee should be the driving force and you should be the passenger. You will decide together where you want to go and how fast you want to go. | |
Show empathy. Be patient. Be open-minded. Be kind. Don’t get upset with your mentee if you have to explain something a couple of times. Different people need different kinds of explanations. Try to remember how hard things were for you when you first started learning that particular thing you’re trying to teach. Take enough breaks. Don’t overdo it. Cut your mentee lots of slack. We’re all just humans, not machines. | |
Always be positive and encouraging. Believe in your mentee and show them that you do. Sometimes we need someone who believes in us first so we can learn to believe in ourselves. If it hadn’t been for a few good friends of mine believing in me to give a good first conference talk 3 years ago, I probably wouldn’t have gone up on stage. Learning consists of ups and downs, and as a mentor it is your job to get your mentee through the downs and make sure they don’t stop trying. Lift them up and help them get over that hill. Tell them repeatedly that they are doing well and that you are proud of them. Encourage them to be kind to themselves too. | |
Keep in mind that words are very powerful. Words can destroy a person’s self-esteem and self-confidence, and totally discourage them. Phrase things carefully. Apologize if you phrased something poorly. It happens to all of us, it’s just important that we recognize our mistakes, and try to do better. Never tell someone they failed. The word failure is such a strong and destructive word that we don’t need to be using. | |
And finally, don’t touch your mentee’s laptop or keyboard, unless they specifically ask you to. I know it’s tempting when you’re sitting next to someone to just show them something by touching their screen or grabbing their keyboard and just typing it in for them. But it’s actually very rude. Stay patient. It may take a little longer if you let your mentee do it themselves but that’s how they will learn. You don’t want for someone else to grab your keyboard and leave fingerprints all over your screen right? So please don’t do it to someone else. | |
There are certain tools you can use to help you when you mentor someone. Most of those will seem pretty basic and obvious but I wanted to mention them anyway. | |
Here’s a selection of tools that I like to use. Slack: Slack is a great communication tool. It’s easy and free to set up your own Slack instance and I think it’s easier to use than IRC, especially if you’re working with programming beginners. IRC can actually be really difficult to set up for a programming beginner. Email: I know a lot of people hate writing emails because they get so many of them on a daily basis but usually when you keep it short and sweet and need a quick response, email can be a great communication tool as well. Skype or Google Hangouts work well for screensharing or actually chatting to another person. I sometimes feel a bit insecure about Skype and Google Hangouts so I prefer text-based tools but they are great tools in general. Cloud9 is a great online IDE, which lets you share a workspace with someone. It’s clearly not the best IDE but it’s great for collaboration and you can both look at the same code at the same time and see what the other person is doing. Pastebin or Gist may sound pretty trivial but when I started coding I had no idea how to share my code with someone other than taking a screenshot so these can be a great tools. Of course there’s a ton of other tools you can use, this is just a small selection of tools I like to use. Figure out what’s best for you and your mentee. | |
Besides these technical tools there are also a few non-technical tools or soft-skills a mentor needs like patience, a good attitude, a smile, friendliness, and empathy. | |
You may now think this all sounds awesome, I really want to become a mentor but maybe you don’t know where and how you can get involved. | |
You can coach at a Django Girls workshop near you and offer for your mentees to reach out to you after the workshop in case they need any help. You could also help answer questions in the Django Girls Gitter chat. You could teach a class for PyLadies (yes male teachers are also welcome), maybe even an online class for PyLadies Remote Or you could help as a teaching assistant for one of our classes. You could teach classes or mentor for your local Girl Develop It chapter. If you have given conference talks before, you could help out as a speaker mentor and help people who are insecure about their proposal, who need help, or who are submitting their first ever proposal. DjangoCon usually looks for speaker mentors. There are other conferences that do as well. Again, you don’t have to be the most experienced speaker to do this. You can get involved with organisations like Codenewbie or OpenHatch. You can help out at local sprints, and hackathons, or a local user group. You can become a mentor for programs like Google Summer of Code or the Outreachy internship program. You could offer your help to someone new at work, to a junior engineer, or just to anyone really. It’s always good to know that there’s a co-worker who’s willing to help you out and willing to explain things. You could encourage someone to attend a conference, workshop, or meetup with you. You could simply tweet that you are willing to help people with coding problems, etc. It’s also always good to watch out on Twitter in case someone needs help. You could create a first-timers-only issue on GitHub. These issues are not that hard to tackle, explain in great detail what you expect to be done and how to do it. And they offer mentorship. This is a great chance for people who want to make their first open source contribution and this is also a great chance for you to help. After creating such an issue, just assign the label first-timers-only to it so people can find it. If you maintain an open source project you could simply put a disclaimer in the README of your repository that people are welcome to ask you questions or that you are willing to help them if they want to send in a PR. These are just some ways you can help out. If none of these options is for you but you would still love to help as a mentor, please contact me after my talk. I’m sure we’ll find the right opportunity for you. | |
Some of you might not only seek to become a mentor they might also be looking for a mentor. So how do you find a mentor? Mentors don’t walk around with name tags and a lot of people who mentor don’t even call themselves mentors. I can only tell you how I found my mentors and that was by attending conferences and meetups and chatting with people. Then they introduced me to more people and that’s how things went. Twitter can also be a great tool for seeking help and finding mentors. When meeting someone at conferences or meetups I usually ask them “Is it okay to email you if I have any questions?” and I have never experienced someone saying no to me. It’s best to approach someone with a problem or a concrete question. Don’t just ask people if they want to be your mentor. Don’t be shy. | |
At the end of my talk, I wanted to do a quick story time and share mentorship success stories. I didn’t just want to stand here and tell you all these wonderful things I just spend the past 30 minutes talking about, I also want you to see that mentorship actually works. Once upon a time, actually about a year ago, there was a young woman, who had the dream of becoming a CPython core developer. She reached out to Guido van Rossum, Raymond Hettinger, and others, for mentorship. She dedicated her time mostly contributing to the CPython documentation, and she put together the CPython dev guide. And she recently became the first woman CPython core developer. | |
This woman that I’m talking about is Mariatta. And Mariatta is really awesome. You should follow her on Twitter. Mariatta also gave a really awesome talk about mentorship at PyCon, sharing her story and her tips. You can find the link here. Please go and check it out. | |
And once upon a time, actually a little bit about 2 years ago, there was another young woman, who had the dream of speaking at conferences, because she was actually terrified of public speaking. She reached out to friends in the Python and Django communities and with the help and encouragement of them she has now given 12 conference talks, spoken on some panels, and given a few shorter lightning talks. And today she is giving her first conference keynote. If you haven’t figured it out, that young woman is me. | |
As you can see, it works! So who of you is going to be a mentor to someone now? I hope that all of you will. | |
One more thing: We’re always looking for new PyLadies Remote teachers. All of our classes are remote screencasts. We do one class a month. If you’d like to teach a class on anything tech related, it doesn’t always have to be Python, please reach out. We welcome male teachers as well. We also have links to all of our previous classes on our website so if you’re interested, please check them out. They are great learning resources. You can follow us on Twitter at @PyLadiesRemote for announcements of new classes.And I also brought some stickers with me so if you’d like a PyLadies Remote sticker, please find me after my talk. I’d love to gift one to you. | |
That’s all I have for you today. I don’t think I have some time to answer questions. You can also find me in the hallway later or tweet me if you’d like. I’m @ossanna16 on Twitter. I’d love to hear from you. I hope you enjoy the rest of PyCon Czech, enjoy beautiful Prague, and have an awesome day. Thank you so much for being here today and listening. |
This content is licensed under CC-BY-NC-ND 3.0.