It's very early on Saturday morning and I'm sitting in my hotel room at the Country Inn & Suites in Cedar Falls, Iowa. Why Iowa, you ask? For DrupalCorn, of course! DrupalCorn is one of many local/regional Drupal camps that brings people together to talk about, learn, and improve Drupal. Drupal has Cons, which are the large 3000+ attendee conferences but there are also many local and regional camps, which are small (like DrupalCorn) and 1000+ people big (like BADCamp (Bay Area Drupal) in San Francisco. DrupalCorn is my second camp this year; I attended MADCamp/midCamp in Chicago back in March. Both followed the same format: a day of paid training, 2 days of sessions, and then a sprint day. Registration for a camp? About $45.
The reason I'm here at camp has a whole lot to do with ILAO's leadership and my pledge to be a lifelong learner. At ILAO, I feel very supported by Teri (my direct supervisor) and by Lisa (our Executive Director) and empowered to take on activities that allow me to grow as as a Drupal developer, as ILAO's technical leader, and as an individual. We have been incredibly busy at ILAO, especially this past year and into the next year as we take on rebuilding our entire product line from the operating system infrastructure all the way up to the content itself. To be able to prioritize professional and personal development and to feel supported in doing so is one of the reasons I find working at ILAO so awesome. Not everyone is as fortunate as I am, so I'd like to share some of the strategies I use to ensure that I continue to learn:
- Make learning a goal. I incorporote learning as a specific goal in my workplan each year, with specific activities and metrics to measure against. This year, one of my goals is to "Improve as a Drupal developer" with specific activities to attend a couple of Drupal camps, to attend my local meetup, and to get up and speak about ILAO's work and about Drupal in general at those meetups. Teri has signed off on this goal and will evaluate me against it at my next review. This makes me feel like I have permission to learn.
- Have your work peer-reviewed. Feedback is a key component of lifetime learning. While Teri and Lisa are great, neither one of them can give me feedback on the code I write for ILAO. Sure, they can point out things like "it doesn't work," or "shouldn't it work this way?" or "this copy needs to be changed," but neither can say "using 'und' in your form alter won't work once we add all this multilingual stuff" or "field_checkbox1" is not an appropriate field name. On Monday, we saw the start of our newest Drupal team member, who has 10 years of Drupal expertise. His first task? Look at all of the code we've written and make recommendations to improve it. That feedback will be invaluable to preventing long-term problems, correcting problematic choices that could continue in new code, and overall, making me a better developer going forward.
- Don't just give someone the answer. One of the things I heard at Saturday's keynote was that Drupal core mentors don't give people the answers. Instead, they help them find the answers. I have a bad habit of just giving people the answers to their questions, particularly when it comes to how the website works. As a result, sometimes my colleauges "just ask Gwen" rather than trying to find the answer themselves. Part of this instinct is a result of the fact that we don't have great resources for content managers and other admin users to find their own answers. That's something that's going to change. In the rebuild, we're going to create a knowledgebase on the backend full of questions and answers about how to use the website. This will become the required first step before asking a question about how the website works. The knowledgebase will be created during staff documentation sprints--a day or two set aside for the staff to come together and work on the knowledgebase as a team. I'm just as likely to learn from our staff's interpretation of how the site works (or doesn't work or should work) than if I write all the answers myself. Knowledgebase, here we come!
- Give constructive feedback. We often learn by teaching. Having my code reviewed will be great, but it has to work the other way as well. And I have not always done a good job of looking at the code of my fellow developers on our team and giving feedback. Something doesn't work right? I shouldn't fix it. I should send it back. But time constraints have often caught me not reviewing code until it is about to be deployed and then having no choice but to fix myself. So, one of my new goals this year is to do a better jo of reviewing others' code and giving feedback so that our entire development team can learn too.
- Challenge yourself. Finally, the biggest way I continue to learn is to create goals that require skills I don't yet have. For example, this year's goals include rethinking our Google Analytics platform to ensure we are capturing new data metrics under our operations plan. I haven't worked with GA nearly enough so I'm going through some online learning resources to learn more about how to best configure the platform.
One of the best parts of all of this continual learning is that it has allowed me to continue to do new things, which is good both for me and for ILAO. Best of all, it has meant that, in my nearly 12 years at ILAO, I've never gotten bored with my work. The challenges of being a small organization, or maybe just being a nonprofit, is that we can't really afford to *not* challenge ourselves and continue to grow. It's an imperative. It's part of our DNA. Without growth, we can't continue to innovate and push forward in ways that best serve the millions of people who turn to us and rely on our services every year. Three cheers to a lifetime of learning and the many new lessons to come!