If you’re anything like me, you’ve been meaning to get involved with Drupal 8 for quite some time now. But where to start? What’s left to be done? How do I find tasks that match my skills? Enter Core contribution mentoring.
Core contribution mentoring or “office hours” are set-aside times in the #drupal channel of IRC where new contributors to Drupal Core can ask just these sort of questions.
My first experience with core mentoring office hours was in mid-December 2013. My expectation was that I should come prepared with D8 installed on my machine, maybe create an account on drupalmentoring.org, and have the patch documentation open and ready to use as a reference. I was guessing that I would get assigned some easy-peasy task and could pat myself on the back for my small contribution. What actually happened was more of a learning experience than I anticipated.
Tip #1: Introduce yourself
I dropped into the #drupal channel of IRC right at the start of office hours. The system notice changed to “Welcome to Core Contribution Mentoring Office Hours!” so I knew I was in the right place at the right time. I simply typed in a brief, “Hi! I want to help, but where do I start?” message and was greeted immediately by one of the mentors. I was asked about my Drupal experience, and I responded by stating that I was comfortable with all things site building and theming, as well as PHP and module development. I also stated that OO-PHP (Object Oriented PHP) in D8 was still somewhat new to me, albeit something I wanted to learn. My mentor asked me if I had D8 installed and told me they were looking for a suitable task for me to complete.
Tip #2: Be patient
The nice thing about IRC is when another person mentions my username, I get a notification. So there’s no real need for me to sit and stare at IRC waiting for a reply. When my mentor returned from searching for a task, I was pointed to a page on drupalmentoring.org (where I had already set up an account). Here I found a description of my task (in this case, an Issue Summary rewrite) and a link to the issue at drupal.org.
Tip #3: Dive in
The first thing I noticed was that this was not going to be an easy task. I was “assigned” (via the drupalmentoring.org site) an Issue Summary rewrite on an issue that had grown to several tens of comments and was quickly duplicating the scope of a related issue. My job was to read the original summary and comments, and use the Issue Summary Template standards documentation page to rewrite the Issue Summary. My objective? Help get the discussion and the submitted patches back on track and within “the scope” of this issue while dissuading duplication of effort on the related issue.
Tip #3: Set aside time
Contribution is work. And work takes time and focus. This isn’t to say it can’t be fun. Drupal issues can just require time and concentration. Set aside at least one hour, if not two, to focus on the task at hand. It's ideal if you can plan your set-aside time during mentoring office hours because your mentor will already be checking in with you. I really appreciated having a knowledgeable, friendly mentor available for questions.
Tip #4: Know where to find resources
Resources about Drupal Core contribution are available. But it can be hard to know what to search for, especially if you don’t know what you’re supposed to be looking for in the first place. Here are some documentation pages I found helpful:
- Core contribution mentoring (core office hours)
- Drupal core mentoring site
- Set up a Drupal Git repo for the first time
- Set up a test environment to review patches
- Issue Summary Template standards
- Re-rolling patches
Tip #5: Do a little every week
With the rest of the Drupalize.Me team, I'm setting aside 5 hours each week to focus on Drupal 8. I'm planning to continue dropping into office hours every Wednesday to learn the ropes of Core contribution. (What’s next for me? A patch re-roll!)
However you decided to help with Drupal 8, if you’re wondering where to start, I encourage you to jump into the #drupal IRC channel during mentoring office hours. Wave hello and simply ask “Hey! I want to help. Where do I start?”