Ruby Community
Mentoring - For me or not for me, that is the question

Summarized using AI

Mentoring - For me or not for me, that is the question

Sameera Gayan • February 16, 2023 • Melbourne, Australia

The video presentation titled "Mentoring - For me or not for me, that is the question," features Sameera Gayan discussing the transformative power of mentoring in a developer's career. Gayan shares insights from his extensive experience as a Ruby developer and now an engineering manager, emphasizing the importance of mentoring in fostering growth among junior and mid-level developers.

Key points covered in the talk include:

- Importance of Mentoring: Gayan highlights how mentoring has personally benefited him and illustrates its impact on others’ careers. He stresses that mentoring can be a self-satisfying experience, benefiting both the mentor and the mentee.

- Types of Mentoring: He categorizes mentoring into structured, ad hoc, and online support, with a focus on long-term structured mentoring for nurturing new talent.

- Creating a Supportive Environment: Kindness and allowing mentees to learn in a judgment-free space are essential. Gayan advises mentors to frame challenges positively and to be patient as mentees navigate their learning paths.

- Adapting to Learning Styles: Acknowledging different learning styles is crucial. Mentors should tailor their approach according to how their mentees prefer to learn, fostering engagement and growth.

- Active Listening and Mindfulness: Mentors should prioritize listening to their mentees and remain mindful of their own distractions. Keeping the dialogue open allows mentees to contribute meaningfully to problem-solving.

- Setting Goals and Celebrating Wins: Gayan encourages setting achievable milestones for mentees and celebrating their accomplishments, however minor. This not only helps to track progress but also boosts morale.

- Building a Community: Mentoring also extends to creating a supportive network within organizations, ensuring that junior developers find the help they need from various resources, including establishing buddy systems.

- Final Thoughts on Mentoring: Gayan concludes by advocating for everyone to embrace mentoring, explaining the deep satisfaction that comes from seeing mentees succeed and grow. He believes that contributing to the community through mentoring is a rewarding experience that fosters a sense of belonging.

Overall, the talk serves as a guide for those contemplating the role of a mentor, encouraging participation in mentoring as a way to give back to the developer community while enhancing personal growth.

Mentoring - For me or not for me, that is the question
Sameera Gayan • February 16, 2023 • Melbourne, Australia

Mentoring - For me or not for me, that is the question!

"Tell me and I forget,
teach me and I remember,
involve me and I learn."
– Xunzi (Xun Kuang)

From the day you start as a Developer, to the point you achieve your highest career goal your journey is about transformation and that like anything else relies on HELP. Being a good mentor/community contributor will change the lives of others in ways you never even think of.

Let me share a thing or two I learnt about being a mentor and helping the community over the years.

RubyConf AU 2023

00:00:00.000 Have you thought about doing some mentoring? I used to have a mentor.
00:00:05.000 Actually, that's how I went from hobby coding to getting paid to code. I had a mentor who helped me along the way.
00:00:12.719 You know, I have done a fair bit of mentoring myself, but I'm always up for a few new tips on how to do it better.
00:00:18.060 Well, great news for you! Our next speaker is going to do just that. After being a Ruby developer for over 12 years, Sameera Gayan has now moved to looking after developers as an engineering manager.
00:00:31.619 He still likes to get his hands dirty with code and has many unfinished projects. Here's an opportunity for a speaker sponsor moment. Sameera is here today with the help of Mabel, who has shipped him over here from Sydney and is looking after his flights, accommodation, and everything else.
00:00:43.980 Thank you very much, Mabel! But of course, we’re all wondering, does Sameera pair?
00:00:56.820 Well, he does, and he has some pairing tips as well. Oh, what are they? Number one: Junior on the keys, slow person drives. Remember, don’t be pushy! That’s why I’m always the co-author on the commit when we’re pairing.
00:01:10.740 You, as the coach, are the one pushing. Sameera Gayan, mentoring: for me or not for me, that is the question.
00:01:23.280 Thank you, everyone, for coming. First off, I need to say a huge thanks to Ego because my computer stopped working.
00:01:29.460 That’s his computer now! Who would have thought? So, I’ve been to Ruby conferences here since I moved to Australia back in 2013.
00:01:40.020 From 2014 to 2018, I had been on that side of the fence, and this is the first time I’m on this side of the fence, so it’s a bit terrifying, but it’s good.
00:01:52.200 Before the talk, Ego told me that if I do a bad job, his presentation will look better, and he’ll give me 50 bucks. If this goes well, that’s fine; if not, at least I’ll get 50 bucks.
00:02:03.360 I’ll be talking about mentoring and helping other developers, mostly about developers who are starting new, at the associate, graduate, or mid-level.
00:02:14.520 About me, this is my web handle, you can find me on Twitter, GitHub, and all that.
00:02:25.740 I’ve been a long-time Ruby developer; I started using Rails back in 2008-2009, and then I moved to this role as an engineering manager.
00:02:39.239 I joined Mabel as a developer, and over the last one and a half years, we grew from 15 developers to now 70 plus developers.
00:02:46.319 As a company, we had to support junior developers, graduate developers, and mentoring, as our company had the capacity. I was fortunate to be on that journey and learn a few things along the way.
00:03:04.500 Before I get into the topic, let me show you what I do when I have free time. That is camping!
00:03:14.000 So, it’s nine-to-five, which takes up my time with my little one and my wife.
00:03:20.000 In my free time, I also enjoy four-wheel driving and camping. If you’re into camping, let’s talk!
00:03:36.720 I showed this slide to my daughter, and she’s delighted; she thinks I’m going to talk for the next half hour about her, but it’ll take some time for her to figure that out!
00:03:58.800 Cool, so next is my journey a bit. I started coding back in 2005, and from 2005 to 2008, I was basically company hopping—six months here, eight months there.
00:04:17.560 I’ve done Visual Basic, .NET, ASP, Java, PHP, you name it. I even dabbled in a language called Visual FoxPro; it came with the Visual Studio bundle.
00:04:28.500 Back in 2009, I joined a company using a new framework—this was back in Sri Lanka—and they mentioned they were using Rails. I had no idea what Rails was, but I thought, "Let’s do it!"
00:04:43.500 So I started working with Ruby and Rails, and it clicked with me in a way that no other language had.
00:04:51.360 I think we can see from our community that we are a very happy group of people. Ruby has a way of hooking you; you aren't typically looking for another language.
00:05:04.860 Around that time, the Sri Lankan software economy was primarily based on offshore companies.
00:05:09.360 In 2008-2009, the U.S. recession hit, leading most Ruby developers to shift to other programming languages like .NET or Java. I chose to stay with Ruby, which paid off in 2011.
00:05:39.240 There was a U.S. project that needed an experienced Ruby developer, and I was one of the few available in Sri Lanka.
00:05:53.000 During salary negotiations, I asked for nearly three times my previous salary, and they were happy to pay me! I then applied for permanent residency, landed a job before I even arrived in Australia, thanks to Ruby and the community.
00:06:10.680 I arrived on April 28th, 2013, opened a bank account and Medicare on the next day, and started working the day after.
00:06:19.420 I’m sharing all these experiences to emphasize that everything I’ve achieved so far—my family, my career, all the good things—are due to the community and the help I've received.
00:06:34.380 As I started becoming comfortable with Ruby, I wanted to give back to the community. I have been active on Stack Overflow for some time, but I haven’t used it for about four years now.
00:06:47.579 It’s not because I know everything, it’s just that I don’t have the time to contribute. I started a Ruby Meetup back in Sri Lanka, and after moving here in 2013, I’ve been mentoring at Rails Girls events.
00:07:05.880 There’s an event called InstallFest organized by a company called Reinteractive. It involves helping non-IT people install Ruby and Rails on their laptops and build a small blog post, which serves as a great introduction to programming.
00:07:19.680 For the last two years, I slowly transitioned into a management role—somewhat of a dark side—but I’ve aimed to help more developers and assist the community.
00:07:31.680 At Mabel, we initiated a graduate program where we hired four graduates undergoing a six-month program, consisting of three months of test projects and learning.
00:07:51.360 We recently hosted a Ruby Sydney Meetup, which occurred last Tuesday, and we’ve also conducted two Rails Girls events, looking forward to many more!
00:08:00.900 This transition helped me contribute more than I was just as a developer.
00:08:10.440 Now, let me share a quote: "Tell me and I forget; teach me and I remember; involve me and I learn"— Benjamin Franklin.
00:08:22.020 If there’s anything to take away from this talk, it’s this. However, it’s important to note that Benjamin Franklin didn’t actually say this—it’s a misconception.
00:08:34.680 So now that I’ve cleared that up, let’s get back to the actual talk.
00:08:47.220 Now, let’s discuss the types of mentoring. There are various approaches: long-term structured mentoring, where you set up regular policies, and ad hoc mentoring.
00:09:01.620 Structured mentoring involves having a mentee, a planned meeting schedule, and clear goals. In contrast, ad hoc mentoring allows peers to come for guidance when facing particular challenges.
00:09:10.740 A third approach is online help, such as answering questions in forums. My focus will be on structured and long-term mentoring, though some elements can be of use in online help.
00:09:24.480 The first point I want to make is to be kind. This may seem obvious, but kindness is crucial in mentoring.
00:09:36.220 You need to create a space where the mentee feels comfortable approaching you with questions, without feeling that they’ll be judged.
00:09:50.240 Even the smallest question should be welcomed, as it can foster a psychologically safe and inclusive environment.
00:10:01.680 You should be careful with your word choices; avoid trivializing things for someone who is still learning.
00:10:10.800 Phrases like 'this is a quick fix’ can add unnecessary pressure. Instead, frame things from their perspective, so they feel capable and less intimidated.
00:10:32.500 The next point is to know their learning style. People learn differently.
00:10:43.320 Some prefer reading documentation before coding; others might jump right into coding and then consult the documentation.
00:10:53.880 Unless they’re heading in a wrong direction, avoid forcing your way on them. Understand their preferred methods and adapt.
00:11:11.420 Sometimes it helps to have a conversation about how they would like support and what forms of guidance they prefer.
00:11:31.440 This also promotes cognitive diversity. Bringing people with different viewpoints and backgrounds can lead to greater insight.
00:11:43.560 I’ve experienced moments during InstallFest where participants ask questions that stump engineers. It’s important to remember they are often coming from a fresh perspective.
00:11:57.060 You don’t have to be a superhero. If someone struggles, don’t just solve their problem without explaining it to them.
00:12:09.720 Let them explore the solution with you. Ideally, let them drive the conversation and the solution so they can learn along the way.
00:12:24.960 One analogy I use comes from four-wheel driving. When in a convoy off-road, the pace is set by the slowest vehicle.
00:12:36.840 Similarly, in a team, the speed of work is determined by how fast everyone can keep up. It’s about not leaving anyone behind.
00:12:48.840 If you have a super senior engineer speeding along while leaving a junior behind, that isn’t effective teamwork.
00:13:00.240 Next, listening is key. As a senior developer, it’s easy to jump to conclusions while someone explains a challenge.
00:13:10.920 However, the person experiencing the issue may have insights you’re not aware of, so always start by listening.
00:13:22.200 Encourage them to lead the way to find the solutions, even if you see a one-line fix. Help guide them to discover the solution themselves.
00:13:33.400 During debugging sessions, if something unrelated comes up, pause the session. Let them know it isn’t tied to their current problem.
00:13:48.140 Let them choose whether to explore that issue or return to the original question. This will help them stay focused and avoid confusion.
00:14:05.720 Mindfulness is also important. If you have your own work and responsibilities, it’s easy to get distracted during mentoring.
00:14:16.920 If someone is talking and you receive a message, it’s respectful to communicate that you need a moment to address it before returning to them.
00:14:29.040 Remember, their time is just as valuable as yours.
00:14:40.560 Set goals and create plans with your mentees. You want them to feel like they are progressing.
00:14:55.740 Setting achievable milestones helps. For example, if you say, 'In one month, I will refactor a spec,' it gives them something to strive for.
00:15:10.200 Celebrate those wins, no matter how small they may seem. Recognize graduate-level or junior developers for their achievements.
00:15:23.660 Their achievements may not seem as significant to you, but for them, even completing their first pull request can be a monumental victory.
00:15:36.480 Also, create a help network to prevent bottlenecks. When junior or mid-level developers join, ensure they have a buddy to help them navigate their tasks.
00:15:48.600 After they settle in, encourage them to reach out further, fostering an environment where they can ask questions freely.
00:16:03.360 Recognize that not every answer has to come from you; they should feel comfortable exploring a range of resources.
00:16:12.780 In conclusion, the key return on mentoring is self-satisfaction. Seeing people grow in their careers from your guidance is immensely rewarding.
00:16:32.040 It’s worth giving back to the community in any capacity you can. As an engineering manager, I've also found that alongside hiring, the human element is critical.
00:16:51.420 While technical skills are essential, we value good people in the team. A friendly environment benefits everyone.
00:17:10.560 In engaging with folks, you’ll create a nice community, develop lasting friendships, and feel that sense of belonging.
00:17:23.460 Finally, to answer the question: is mentoring for me or not for me? I say definitely yes, give it a try.
00:17:34.920 When you witness someone who started with little knowledge grow to the point of being able to correct you, that's a wonderful feeling.
00:17:49.440 Thank you very much.
Explore all talks recorded at RubyConf AU 2023
+9