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.
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 most of the conference as one of a two-person 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 worked with Drupal 6 for three years, 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.
Showing up to contribute at Drupalcon Paris 2009 was a definite "right of passage" or like showing up for spring training to watch the legendary athletes practice and then having them ask you to help out and run a few plays.
I have just come 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 be 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 attending his first sprint back in 2009. The 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 participate more 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 the community has helped you, maybe you should give back as you can.
- Helping to 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 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 before 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 who mentor sprints are kind-hearted, engaged, and super organized. They didn't need me for anything significant. They just needed some help finding potential issues that we could tag "Novice." They pointed out that tagging issues as a novice is delayed until the night before the sprint 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, we held a "Sprint Prep" meeting to discuss the sprint and give the tools and general advice. 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 are three levels of sprints. Two of the sprints have mentors.
- 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 engaging in a sprint. A dozen (or more) mentors go around to each person and help them set up their environment or generally answer questions on participating in a sprint.
I asked three times, and every one said to show up at 8:30 am each time. So, naturally, I showed up at 8 am with my mentor shirt on. I'm glad I did because it was two other volunteers (mradcliffe and leslieg) and Amanda Gosner with her DA crew, and I.
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 1,000% driven home that the sprints are not only alive and kicking, but they are totally volunteer organized and run. That blows me away.
The team sent me on a mission to get some papers printed, and I managed to talk my way into a secret printer room that shall remain secret. I came out the other side with ten happy copies of the Major Issue Triage flow diagram PDF ready to be shared with the various mentored sprint tables. At about 8:45 am, 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 valuable 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 something that tripped a lot of people up)
- Be patient and smile and laugh when things go horribly wrong. (it 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 9 am or 10 am headcount (when the highest number of people were there, we were also super busy helping not counting!), but at 11 am we got a real headcount:
- First-time sprinters in attendance: 64
(Plus, 12 mentors. 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: