DEV Community

Cole Strode for SparkPost

Posted on • Originally published at sparkpost.com on

Running Your First Technical Workshop: The “I Have No Idea What I’m Doing” Edition

A few months ago, our community manager Mary Thengvall asked Avi Goldman and I if we would be interested in teaching a 3-hour technical workshop at the upcoming Codeland conference. Now, neither Avi nor I had ever attended a workshop, let alone run one. But Codeland is organized by Saron Yitbarek with help from members of her CodeNewbies community (please do yourself a favor and go follow them both). Saron has a sharp mind and a warm spirit and she has built an amazingly supportive community. We knew that we would be free to be beginners. So, with sweaty brows, we said yes.

Looking back at the overall experience, we did some things well. Some things? Eh, they could have been better. Here are some of the highlights:

We Started Early and Created Milestones

We started planning 9 weeks before the conference. Avi and I came up with the major tasks, guessed how long each would take, and divided up the work. To make it easier, we documented everything:

  • We created a public Github repo to track all of our tasks as issues and then added those issues to a Github project to track our status.
  • We made a milestone for each week leading up to the conference and assigned each issue to one of those milestones.
  • We assigned tasks to each other so we could track who was responsible for each piece.
  • We had weekly check-ins to make sure we were on schedule.

This is the most organized I have ever been in my life.

We Trusted Each Other

I can’t tell you how many times during our check-ins Mary and I had this conversation:

Me: I’m at least two weeks behind where I thought I would be.

Mary: So do you think we’ll have it ready in time?

Me: Oh definitely!

And to her credit, Mary trusted me. Her trust increased my desire to be accountable, and so I was much more motivated to follow through. This follow-through helped increase her trust in me down the line. It was a nice virtuous cycle.

Lesson learned: Enact trust and amazing things will happen.

We Trusted The Participants

One of my mentors would tell me: “everything you need is already in the room.” To me this means, in part, that when I’m teaching or leading a group, I don’t need to bring all the knowledge or all the energy. I am in a room full of intelligent, inquisitive, and insightful people. Rely on them and help them rely on each other.

With that in mind, we had people split into groups of two and work through the exercises together. Our goal was to create a supportive environment and answer questions when people were really stuck, but to by and large stay out of the way and encourage people to talk things out together.

So many wonderful things came out of these pairs of strangers, I could write for pages and pages about it. But I’ll leave it at this: most people stayed to talk with their partner long after the workshop ended and they had packed up. I even saw some of them working together on Slack later that night. That was a huge sign of success to me.

We Were Over-Prepared (In a Good Way)

We had 8 exercises of increasing difficulty for a 3 hour workshop. It took me about 15-20 minutes to do each exercise the first time, so I figured most people would only get about halfway through. We also knew that we might have an experienced Javascripter in the workshop who would speed through the early exercises. We wanted our workshop to have something for them too.

With the extra preparation, we can also turn this into a longer workshop with only a little extra work. By making the workshop thorough and reusable, we help our future selves.

We Were Weird

Ok… this one mostly falls on me. And honestly I can’t say if this actually helped anyone learn anything.

Liquid error: internal

You see, I watched a lot of TV growing up and for some reason while writing my slides, I got it into my head that the early to mid 90’s TGIF lineup was a good theme. Keep in mind, a large portion of our audience was likely in their mid twenties… meaning these gifs are older than them.

But as a presenter, having a theme that I found funny and engaging was helpful. I had an easier time writing my slides and I was excited to share what I wrote with our participants. That excitement helped me cut through the anxiety of presenting as well. (The patron saint of Kevin James on a jumbotron also helped, tbqh.)

We Didn’t Follow Our Milestones

There were things we could have done better. Like I said, we started planning 9 weeks out. “9 weeks is forever,” I thought. “I’ve heard that 4 women can have a baby in that time. Surely we can plan a single workshop by then.”*

Oh the hubris.

We had a crunch at the end. I spent a Saturday afternoon or two sipping on Dunkin Donuts free wifi. We never really used the project kanban board. And more than once I found myself filing and closing issues for tasks after they were done.

I think nine weeks gave us a false sense of security that continued as the conference got closer. If we had started five to six weeks out we probably would have been more focused.

In the end, even though we were still crunched, more than doubling the amount of time we needed served us well. It meant that we could slip and still be on time. It left us time for work emergencies and to go home to our families. We could have planned on a 3 week rush and we could have finished fine, but the anxiety/effort ratio would have been much higher.

We Were Under-Prepared (In a Bad Way)

Again, I think this was just me. Codeland is a conference for #codenewbies, and I expected that most people coming to our workshop would have familiarity with Javascript even if they weren’t senior developers.

In retrospect, I should have expected some of our participants wouldn’t be very familiar with Javascript and Node.js. I saw a few groups who were confused by asynchronous callbacks. I could have done a better job preparing them for asynchrony, but I found myself flat-footed. I didn’t have a good explanation for how callbacks work (even though I’ve watched my good friend Jason Rhodes do this several times).

I think in some cases the disparity between partners’ abilities was difficult for them. If I could do anything over, it would be to prepare more for people who were newer to Javascript.

Wrapping Up

Holy cow was this a lot of work. It was also so rewarding! Meeting Saron, being part of the CodeNewbies community, and doing something scary that we had never done before; I’m so glad we said yes. I’m already looking forward to the next one. I mean, so long as Kevin James is there to watch over us.

*This is a reference to Brooks Law in “The Mythical Man-Month,” which is sometimes phrased as “nine women can’t have a baby in a month.” Nobody at SparkPost gets the joke, but I think it’s funny and so far they haven’t talked me out of it.

– Cole Furfaro-Strode

Have you run a technical workshop in the past? Are you about to? Comment below or send us your tips on Twitter.

This post was originally published on sparkpost.com

Top comments (2)

Collapse
 
rouzbeh84 profile image
rouzbeh

That's awesome! Would love to know more about it :). Any exercises that ppl found more easily understood over others? Pain points? Successes?

Collapse
 
colestrode profile image
Cole Strode

Thanks! We had a great time :) The exercises successive steps on building a Slack bot that would order pizza from Dominos. I'm a little hesitant to go into all the details, because I'll probably do this workshop again :)

I think the pain points were two-fold: people were more junior than I anticipated and so struggled with some javascript concepts like closures and callbacks, and working with the Dominos API. The API is a little funky and the node lib we used had some idiosyncrasies.

But overall I think it was a great workshop, the teams really seemed to gel and seemed to genuinely enjoy the project and each other. For me as a workshop leader, it helped to not define success as "progress through the exercises", but as people's enjoyment and commitment to working on the project.