The concept of code club came from a conversation with me and developers on my project. They were commenting on how they liked it when I put code snippets in my QA tickets. During Design Acceptance Testing (DAT), I would go into the inspector, make adjustments to an element (maybe spacing, sizing, color, etc) until I got it to where I wanted it. I would copy my “fix” and suggest it in the ticket. The devs said it removed a lot of the back-and-forth/guess-and-checking that DAT can sometimes have with us perfectionist designers. Ultimately, it created better communication between design and development.
We wondered how could we improve VSA with this method.
Initially, we thought that maybe I could teach it in a Lunch and Learn. Unfortunately, that really would have required me to teach the basics of HTML and CSS over a lunch… sadly, I am not a wizard. We had to keep thinking.
How do we teach the base knowledge of HTML/CSS to more designers at VSA so that they could speak the development language while troubleshooting QA together?
I thought about my college experience learning front-end code:
- We had professors to teach us the high level concepts through a syllabus.
- They would help us fix and understand our mistakes by pointing them out in the code-editor, in person.
- We also had classmates at our same level that we could turn to.
Outside of school, how do you recreate that successful learning experience?
- Online tools like Lynda or Codecademy were essentially virtual professors and vetted syllabii
- Our VSA developers were our in-person experts who could help us fix/understand our mistakes side-by-side.
- A “club” would create that community of people to learn (and struggle) together.
CodeClub was born.
I set it up like a book club: Each week the group would individually watch one hour of their online tutorial on their own time. Then, during our CodeClub times (every other week), we would all get back together to discuss and review what the tutorial taught us. This time was used to ask the developers our issues and learn by problem solving together. Sometimes we would answer and talk through the quiz questions that Codecademy offered after each section.
By the end of each CodeClub, those of us who made it to the end, were able to say that we had learned a new technical concept that could apply to our work, our side projects, or pursuit of new knowledge!
We’ve run 3 CodeClub sessions at VSA. Some things I’ve learned:
- It’s best if everyone in the club is learning the same thing. At first, we tried allowing everyone to do a different tutorial depending on their interests. Unfortunately, we found that this muddled the quality of our in-person CodeClub meetings.
- Everyone is interested in learning code! I sent this invite to everyone in the company, and the interest spanned all disciplines and practices.
- We liked using Codecademy over Lynda. Codecademy provided an all-in-one coding and learning portal that streamlined the learning experience and reduced the barrier to entry.
- Every-other-week is probably too long to wait between meetings. It’s better to meet every week to keep the things you learned previously fresh in your mind.
- We wanted to include the New York office in CodeClub. We found that the best way to do this is to have a CodeClub head in each office to lead the meetings rather than try video chatting together. It was just too difficult to foster good conversation and problem solving over the phone.
This format benefits from the “protégé effect” where teaching someone else is the best way to learn.
- People are busy. And have best intentions. By the end of a CodeClub session participation definitely decreased from the initial interest meeting. But that really didn’t bother me. It’s not about quantity. Having fewer people in the meetings allowed the developers to really focus on individuals’ learning. If only a few people make it to the end and learn something new, that’s a few more people who might not have learned it on their own.
Learning code or a new skill is hard. Learning it on your own is even harder. Starting CodeClub can help push yourself and others to commit to learn those things you keep putting off. I have really enjoyed tinkering with this concept to help VSAers. Maybe others can build their own CodeClub to help their organization