Open source is teaching others to fish
Mentoring the 2018 Nashville Drupalcon Sprint
I don’t have the patience to fish. But I was once taught how to “fish” (contribute to open source) and now I use that skill to put food on the table, literally.
Let me set the stage. It was Friday, the last day of the conference. Somewhere outside was a metro station that could take you to The Eiffel Tower in about 15 minutes. I had a $200 netbook and had spent the majority of the conference as one of a two man team at the main entrance of a college building Drupalcon had taken over answering questions and handing out badges. A few days prior I was one of the two volunteers to hold the ribbon that Dries cut to celebrate the launch of Drupal 7 (picture of the ribbon cutting). In short, I was in over my head, but having so much fun. I had been working with Drupal 6 for 3 years and this was my second Drupalcon and my first time being in Europe. Did I spend Friday checking out the town? No, I wanted to participate in my first ever SPRINT. I still get goosebumps thinking about that day.
I just came back from by 10th Drupalcon, and for the first time in years, I felt the same sense of excitement and community. Not because I was participating in a sprint, but because I was a very proud Sprint Mentor.
I thought I had to wait until I was an expert at “fishing” before I could help others learn. I was wrong.
So, I’ve been working with Drupal for a long time. I’m not the most talented coder, nor am I a gifted software architect and I especially am no devops wizard. See, I still often see myself as the same junior developer that was attending his first sprint back in 2009. Thing is, even at that sprint, I knew enough to help everyone at the table understand the issue queue, create patches, read patches, apply them, and on a tiny windows netbook, no less. Did I speak up or help others? Not really.
Thanks to Lucas Hedding, I was encouraged to be a more active participant in this year’s Drupalcon Nashville sprint. Let me pass on some of his wisdom (most of the below is something Lucas has said by action more than by words):
- If you’ve been helped by the community, maybe you should give back as you can.
- Helping mentor a sprint can impact 20+ people and their career paths.
- Participating in the Drupal community, in a face-to-face way, is a rare occurrence, why not make the most of it?
- Helping others can make you a better developer because it forces you to learn “best practices.”
Something instilled in me at Drupalcon Bogota and a little later in Midcamp is that the best mentors don’t know everything. They just know how to teach others how to figure anything out. So the main reason I had always given for not helping out at a sprint is bunk! I know the community, the tools, and how to use Google. There are things none of us knows, but we can figure it out together! I was READY, but I had no idea what to expect.
What is Mentoring a Drupalcon Sprint like?
A few weeks prior to Drupalcon, I hopped onto the Mentoring channel on Slack and told people I was interested in helping out with the Drupalcon Sprint. Everyone clapped, it was an exciting moment. The people that mentor sprints are kind-hearted, engaged, and super organized. They didn’t need me for anything major, just needed some help finding potential issues that could be tagged “Novice.” They pointed out that tagging issues as novice is something that is delayed until the night before because once an issue is tagged, it often gets a lot of attention.
Once I got to the conference, I participated in booth setup, gave a presentation, and, on Wednesday, stopped by the Sprint booth where lovely volunteers wrote my name down and gave me my Sprint Volunteer shirt. I’m so proud and happy for that shirt :) They even had my size!
On Thursday afternoon, there was a “Sprint Prep” meeting scheduled where the sprint was discussed and tools and general advice was given. At that point I volunteered to help in the “First Timers” sprint. Even though I’ve attended many sprints, I never fully grasped that there’s three levels of sprints, two of them are mentored:
- General Sprint, no organized mentoring
- Mentored Sprint, each table (if possible) has a mentor
- First Timer Mentored Sprint, a presentation room where a mentor generally talks about how to engage in a sprint, and a dozen (or more) mentors go around to each person and help them setup their environment or generally answer questions on how to participate in a sprint.
I asked three times, and each time everyone said show up at 8:30am. So, naturally with my mentor shirt on, I showed up at 8am. I’m glad I did, because it was me and two other volunteers (mradcliffe and leslieg) and Amanda Gosner with her DA crew. Side note: It’s a really interesting partnership that the DA has with the community. I say partnership because there is a line. Amanda said distinctly “This is your (the community’s) day, we just help out where we can.” For some reason, it wasn’t until that moment that it was 1000% driven home that the sprints are not only alive and kicking but they are totally volunteer organized and run. That kind of blows me away, really.
I was sent on a mission to get some papers printed and managed to talk my way into a secret printer room that shall remain secret and came out the other side with 10 happy copies of the Major Issue Triage flow diagram PDF ready to be shared out to the various mentored sprint tables. At about 8:45am all mentors gathered and got a pep talk and a big thank you.
From there on, I was in the First Timers sprint, where my main goal was to answer questions and help first time sprinters achieve some of the following:
- Sign up on the Drupal Slack #contribute channel
- Spin up a copy of a “sprint environment” that included a self-contained docker instance and other useful tools for working on the sprint
- This was the most complicated piece we had to deal with, and 90% of my help came with just calmly walking through the steps with them, one by one
- The most complicated it ever really got was helping people navigate their command line for the first time (changing directories was the thing that seemed to trip up most of the sprinters)
- Find the Drupal issue queue and understand how to filter the issues based on the Novice tag (this was actually something that tripped a lot of people up)
- Be patient and smile and laugh when things went horribly wrong. (never actually happened, but we were prepared if it did).
You might find yourself asking, “is that it?” The answer is: YES. I was busy helping about 30-35 people out of about 100 get started on their way to contributing to Drupal.
View some photos from the first time mentored sprint.
We didn’t get a 9am or 10am headcount (when the highest number of people were there, we were also super busy helping not counting!), but at 11am we got a real headcount:
- First time sprinters in attendance: 64 (I estimate about an additional 12 people for mentors and by Noon, at least half the people had already left)
- Mentored sprinters in attendance: 90 (At least another 12 mentors)
- General sprinters in attendance: 130
Lunch was served at Noon. Coffee and Tea were available all day.
A total of 35 new issues were marked “Novice” late Thursday night / early Friday morning.
Just getting started
Back in Paris, I don’t remember the kind gentlemen’s name who walked me through how to use my computer to create the patch I was working on. But I will forever remember how patient he was with me and how excited I was when I finally had a file I could post on the issue queue. I had already caught the Drupal bug well before that sprint, but I was the recipient of someone’s time and efforts at a real Drupalcon sprint.
Now, just a few weeks removed, I got to experience that again from the other side of the table. Helping others to fish is very satisfying and far easier and more rewarding than I expected. I will be back and next year, I might even spend some time at the mentor booth.
PS: Here's a great video that introduces the real heroes of the mentoring community and goes over more of what it takes to pull off such a large open source teaching-others-how-to-fish event: