I’ve just returned from my first big Drupal camp, BADcamp, and I’d like to tell you about my experience. I spent a whole day training a roomful of people, a few more days learning more about Drupal and a lot more about the community around it, and I grew closer to my teammates here at Four Kitchens.
What is BADcamp?
BADcamp is a free Drupal conference hosted by the Bay Area Drupal Camp every year (now in its 10th year!). It has talks, trainings, summits, sprints and socials with folks new and old to Drupal.
Months before I found myself at the podium (in front of stained glass like an evangelist for open source) a message popped up in our team Slack channel asking “Anyone want to submit a training for BADcamp this year?” I took the bait and volunteered, eventually landing on the topic of component-driven design.
Component-driven design is a hot topic of discussion and experimentation at Four Kitchens. We’ve experimented with KSS Node and Pattern Lab, eventually deciding on Pattern Lab and building our own starter-kit for using it with Drupal 8.
So there I stood at the podium, starting my first ever Drupal training. I lectured for a couple of hours to introduce topics and key concepts. Following that everyone began working independently with our installation, exploring the code base and creating small tasks that I would periodically announce when folks were wrapping up the previous task.
What would I do differently for the next training? Everyone thanked me for training, but as they left I was unsatisfied. I felt like I had fallen short and not given attendees as much information as they deserved. Over dinner, I was grateful to have my fellow Four Kitchens teammates to talk to, and I got a lot of excellent insight. The big takeaway for how to conduct a training is to introduce a concept, play with the concept or code a related task, then move on to the next concept. In other words lecture, code, repeat.
I spent the next couple of days at BADcamp absorbing knowledge and carrying on conversations with other Drupalers on a range of topics. The sessions I attended were mostly regarding frontend matters, but I also made it a point to stretch my skills a bit and attend some more complicated sessions outside of my usual wheelhouse.
Streamlined frontend development with Pattern Lab and Twig
I started the day off feeling a bit like a rockstar when I attended Chaz Chumley‘s session because he was so kind with his praise for the similar work that we’ve been doing. Streamlined Front-end Development with Pattern Lab and Twig was an excellent introduction to the topic of Pattern Lab and Twig and I could see heads nodding as folks started to realize how great it is to have a living style guide on their projects.
This session started off with a surprise as I didn’t realize that it was being run by former Web Chef Matt Grill! This made me realize that I hadn’t read any of the folks’ names who were running sessions, so I quickly scanned the rest of my day to see if I knew anyone else. (I didn’t.)
Holistic SEO and Drupal
For this session, which is more in my wheelhouse than JS unit testing, Jim Birch did a comprehensive job of talking about SEO and Drupal. Unfortunately Holistic SEO and Drupal was booked in a giant room that could’ve held several hundred people and he wasn’t given a microphone. This lead to me having issues following along however his slides contain a wealth of information. This session was a great reminder of how Drupal does an amazing job of making sites SEO-friendly.
The right tool for the job: Content layout in Drupal 8
This was my favorite session of BADcamp 2016. Kathryn McClintock assembled a comprehensive overview of all the methods for displaying content in a Drupal site, from the usual suspects—Display Suite and Panels—through the new kids on the block—Paragraphs and Twig. She compared them all, provided examples to show what they do, and listed good things and bad things for each. I’ve bookmarked the slides to keep in my back pocket to share with clients or new Drupalers.
Component-driven Drupal theming
Mario Hernandez‘s session was like watching a parallel world version of the work that we’ve been doing with component-driven design. Component-driven Drupal theming picked up where Chaz’s discussion on Pattern Lab left off and talked about getting these components to work with Drupal. I gained a better understanding of how other people in the industry were doing this work and learned a few tips and tricks to add to my own workflow.
Keeping the component-driven discussion going. Mario and I talked frequently throughout the day on Sat about component-driven Drupal, as it is obvious that we’re both obsessed about it. We compared notes on how we each decided on implementations, with him choosing KSS while we choose Pattern Lab. We’ve traded contact information and I can’t wait to see what grows out of our discussions.
Bonding with the 4K Team
When you work in a distributed team, bonds with your teammates can be slow to form. So when you get the chance to meet with folks face-to-face, the shared experience can help you grow those bonds more quickly.
As a group we took nearly all of our meals together and shared stories. I heard many of the adventures of past Drupal camps and cons. As evenings turned into night we bantered about more personal topics. The best part of this is how comfortable I felt with everyone.
So I shared my own stories. Usually I’m reserved in a work setting but 4K was starting to feel like family and so I returned their honesty with my own. I think that I shared stories, both funny and tragic, for hours. I finally felt like a full member of the team.
BADcamp was a Revelation
I learned a lot more than I had expected to at BADcamp this year. Conducting and writing a training is tough and you need helpers. (Thanks to Jeff and Dustin for wisely volunteering before I realized that I needed them.) Attend sessions that are both inside and outside of your own skill set. In both instances you’ll find something new to learn. Be open to new possibilities and friendships.
Thank you to everyone who organized BADcamp. I can’t wait to go again next year.