Go Time – Episode #314

Go workshops that work

with Angelica, Johnny & Kris

All Episodes

What makes a good, bad, and truly great workshop? How do you put together a Go workshop that works, and how do you get the most out of workshops you attend?



FireHydrantThe alerting and on-call tool designed for humans, not systems. Signals puts teams at the center, giving you ultimate control over rules, policies, and schedules. No need to configure your services or do wonky work-arounds. Signals filters out the noise, alerting you only on what matters. Manage coverage requests and on-call notifications effortlessly within Slack. But here’s the game-changer…Signals natively integrates with FireHydrant’s full incident management suite, so as soon as you’re alerted you can seamlessly kickoff and manage your entire incident inside a single platform. Learn more or switch today at firehydrant.com/signals

Speakeasy – Instantly create SDKs that make API integration easy for your users. Create your first SDK for free! today.

Fly.ioThe home of Changelog.com — Deploy your apps and databases close to your users. In minutes you can run your Ruby, Go, Node, Deno, Python, or Elixir app (and databases!) all over the world. No ops required. Learn more at fly.io/changelog and check out the speedrun in their docs.

Notes & Links

📝 Edit Notes


1 00:00 It's Go Time!
2 00:39 Sponsor: FireHydrant
3 03:00 What makes a great workshop
4 09:46 Flexibility
5 14:01 Leveling
6 20:01 Does size matter?
7 28:15 Identifying classroom dynamics
8 33:25 Sponsor: Speakeasy
9 37:25 Good TAs
10 44:57 Dealing with gotchas
11 47:57 Putting a workshop together
12 52:16 Staying on topic
13 54:43 Johnny's growth
14 1:00:04 Curating analogies
15 1:08:16 Knowing when you're ready
16 1:11:37 Being the best participant
17 1:14:07 Unpopular opinions!
18 1:15:00 Kris' unpop
19 1:21:46 Angelica's unpop
20 1:25:15 Outro


📝 Edit Transcript


Play the audio to listen along while you enjoy the transcript. 🎧

Hello, and welcome to Go Time. In this episode, I am joined by the wonderful Johnny Boursiquot. Hello, Johnny.

Hello, hello.

And the impeccably brilliant Kris Brandow.

Hello! How are you doing?

I’m very, very excited to be chatting you both today about making a Go workshop work. We’re going to talk about what makes a good workshop, a bad workshop, a truly great workshop, that inspires those who attend… We’ll touch a little bit on the logistics of putting together a workshop, kind of what is the process, what you think about as a workshopping structure, as well as touching on Go specifically. Like, how does Go compare in terms of teaching other languages or attending workshops concerning other languages?

So I’m going to dive right in with my first question, which is what makes a great workshop? A Go workshop, a Java workshop, a Vim workshop… What in your minds makes a great workshop, either as a participant or as someone who’s leading it? Johnny is our veteran workshop leader…

I heard Vim workshop, I’m like “Ooh… Do they have those?”

If they don’t, we should make them.

Spread the good word.

Yeah. First order of business, how to exit Vim. [laughter]

:q. :x. There’s lots of ways to exit Vim. Oh wait, this isn’t the workshop. I’m sorry.

No, after this maybe Kris you can have all the tools in your toolkit to become a Vim workshop instructor.

Yeah, yeah.

Learn the ways of the Vim, yeah.

Cool. So what makes a great workshop? We’re thinking structurally, any things that work?

Well, perhaps, if I can flip it on the side a little bit, the last time you attended a workshop, what did you walk out thinking it was sort of the most memorable aspect of it? Was it the delivery style, or was it the amount of information you learned? Was it the camaraderie of the people next to you, who were nodding along, because the speaker or trainer or teacher was saying things that you could all relate to? Like, all of the above? What made the worship memorable?

I think from my perspective, I think it was a combination of two things. Both historically, and just thinking about the last workshop I went to. One was the person who’s leading the workshop. I mean, that for me is so important. They need to be engaging, they need to be aware of all the different people around the room, i.e. if I’m looking puzzled and confused, and maybe I’m a little bit shy to ask questions, an instructor that will take note of that, and give space for “Hey, if anyone is not clear on what we just went through, please put your hand up. It’s absolutely fine.” It makes it feel like you can jump in and express you’re having difficulties, especially if it’s like a guided workshop where you’re building something together.

[06:16] So I think that that’s the first thing, which goes into my second, which is pacing. I think if workshops are moving too fast, and I get lost, and it just keeps on moving without me, I’m gonna disengage. I’ll try my best to work out where we are… But at some point, if we’ve moved so far forward in the content, I do personally feel like I can’t jump in, especially if it’s something that’s completely new to me, I’m trying to learn a new concept… So I think it’s those two; it’s how the instructor is, and how cognizant they are of just that individual attendees, and where they’re at. And secondly, the pacing. Really making sure that the workshop feels like a workshop, and doesn’t just feel basically like a presentation or a talk that you happen to be in the room for.

Or a seminar. Those tend to be focused around the speaker; maybe they’re a celebrity, and they just have – they’re hearing to deliver a message, not really to educate, right? So there’s nuance there. You can educate while delivering, but to me that’s always been – and that’s one of the distinctions I’ve always made, is between a workshop where we’re here to learn something together, you’re gonna get your hands dirty, you’re gonna give me feedback in real time, and we’re gonna sort of work through something together… As opposed to a seminar, where it’s more or less one way, where basically I have a series of things I need to get through, and I’m gonna go one by one until I’m done, and I walk off the stage or the floor.

So to me, when you talk about sort of the individual, and their ability to connect, their ability to sort of know “Okay, who’s in the room with me?” and the pacing, “Am I leaving anybody behind?” Because in my experience, I’d rather slow down, so that everybody can move forward together, than to just sort of rush through, so I can deliver… I’m not there to deliver all of the – the objective is not to deliver all of the stuff I have. As a matter of fact, when I teach, I usually have way more content than I can cover in the allotted amount of time… And that’s by design. There’s enough there that if you are further along than some of the people in the classroom, that you want to work ahead, there’s enough there to keep you engaged. But for most everybody else that perhaps is not as advanced as you, I’m moving at their pace. There’s something for everybody, pretty much, is the way I try to do it. But that pacing is critical, I think.

In my experience - and I’m sure we’ll get there, in terms of how have I learned to adapt my teaching style over the years, I think that’s probably the single most important thing that I had to understand and learn how to do, is to not leave anybody behind. Because the moment you do, like you mentioned, you’re gonna see people disengage, because they’re confused, they don’t know what you’re talking about anymore, their eyes start to glaze over… Because you lost them; you lost them somewhere back there, 5, 6, 10 minutes ago, and they’re struggling to keep up. At that point, they might as well just get up and walk out, because they can’t keep up. The rest of it is just not gonna make sense for them. So I’d rather slow way down, I’d rather annoy some of the more advanced people in the room, knowing that they have stuff they can work on if they so choose. I’d rather slow down and make sure everybody comes along for the ride, rather than sort of get through an entire list of things.

[09:45] Yeah, I think that flexibility is like the key thing for me when it comes to workshops, which kind of differentiates them from going into like a talk. I know at GopherCon they call them tutorial talks. The difference between a tutorial and a workshop is really like - the tutorials, you’re just like “I’m just going to spew some knowledge at you without any feedback”, but with a workshop, it’s like “I want your feedback.” And I think as someone attending a workshop, that’s the thing that I think makes a difference for me, is like “Oh, I can actually just like ask the person something.”

I also think the level of vulnerability there as well, where it’s like, this person doesn’t seem like a know everything… They’re like “Yeah, I know enough to teach this material, but if you ask me something that’s outside of it, I can try and figure it out, or we can figure it together… But I’m not some like god of knowledge.” I think that that’s another thing that I think I’ve benefited from workshops in the past, just kind of knowing that “Oh, this is just a regular person, and they don’t have some preordained knowledge or something like that, that I’m not going to be able to achieve. No, I’m going to be able to actually understand what they know at the end of this.” Whereas I think sometimes I’ve gone into talks being like “Wow, that person knows so much. I don’t know if I can ever really understand what they know.” I think that’s definitely for me been one of those benefits, like “Okay, this is like a regular person.”

Peel that layer a little bit. I’ve been in the audience where somebody has delivered a masterfully sort of enunciated and sort of articulated set of points… And I’m thinking “Wow, that person is really smart.” But then I walk out of the room, I have no idea what they just talked about.

Yeah. Yeah. [laughter]

I mean, the delivery was impeccable. Every t crossed and i’s dotted. But they were there to deliver information, not to connect with me, or communicate knowledge to me. There’s so much nuance there. Being able to connect to an audience is not something – just because you’ve prepared your slides, and you’ve got your timing down… Like, there’s something more, there’s something beyond that. Delivering information is not why people are sitting in the audience. Otherwise, you might have just emailed them the slides. I mean, this meeting could have been emailed. This talk could have been an email. You’re not there to just read off the slides, or regurgitate memorized stuff; you’re there to connect, look into the eyes of somebody, and sort of see if they’re getting it. Feed off the audience, and they will feed off of you, kind of thing.

There’s so much that goes into – I compare delivering a workshop or teaching in general really, to like a performance. You’re there to deliver information, yes, but you’re also there to entertain, you’re also there to relate… You’re also there to sort of empathize… There’s so much emotion that goes along with that information delivery that if you just leave those things out of your preparation, you’re doing yourself and your audience a disservice.

Yeah. I think there’s a variance of how much you meet people where they are as well. I think in workshops you’re trying to meet as many people where they are as you possibly can. That’s why workshops are also much smaller than talks. Whereas if you’re giving a conference talk on stage, it’s like a much – you just can’t meet people where they are most of the time. You can try to meet like large swaths of people, but there’s just too many people to really be able to effectively do the same thing, which I think is also one of those differentiators that also makes workshops in some ways more valuable than conference talks. Also, generally workshops are longer than conference talk are. Long conference talks are like an hour long, and short workshops are like a few hours long… So there’s that difference and distinction there. But I think all that goes into, you know, when you go to a workshop, you have this expectation that you’re going to – the instructor is going to meet you at least somewhere close to where you are. And I think if you want to have a successful workshop, that’s a key thing you need to focus on, is “How am I going to make sure that with these 40 or 50 people or however many they are, that I can actually address all of them individually throughout the whole thing?”

[14:02] I think kind of that touches on the idea of correctly leveling, and making sure that almost like the prework and the way that you’re framing it to possible participants is right. And I’d be really interested to kind of hear from you, Johnny, how you think about appropriately leveling your workshops, so that they will appeal to as many people as possible, if that is even more important… But also that everyone coming into the space, even if they might have some variation of leveling, is going to have a certain amount of like preknowledge that is going to enable them to follow along. Because I’m sure there are instances in which – like, I can think of topics where I have gone to workshops, and not by any fault of the workshop instructor, I just didn’t realize the leveling. So I’m going into an advanced cryptography workshop, and I lack those baseline skills, understanding, knowledge to even be able to dive in the first two minutes of that workshop. So I’m really interested to hear how you think about kind of appropriately leveling.

Interestingly enough – so let me preface this by saying, I’m not a… So training or doing workshops and things of that nature is sort of a passion project, if you will; it’s something I do sort of on the side, because I truly enjoy it. It’s like the way – like, when I’m off the keyboard, that doesn’t mean I don’t want to think about programming, or engineering, or Go, or whatever it is. It just means that if I’m off the keyboard, if I’m teaching it, because I love these things, it’s a different modality for me. I’m not engineering software, but I’m teaching engineering. So I’m not a professional day job – that’s not my day job as a trainer. So that’s sort of the context for what I’m about to say.

I have noticed that at times, professional training companies or professional trainers, they may sort of structure, or they may describe what you’re about to walk into as an all-inclusive, sort of all-encompassing, like “You will learn all there is to know” kind of thing, thereby setting the expectation that “Oh, I’m a beginner. I don’t even know how to launch my shell. But this thing sounds like it could be good for me, because it’s all-encompassing. It’s gonna cover all the things.” So you go in, and there’s some assumptions already being made from the trainer’s part about the level of everybody. But it’s communicated in such a way that it’s unclear, or it should be clearer what your own level should be before you walk into such a session. But because whatever the incentives are - maybe it’s pack the room, get as many people to sign up as possible, or whatever that is, the optimization is being done for sort of the number of butts and seats, as opposed to “Okay, rather than having one big eight-hour-long session…” And I say this, because I have been part of, I’ve had full day long workshops where some of the feedback came into me and basically said “Hey, I love the training, I love the sessions, but I was a little bit more advanced; it would be great if you split this into two, and basically it gives me the option to say “Oh, I don’t need the first half, I only need the second half, because I’m already at a place where the more advanced stuff is more useful to me.” So that’s the feedback I’ve gotten. So when I do the full day, eight-hour thing, the optimization is for “Well, let’s get as many people in here as possible.” But the objective is not to get as many people in the room as possible, at least when I teach; it’s not to get as many people in as possible. Thankfully, at this stage, I’m at a point where when people come to me, they know what to expect when I’m teaching; they know they’re going to have a good time, they know they’re going to learn a ton of things, and they know my teaching style is very hands on. So I don’t talk at people, I get them to do stuff, and we work through things together kind of thing. So I don’t have to advertise and say “Hey, come” to get butts in seats.

[18:16] So now the challenge becomes, okay, how do I structure and how do I communicate the topics I’m going to cover? How do I structure the things that if I need to have two separate workshops on a given day, whereby the first half is for beginners and intermediate, and the second half is advanced, then I’m going to tailor it and I’m the language I use to describe it is going to sort of articulate that; it’s going to basically say “Hey, if you come in here, this is what to expect. I’m not going to teach you how to run your shell, because this is not what this is about. This is what you should come in with. Have these things installed. Have this configured. You have gone through the Go tour”, or “You’ve been doing programming for a couple of years, or you’re just picking up some Go?” These things, these hints you sort of put out there - people will self-select. And that enhances the chances that when they sit down in your workshop, they’re going to have a much better time, because they are targeted. They are the people that are supposed to be in that seat, so they can take advantage of everything you have to teach, and you don’t have to feel like “Oh man, this person is on the beginning end of the spectrum, but I have a ton of people on the complete opposite side of the spectrum. Now I have to sort of balance and try and be all things to all people”, which is incredibly hard. Whenever I do that, whenever I try to be all things to all people in a classroom, that’s when everybody suffers, myself included, because I’m like running ragged, trying to make sure “Oh, do you understand this?”, trying to make sure you pick up and catch up… And then the person at the other end is bored. So you want to avoid that.

So you talked a lot about how kind of making sure that that kind of spectrum of people, beginner to advanced, and considering that and trying to minimize that as much as possible is part of your process… I’d love to hear a little bit about kind of how much the size of the class matters, perhaps both in the regard of like sitting in a classroom physically, but how and if that changes when we’re talking about remote-run workshops. Does size really matter when it comes to workshops? Clarify it…

Well, size always matters, but… [laughter] I can see Kris – Kris is already like “Hm, there’s a joke there somewhere…”

“Wait a second…”

I was gonna leave it as “Does size matter?” and then I added the clarifier to avoid this shenaniganning.

I mean, you’ve got Kris on the call. I mean, you can’t avoid the shenanigans.

No, no, no…

Does the number of bottoms in seats make a difference?

I’m glad you finished that rest of that sentence. Anyway, anyway…

Goodness sake, Kris, can I say nothing? [laughter]

Is it the motion in the ocean, or what is it, Kris?

Oh, you’re asking me? I –

I’m asking whomever would like to contribute to this question.

Um, I would say there definitely is – because there’s only so much that one human can do. It’s the same problem with college classes. If you have the big lecture hall, then you’re not going to be able to give people the kind of individual attention that they need in order to necessarily keep up. And then you kind of get to that problem we’ve talked about before, people getting disconnected or falling behind and whatnot.

[21:33] So I think to an extent, yes, the number of people that are in the workshop matters… But I’m someone that’s just been in workshops. I haven’t taught them. So I think Johnny is probably better from the teaching perspective of a workshop, of how many people are in it… But I think also for me as an attendee, I tend to like smaller workshops, because it feels a bit more intimate. But not too small. You want to be able to talk to other people, but not feel like you’re distracting the whole class sort of situation, which feels like, you know, 30 to 40 people where it’s like you can form a little group with the people you’re in, and have a bunch of those little groups kind of going on. I think that adds to the kind of experience of the workshop overall.

If I’m seeing a workshop with four people, I’m gonna feel real bad if I talk during that at all… And I think communicating with other people, communicating amongst the attendees is also an important aspect of the workshop… Because a lot of times too attendees can help each other, and then the instructor doesn’t have to be going to each individual person in the same way.

With remote - I think remote workshops are super-tough in general, because you don’t have that visual feedback, so you can’t like just wave your hand and get the attention of the instructor if you’re really stuck. You can’t really talk to your fellow attendees, so you’re kind of just stuck in that position where it’s like “Oh, if I need help, I actually have to go get it from the instructor. I can’t just message the person sitting next to me”, because there’s anybody sitting next to you. So sizing when it comes to that - I have no idea. But at least in-person, kind of what I said, where it’s like that size where it feels like you can talk to people and not distract the class, I guess I would say.

The size matters in in-person workshops differently than sizing in remote workshops, especially where the remote workshop either has video, when you can see the people you’re teaching, or it doesn’t. And for better or for worse, I’ve had experience with all those different modalities. Let’s pick on the remote one, because that’s its own special brand of challenging… Because like Kris is saying, if – so let me just use a concrete example. A few weeks ago, two weeks ago, I taught a live class on O’Reilly, and the platform that they use, basically you can’t see any individual. So there’s some compliance thing that they do… I imagine that in some certain enterprises, part of the compliance thing is that you can’t use the chat, can’t have video on… Things that I find odd. Some [unintelligible 00:24:17.08] I’m like “What, you can’t have video on?” When people have meetings remotely, they all have their cameras off… It was like odd to me, but for some folks that is their reality.

So if you have basically a virtual room filled with hundreds of people, like I did - I had like 150 something odd people in my class… And some of them could even – those that could use the chat, that was the only way of communicating with them. I couldn’t even see their full name. It was like abbreviations. It was like first initial, last initial, something. So I couldn’t even address, say, a Ryan, or a Dave. I didn’t have any of that. It was just letters. So it makes it especially challenging in those situations, where you can’t see anybody, you can’t pick up on sort of the facial expressions to know that “Is this person getting what I’m saying?” Or “Does this person look like they could use some additional explanation?” Things like that. Things you can easily do, or rather more easily do, like a live workshop situation. But I didn’t have any of that.

So to me, in terms of the quality of the experience, or rather the challenge level for teaching, if I can’t see or hear people - I’ll still do as good of a job as I can possibly do, and depending on what I see in the chat, if people say “Hey, can you explain this a little more?” or whatever it is, then I’ll kind of know where to focus my attention a little bit. But that is by far the worst kind of experience for me. If I can’t see anybody, hear anybody, it’s just – I can’t even tell how many people in the room… It’s hard.

[26:01] But then you can have remote that is better, far better, because if you have video, you can see everybody, you can see smiles… When you make a joke, you imagine people on the other end smiling, you can actually see them smiling back at you on the the video call. People can unmute, talk, and ask questions, and everything else. So it’s a lot better experience for them and for me… But ultimately, the best – if you can get it, the best possible, highest fidelity experience that you’re gonna have is the face to face. It’s when you’re in the classroom.

And I would say even if I had four people in a classroom, we’re still gonna have a good time. Past 40-50, then I’d probably want to have TAs. At this point, I can manage a room of 50 people, depending on their level. If more people need more hands-on attention, then it’s hard to sort of bounce around the room a little bit. But the face to face experience - I mean, there’s nothing quite like it. I mean, it’s better for the students, it’s better for me, because I can interact, there’s body language, I can run around the room, I can do things – like, Bill Kennedy, if you’ve ever been in Bill’s classroom, he’s all over the place. He’s bouncing off the walls… I admire the way he teaches; I can sort of pick up some hints from him when he’s like keeping everybody engaged through his movement. I steal some of those ideas. I’m like “Hey, you know what? Let me go to the back of the room, and pull a Bill Kennedy. Let me go to the back of the room and start talking to this individual, start asking that question. So let me pace the room a little bit.” So things like that, I pick up from other instructors. What’s the best way I’ve seen somebody deliver this particular kind of topic? These things you get to experiment with when you’re in a live, face to face classroom, that you just can’t do on a remote call. So the sizing there is definitely gonna matter… But yeah, it’s tough. There’s no formula for it, but I’d say past a certain size you want some help, you want some TAs.

A question that you’ve kind of sparked in my mind, in reference to Bill Kennedy and this kind of very animated, engaging one on one form of teaching is “How do you think through people’s different learning styles and people’s different just like personality traits?” I.e. I know that for example if I’m in a workshop about something that I feel like I’m qualified to be learning about, but this is truly me diving into a new space that I’m learning, and someone like a Bill Kennedy comes up to me, and in front of everyone goes “Oh, what do you think about this?” I am someone –

Terrifying! [laughs]

I am someone who is quite extroverted, but I would be like – after that moment, the entirety of that workshop just like “Heads down, please don’t on call me. Please don’t call on me.” Versus other people who maybe are asking a million questions, and perhaps not leaving space for others to ask questions. I just feel like all these personal dynamics, handling those as a workshop leader, gauging “Is there someone I can call out in the class? Is there someone who I see is engaged, but doesn’t seem to be asking any questions? And there’s this other person who’s asking all the questions, and like leaving no space for anyone else.”

I chuckle, because I’ve been in those classrooms, I have interacted with some of those sort of – let’s just say they’re engaged to the point where their engagement level can sort of eclipse and sort of overshadow those who perhaps are a bit more timid. You can see them engage, you can look at them in the eye, you can see excitement behind the eyes… But I’ve literally seen somebody try to raise their hand after lots of encouragement, and say “Hey, let me hear what you’ve got to say”, like probing and prompting and everything else… And as they’re about to say something, finally mustered up the courage to say something, some of the more vocal people just jump in and cut them off. And the moment I see that, I’m like “Yup, hang on, hang on…”

[30:21] So it becomes – you have to develop, I’d say, sort of crowd control skills as well, to be able to manage your workshop live. If it’s remote on Zoom, people can raise a hand, and all that stuff, so it’s much more manageable. But if you’re in a live situation, where you have to literally manage, control the crowd, you have to be paying attention to everybody in the room, and seeing who’s timid and is afraid to raise their hand to ask a question that they might think “It’s a stupid question. I’m not going to ask it”, but if they finally muster up the energy to raise their hand - you have to catch that. And whenever I don’t, if I don’t, then I will feel bad. If I find out later that “Oh, this person really wanted to say something or ask a question” and I didn’t see them or I didn’t give them the opportunity, then I’m gonna feel like I took something away from them… Because it takes a lot of – and when you’re in a room full of other people whom you perceive to be “smarter” than you, or more advanced than you, or more comfortable in something than you - it may not be true, but that all that self talk… We all experience that. If you sit in a room… I’ve been teaching sort of advanced Go workshops, where the people will come and be like “Well, you know what? I’m not a beginner anymore, but I don’t consider myself advanced.” But they come in the room, they sit down and they hear and see other people who are talking about those advanced things, and now they feel intimidated, and being like “Well, even in this room, I’m gonna make myself small, because I have no idea what these advanced people, who are in this advanced workshop… Like, why are they even here, if they already know these things? Why are they even here?” Like, you’re comparing yourself to all these people?

I usually tell people “Look, stop comparing yourself to everybody else in this room. You’re here to level up your skill. This is about you. This is a one-person – yes, there’s people around you, but this is all about you. If you don’t speak up, take advantage of this time, with a one on one, ask questions, have this interactive sort of a back and forth, ask things you can’t google for… This is your chance, this is about you.” So it’s keeping your eyes open to find the people who are just on the edge. And then you’re gonna find people who are heads down, they’re either on the phone, or on the laptops the whole time. The whole time. And that’s okay. Maybe I make good background noise, I don’t know, but they’re just – maybe they’re working, maybe something’s on fire… Who knows, maybe they could be SREs and they are on call… Whatever the case may be. But those people I know that “Okay, I don’t have to worry about you, because you’re here, you know what you’re doing, clearly. You don’t need to pay attention to me.” So I don’t worry about those people. I worry about everybody else who’s got their eyes open and looking up at me, hoping I’m going to teach them something today.

Break: [33:16]

So in terms of setting up that kind of safe learning, psychologically safe learning space - and you kind of already talked about this a little bit, or touched on it… Introducing kind of TA’s into that space, I’m interested - I think you touched on the whole you would introduce a TA based on the class size… I’m interested to hear if there are other factors, or certain topics that you think it’s useful to have other TAs in the room for. So there’s that. And then my second question, kind of along the lines of what we were talking about just now, making sure participants feels kind of safe, heard etc, how you go about asking people to TA workshops? What makes a good TA? Because I feel like I have been in workshops where I’ve had TAs who have been brilliant, and in some cases have been the thing that I enjoyed the most, and the reason I got the most out of that workshop… I have also had TAs who have just confused me, and not helped at all, and either have got frustrated about my incessant questions, because I don’t understand, or have told me the wrong thing. I then try and run my program, I turn to the person next to me and go “Why isn’t this working?” and realize they’ve taught me the wrong thing. I.e. that TA clearly maybe just made a mistake, it’s fine, but… I want my TAs to tell me the right thing.

Now you’re frustrated. [laughs]

I’m like “Well, I need to find another –” And I have done. I actually – I don’t think, Kris, you were in this workshop… I was in a workshop where I asked for a different TA to help me… Because I had a TA who was assigned to my section, and he kept on not telling me the right answers. It wasn’t working. So I was like “Hey, can that TA help me…?”

You have some people that have – they have a good heart, they want to help. Maybe they’re volunteering… I’ve done a ton of Go Bridge workshops, for example, where basically we relied on volunteers. Heck, you’ve been in one of those workshops yourself where we had volunteers in the room to help people… Because in those situations, oftentimes you’re not just teaching a particular language or technology, you’re also helping people get comfortable with things like the command line, or – because perhaps this is the first time they even knew that there was something called a shell on their computer. Like, there’s a lot of things that go into making somebody feel comfortable and poised to learn. And TAs play an important role in that. But not everybody knows how to TA. So that’s why, again, harkening back to my Go Bridge workshops, whereby we even had preparation material for TAs, right? Like, “This is how you do this.” We don’t assume everybody knows how to be a good TA.

[40:22] “Don’t take somebody’s keyboard away from them” is one of the rules. You can instruct, you can allow people to navigate their own computer. Don’t type things in for them, don’t take over their machine, don’t get in their personal space. There’s a certain balance you have to maintain when you’re TA-ing… And these are things that really you have to sort of instruct people on how to do, so that you don’t – nobody’s born with a natural sort of know how of this. Yes, you may have some natural talent in terms of communication and everything else in that, and that’s perfectly fine… But you still require some instruction to know how to approach the act of TA-ing. It’s not something you’re just gonna show up and like “Oh, I know how to program.” I’ve known brilliant people, like you said, people who know what they’re doing… But just because you know something doesn’t mean you know how to teach it. It’s a very different skill set.

So if you’re a TA helping in some way, you have to kind of take your ego, yourself out of it a little bit, and rather than “How do I teach this to you?”, you ask “Okay, what is the best way you learn, so that I can formulate my response, or I can point you in the right direction, and sort of lead you to the answer, rather than giving you the answer, or rather than taking things over from you and so I can do it for you, because you’re not gonna learn anything that way?”

So there’s sort of a selflessness that is required to be a good TA. How do you ask people to be a TA? I guess you just do sometimes – if you’re lucky, they’ll self-select… But sometimes you’ll find people that seem like they would be a good TA; maybe they’re very helpful through their written communication, maybe on Twitter, or Gopher Slack, or some form of communication, you notice that “Oh, I know who would be a good TA”, because you’ve seen them interact with other people before, and they’re very kind, and patient, and they’re supportive, they’re not brash in their delivery and things of that nature… These tend to make very good candidates for TA.

So I’d love to hear a little bit – I don’t know, Kris, if you have any questions. I was gonna ask about kind of process, and the actual operational logistics… But I also want to make sure if you have any burning questions that you would like to ask…

I guess on choosing TAs… So I’m just curious, is it easier to find TAs for more advanced things or easier things? Like, more advanced or more beginner things? Because my intuition would be that it’d be easier to find it for more advanced things than beginner things, because it’s easier – because it’s probably more people that understand this stuff more, and there’s a whole thing about people who master things forget how they got there, so they can’t explain it to beginners… But I don’t know if that actually holds in practice.

I’m thinking back to my experience… I would say it was easier to find advanced beginners who were TAs. I think they tended to fare better than the more advanced people. I think, as you said, there’s a certain – you tend to forget how hard it was for you to finally master something, or… You’re teaching something, and you’re showing them how to do something, and in your head if you explained it like two or three or four or five times, they still don’t get it, and you’re like “Does this person have a problem understanding logic? Why are you not getting this?” You start you start thinking “Oh an, I’ve run out of analogies for this person. I’ve run out of ways to explain this.” You get frustrated, because you’re like “This is so simple. Why are you not getting this?” This is where that whole self and ego thing comes into play. And I think the advanced beginners, because they are a little bit more knowledgeable than the complete beginner, or somebody who’s early on in their journey, they can empathize a bit more… But it’s not a hard and fast rule. I’ve also come across advanced people who are excellent communicators, and they’re empathetic. They get it. But that’s because they work at it. You have to literally work at this.

[44:28] Again, knowing something and being able to teach something are very different skills. So when you work at teaching, then you’re like the rock star. Then all the different ways, or you can sort of anticipate all the different problems somebody might run into. Or if they have a particular edge case that, because of your experience, you’ve come across that before, you can say “Oh, okay, do this instead.” When you’re that knowledgeable, and you decide to apply that skill to teaching… Man, it’s wonderful to see. It’s wonderful to see.

Do you have the concept of like people who are brilliant and just asking questions to try and catch you out?


I think about this just because there are – and I might be completely off base here… But I’ve seen both when people give talks, and then they do Q&A sessions, but also in workshops that I’ve been in, where I get the sense (I might be wrong) that certain individuals asking certain questions ask it in such a way that feels like trying to be like a gotcha. I don’t know whether that resonates, but… I wonder if you’ve ever encountered that. And like how you deal with that.

There’s different ways of dealing with it. Depending on sort of my patience level for that day, or if you’re catching me before or after morning coffee, there’s different ways you can go. But yeah, you will find people who are in the room that are trying to establish their own knowledgeability, if you will, they’re trying to establish their own sort of expertise, or something… Oftentimes, those people are easy to spot, because they’ll stand up and they’ll sort of expose, they’ll elaborate, they’ll make a statement, and then you’re kind of waiting for the question to come out. But they’re expanding on some knowledge, some esoteric thing… And then in the end, what I like to do in those situations - I let them go on and on, and then if they finally get to their question, I usually say “Okay, well, thank you. But I don’t know the answer to that.” A very short and curt response. This is me communicating back to you and saying “Look, you weren’t really asking me a question. You didn’t really want to know – because if you wanted to have a discussion, there’s different ways to do that. After the talk, or after the workshop, let’s go off to the side and have that sort of deep, esoteric, kind of thing, if you really want to know something. But if you’re just gonna stand up just to establish your credibility - yeah, then my patience level is gonna be a little thin for you. I’m not gonna be rude or mean to you, but I’m not going to spend time on you, because you’re clearly you’re here, and you’re knowledgeable… Why are you here? If all you hear is spread your peacock feathers and show off, my class is not the place to do that.”

I was gonna say, “Oh, they’re peacocking.” And now everybody’s looked at them, so they can just sit down now.

Exactly. Mission accomplished.

Yeah, great advice, I think, for any speaker who has someone asking them questions, or workshop lead, or anyone in life… At the dinner table, when you have someone who just wants to prove their own superiority… You just go “That’s really interesting. I’m really happy you shared. Next topic, please…” [laughter]

And they’ll get it. They’ll be like “Ah, I screwed myself, didn’t I?”

[47:50] I do that. I’ll be like “Thank you so much. I really appreciate that. So, Kris, how was your day…?” [laughter] Awesome. So we’ve talked a lot about kind of the makeup of a workshop, making people comfortable… I want to now take a moment, both in service of people who might be thinking about doing workshops, to talk through the actual operational process of “Okay, I want to do a workshop, or I’ve been asked to do a workshop”, how do you put it together? How do you frame it? What are the things that are most important to think about when framing a workshop? You kind of wanna almost establish like a checklist that “You do this, then you do this, then you do this…” Almost key questions to ask yourself at each phase of framing it, until it becomes a reality, and you’re in the room.

So let me use Kris as my guinea pig here. So Kris, if you’re attending a workshop, first of all, do you read the topics ahead of time, or do you just read the headline, the title of the workshop and be like “Oh, I have an idea of what they’re going to be talking about.” You peruse the bullet list a little bit, and then you figured, “Hey, I’m gonna sit down and see what of this I’m interested in.” Or do you go through and say “Oh, is what I want in here?” Or “Let me find something that has exactly what I want.” How do you approach picking something to learn?

I mean, I’m a nerd, so I’m gonna read through the whole thing… I’m a nerd that wants to be efficient, so I’m going to read through the whole thing and be like “Is this is – like, this is a cool title, but is this actually something that I’m actually going to get value out of?” Or is it like “Oh, nice title, but I already know everything in this”, or “I’m not interested in learning this thing.” So I’m definitely gonna sit down and read through “Okay, what is it precisely that I’m going to learn from this workshop?”

The reason I ask is oftentimes I’ve found that sometimes people come in the workshop resigning themselves to the preset list of things that are going to be talked about… And while obviously you should expect that the things that are sort of listed to be the things you’re expected to learn, to be the things you’re gonna walk away from… But oftentimes, when a trainer or a teacher or anybody really that’s trying to convey something - it can even be a talk - they have to be very selective about what it is that they’re gonna say. Because any subject area is going to be so broad that there’s no way they can deliver it in 30 minutes, in the case of a talk, or in eight hours in the case of an entire day of workshop. So by definition, they have to be very selective about what they teach you. So that means they’re sitting down and saying, “Okay, what do I think my audience is going to want to learn about today?” So if I want to teach about advanced Go, what are the things that people generally consider to be advanced Go?

In the beginning, people were like “Oh, well, if it’s concurrency, or if it’s channels, or whatever it is, any of those kind of concepts - yeah, that’s going to be advanced Go.” Well, okay, maybe that’s true for some, maybe that’s not true for others. Maybe they understand the basis of goroutines, and they just want to learn how to use patterns instead. Maybe for them that’s advanced Go. So the understanding what your audience is looking for, and tailoring to that, when you can, when you have the opportunity - I think it’s the best possible sort of preparation you can do.

If I sit down and say, “Okay, well, let’s put together a training.” And if I have that feedback early on that says “Okay, the people that are going to come sit in this classroom, they want to learn about A, B and C.” I mean, that’s gold right there. Because I can say “Okay, I’m gonna put together a workshop that has A, B, and C, because that’s what they want to learn about.” If they don’t need to learn about mutexes, because reasons, then I don’t – I may mention it, but I’m not going to spend a ton of time on it. I’m not gonna have a bunch of exercises on it, because they’ve already mastered that. So when they tell you exactly what they want, give the people what they want. So I think that’s the best way to do it, is to - again, you’re not going to always sort of know ahead of time what the people want. So you kind of have to be sort of shotgun approach and say “Well, if the topic is this broad, I’m gonna select a few things that I think are interesting, and hopefully I catch everybody.” But in the case where you have the opportunity to create something customized, and create something that delivers specific value that is being asked for, that’s the best possible scenario.

[52:17] And within this structure, how much can you digress? So for example, I think this is in a talk, if you have questions coming in, we have this in Go Time episodes, we have a topic we’re talking about, and there’s a certain point where we’re going completely off topic, and we need to bring it back to the core topic. I’ve always been interested, especially with trainers, people who are running workshops, who do seem to be very kind of flexible, open to having conversation, open to digression, kind of how you think about staying on topic while still allowing for some of that open discussion/exploration, questions that might have been spawned in your participants’ heads, that might not be specific to that topic or area that you’re chatting about at that portion of the workshop… But you want to still hear them out, answer their question, make them feel heard and seen, and not just like shut down this question they might have had.

I think of it in terms of sort of concentric circles. The inner circle, the innermost circle is the topic I want to deliver. If somebody asks a question that falls into the next ring, I can go in there and spend a little bit of time, because it’s adjacent; they’re probably not the only person who’s thinking and trying to connect the dots… So this is where they’re basically taking the knowledge I’ve just given them, and now they’re try to relate it to other things they might have heard, and trying to center themselves. Basically, they’re trying to find the gravitational pull, they’re trying to figure out “Okay, how does this relate to this other concept I’ve heard about? Is it related? Should I think about it some more? [unintelligible 00:53:50.08] How do I connect these dots?” They’re trying to put pieces together in their minds. I don’t have a problem spending a bit more time into that second ring, if you will.

The moment they start going beyond, like third, fourth and on, then I’m like “You know what? That’s not exactly what we’re talking about right now, but if you really want to know, find me after class, and I can show you exactly sort of how this relates, the different hops you have to make and how these things connect to each other.” But again, it’s going to be basically how closely related it is to the original point, the real topic that we’re trying to learn. But it’s perfectly acceptable and normal to sort of go into that second ring, if you will, and spend a bit of time there, because again, that’s what’s helping people connect some dots in their minds.

So digression, but not too far. Otherwise, let’s have a side chat later.

So I feel like you’ve talked a lot about how you think about workshop leading, making sure everyone feels comfortable, keeping on topic etc. as we’ve chatted through. I kind of want to talk about how your approach to leading workshops and teaching has changed over time, because obviously, you have a wealth of experience. Now I can say - and yes, I’m slightly biased, but I think it’s true; you’re an exceptionally good workshop teacher… But there must have been a time perhaps when you were just – you weren’t so good. So I’m interested to hear kind of the things you’ve learnt over your kind of years of experience, the kind of tips you might give to people who are thinking about jumping into this space, so that they can learn from your experience and the ways in which you’ve changed in your style to kind of improve and get to this place where you are now.

I started dipping my toe into teaching because I wanted to learn more about the very thing that I was teaching about. So if you ever want to put yourself in sort of a challenging situation, sign up to teach a Rails Bridge, or Go Bridge, or Clojure Bridge… I mentioned bridges because that’s where I got my start. I started as a TA, because I wanted to – even that, starting as a TA, because I wanted to be able to say “Well, crap… I’m running Ruby, I’m learning Rails, and there’s a Rails Bridge coming up… I know, I don’t know a lot about Rails still, but I know more than somebody who’s never done Ruby before.” So I’m going to use that as a lever. I’m going to use that as a means of leveling up in order to be able to answer questions.

[56:37] So I sign up, and I have two weeks or three weeks to prepare as much as I can in order to be a TA at this workshop… And what I do for the next two or three weeks, I sit down every day, I’m trying to hone my skills, I’m trying to learn, I’m trying to – I’m reading, I’m consuming content. I’m literally – because I don’t want to, one, come out looking like a fool, because when somebody asks me a question, or two or three or four, and I have zero answers, that’s embarrassing. So I don’t want that to happen. But also I’m like “Okay, I’m doing this because I have some interest in being able to teach people.” You kind of have to want at least that part; you kind of have to want to do that. Because again, teaching is not for everybody, so you kind of have to have a desire to do that in the first place. I’m like “Well, how do I not only learn information so that I can relay it, but how do I learn the art of teaching?” I’m not professionally trained in teaching, and there’s people who go to school and get degrees in teaching, right? So how far can I get without going back to school and saying “I want to learn how to teach properly”, or whatever. So how far can I get?

But then those things you find out - okay, we all teach each other all the time, whether or not we realize it. You walk across somebody in the street, an old friend, whatever it is - we’re always teaching each other in some way. We don’t call it that, but we’re communicating. We’re relaying information, conveying information… Depending on how I convey information to you, it may be a useful exercise for both of us, or it could be something that leaves a poor taste in my mouth. So trying to find, okay, what’s the best way to deliver this knowledge I’ve just acquired, and I just need to be able to sort of convey that to somebody else?

I mean, for me, my a-ha moment was when I literally basically volunteered to go explain the notion of object-oriented programming to a roomful of people at a Rails Bridge… To a roomful of people who didn’t know what those words even meant, like “What does that mean?” and whatnot. So I started using sort of a cooking analogy, because during that time I happened to be learning how to cook, and more than just boiled potatoes and eggs. So I happened to be learning how to cook, and I started using kitchen analogies, like “Oh, there’s an oven, you put things in it, and it has a timer, and this is how you relate these things together.” And it was a roomful of people who clearly knew about cooking… So you saw people like with the a-ha moment; they’re realizing “Oh, okay, I get it now”, because I was able to say “Okay, well, I can’t use technical terms to explain these technical concepts, because I’m just gonna leave people just with a blank stare in their face. What is something that most everybody in the room is going to be able to connect with and relate with? How do I translate those technical terms and concepts into something they know in the real world?” The moment I did that, and I saw the effect of teaching that way, I was hooked. I’m like “Oh man, I want to do more of this.” The gratification you get out of that, when you’re finally able to take something that is fundamentally difficult to grasp without years of experience, and you can boil it down to something that is consumable for the layperson… I mean, it’s an incredible feeling. So the more you pursue that, to me, that was my arc. That was my journey into it. That is why I really wanted to do more of that.

[01:00:04.14] Do you spend a lot of time curating your analogies? I just feel like, in the same way I’m sure you spend hours curating your amazing dad jokes, I wonder if you spend the same amount of time curating your analogies. And the reason I say this is I have dabbled in using analogy to explain to people certain things, and sometimes I feel like I let the analogy get just too far, and it actually confuses them more than I originally intended. Or they take it far too seriously, i.e. you’re explaining concurrency and you’re like “Oh, it’s like a cashier at Starbucks. You know, they can only make one coffee at a time. But if you introduce concurrency, then they have to make two.” And then you have someone be like “Oh, but they only have two hands, so they can’t make three… They left the cashier desk, so that’s an effective… Who’s manning the cashier desk?”

[laughs] It starts to get away from you.

And it gets away from you. I’m just intrigued, because I think analogies are an incredible way to teach. I think a wonderful way, as you say, to make technical concepts understandable, in a way that I think when you take away that technical language and you just explain it in layman’s terms is brilliant. But I do wonder where analogies become too much and you get so far away from the technical context that it’s hard to then bring people back to that technical - whether it’s the technical language, or the concept in a way that it’s easy.

It takes some practice, I won’t lie. The way at least I think about it is if I can classify in my mind where a certain set of analogies sort of fall into play… So think about it this way - there’s a fundamental sort of concept, there’s fundamental slots you can fit different ideas into when you’re explaining a particular topic, whether I use… Alright, let’s take semaphores for example; whether I say “Well, for a semaphore, imagine that you go to a restaurant and you are ask the host for a table. It’s you and three other friends. There might be scattered spots at different tables that could sit all four people. But in this case, you need all four seats available in order to sort of enter the restaurant and sit down and eat. So when I explain the concept of a semaphore, I’m reaching back and sort of using that to say “Well, think about it this way… You can have a size, a certain set of things, goroutines that you need to be able to execute at one time. Think of it as going to a restaurant and waiting in sort of the waiting area before all four of you can actually go in. You don’t just want one or two or three, you want all four of you.” So using that as a sort of framework, and then say, “Okay, well, maybe it’s not a restaurant, maybe it’s the pool, and they have a certain number of people that can be in the pool at any given time.” So you start to sort of swap out these sort of blocks, and then you can come up with all kinds of different analogies where as long as you can identify in real life, in the real world, similar sets of things that people are coming across in their daily lives, then you’re just like swapping the different scenarios. But it’s the fundamental still same basic concept. So that’s how I think about it, and that’s what allows me sort of come up with scenarios on the fly if I need to, because there’s this fundamental concept I’m just fitting a block into, that I already have in my mind and I’m trying to convey.

I think the interesting thing is that I think the best analogies aren’t actually analogies, they are just equivalencies. What you’ve just explained with “Oh, I go to a restaurant”, and you’re not explaining something that’s like a semaphore, you’re explaining actual semaphore. Like, the way that that function is a semaphore, it’s just not like a programming one. And I think that that’s a differentiator of like “Is this going to be a useful thing?”

I think for things that are truly analogies, where they are in the same category, or a thing that’s a different version of the same category, you have to be very quick with them, and just kind of use it to get people to kind of understand something, and then move over to actually explaining it to them, because they do get long in the tooth very quickly, and they can kind of fall back and just confuse people even more than if you haven’t used them in the first place.

[01:04:23.05] But when you can find those equivalencies, that’s when I think it really starts to click for people, when it’s like “This isn’t just like this thing. This IS this thing, just not for digital computers. It’s for this other type of thing that you’re trying to do.”

Like, I have this one that I’m working on, because I’m working on this whole thing with this REST, Representational State Transfer, and there’s a whole idea that people have of like “Well, why can’t I just borrow some of the things from REST, and call it REST still?” And I have this thing where I’m just like “Well, you can’t just like take out some of the ingredients from a pancake and call it a pancake still. Then it’s a loaf of bread.” Like, you wouldn’t call your pancakes bread. And that’s why you don’t call REST this other thing. And that’s not like a “Oh, this is like that.” It’s the same type of equivalent. There’s ingredients that go into making a pancake, there’s ingredients that go into making REST. And you can’t just randomly pull out the ingredients, because then we call it something else. And when you get to those types of things, like those types of equivalencies you can draw, or categorical similarities… Yeah, that’s the word I’m looking for. That’s I think when you really help people learn things. Because those, in that case, is something that you can stretch as far as it needs to go, because they are equivalent. They are the same thing. It’s like, two plus two is four, but also three plus one is four. And if you can get people to start learning that through like “Okay, I don’t understand two plus two, but I can understand three plus one.” It’s like “Okay, well, these are the same thing. They’re just slightly different variances of it.”

So I think that’s like the key thing, and of course, the word nerd in me is like “Well, then it’s not an analogy, because they’re not comparing something like it’s something. It is something.” So…

Word nerd… But you can also do zero plus four, two to the power of two… I mean, come on.

I mean, I regularly look at the etymology of words now. I’m looking up the word… What was it – oh, canon, and… Because you know, I was having this whole thing about being a nerd with a TV show, and we were talking about canon, which for those who don’t know, it’s like the actual official record of what happened in the universe of a TV show, or a book, or some literature. But in tech, we have this word canonical, which is derived from canon. And for some reason, we decided that the verbing of that would be canonicalization, even though we had canon and canonization. So we just like made up a word, because – I still need to go dig into this and figure out why we did this… But it’s like, there was a perfectly good verb that we could use, and we just took the adjective and made it a noun, and then turned it into a verb, and it’s this whole big mess. But that is what my life is like now, which just word fun etymology stuff. I spend entirely too much time thinking about these things. But it does help with people actually learning things where we can actually get to the roots of this sort of stuff, or when you can explain through these types of equivalencies. And I think that really is at the end of the day what makes the difference between a good analogy and a bad one, or what people call an analogy, and a bad one. It’s like “Can this thing actually be an equivalence?” Because if it can’t… Some people say “It’s like a concrete boat.” And it’s like “Well, actually, you can make boats out of concrete that still float, so that’s not a really… Like, I get what you’re trying to say, but it’s not quite there.”

Don’t mess with words [unintelligible 01:07:27.12] Kris. That’s all I’ve gotta say.

That’s what I’m learning…

I mean, I’ve got an English degree for a reason. I have a whole book that I’m reading about how to make dictionaries. It’s great fun. Lexicography. It’s so much – it’s so fascinating.

And I feel like we’re in like the fourth concentric circle of this discussion. I love it, but… Kris, let’s talk about this offline. [laughter]

[01:07:54.14] See, I stopped talking, which was the [unintelligible 01:07:55.10]

See? I feel like we’re in a workshop right now, and you’re teaching us how to teach, and… See? Engaging, and I’ve learned. [laughter]

Oh, already putting it into practice. Nice!

I’m ready. Talking about putting it into practice, we are coming to somewhat the end of our time before we move to unpopular opinions, so I would love to get, from you both, either - and I’m gonna give you multiple choice… A few tips, you can do 1 to 3, maximum 3, for participants going to a workshop. How can you be the best participant possible and get the most out of a workshop you’re going to. Your other multiple choice is if someone is thinking about putting these tips and tricks into practice and being a workshop leader, how do they know they’re ready? What are some questions to ask yourself? How do you make sure you’re ready? Are you never going to know whether you’re ready till you try? So you can choose which question to answer there.

I mean, I think you’ll never be ready. I don’t think anybody that does these types of things is ever like “I’m ready to do this.” That’s just not a feeling you get when you’re this type of human. I don’t know, when I joined this podcast, I wasn’t ready to be a podcast host. I was just like “I’ll just go do it.”

Give it a go.

So I think if you want to do a workshop, I’d say just start figuring out how to do it. Don’t like pitch it to a conference you want to do that, but maybe get together a group or friends and like sit down and be like “Hey, I want to teach you guys something”, and you just start practicing that way. But yeah, don’t think that there’s a point where you’ll get ready, or be ready. I think it’s just like you’ve got to just keep trying, and also be alright with perhaps being a little bad at the thing.

I think people sometimes are like “No, no, I have to be as great as Johnny Boursiquot at this”, but that’s not an achievable thing for your first workshop, so you’ve gotta be a little alright with not being like the best workshop instructor in the world, but also understand that people will still get value out of learning something, even if your learning technique isn’t perfect, even if you’re fumbling with words, or you’re stumbling a bit. People are very forgiving, especially when they’re learning, which I would say is like that third piece of advice I’d give, is just like try not to be too self-conscious. The people that are there are focused on trying to learn something. Not you necessarily… Which is the same advice I give to people that want to give talks; it’s like “You might be messing up, but the people in the audience have no idea that you’re messing up.” So like the people in the workshop, literally because they don’t have any idea how this thing works… They’re trying to get that knowledge from you. Except for the know-it-alls, and whatever for them. [laughter]

But we know how to address those also…

We know how to address them. So yeah, it’s like, just remind yourself and just keep that in the back of your mind; these people are here to learn, and that’s what’s important. And those nerves that you feel - they probably don’t even notice them.

Yeah. And any knowledge you have, someone else might not have… So anything you can teach is worthwhile. Speaking as someone who ran literally an hour-long workshop on how to write a Hello World in Go. That was the whole workshop, was “Hey, this is Go. This is how you write a Hello World function that will show Hello World.” Because that was how much knowledge I had at that moment.

There you go. Look at you now.

And look at me now, I can still write Hello World… [laughter]

I only have one piece of advice for participants… If you get the opportunity to have sort of that one on one interaction, or – maybe it’s not even a one on one. If you actually get to speak to your teacher, don’t sort of underestimate that opportunity, if you will. There are some things you simply can’t use your favorite search engine for. There’s anecdotes and stories, and there are some things you’re gonna get out of a human being, that a query database index somewhere is just not gonna give you.

[01:12:12.29] So if you are in a room with a trainer, and especially if they’re warm and open to questions, and they’re willing to engage - and these are the best trainers, in my experience - don’t be afraid to raise a hand. Try to stay on topic, obviously, trying to stay within that first circle, and maybe spill out a little bit… But don’t be shy. Raise your hand. Have a conversation. Ask something that I guarantee other people in the room are also thinking about. So take advantage of it, don’t be shy, speak up. We’re used to people asking us questions, even those that we sometimes cannot answer, or don’t have an answer for… Trust me, we’ve got it. We can handle it.

I agree. If you’re attending a workshop for the first time, if you want to talk to the instructor, if you have questions, if you want to ask them a million questions, you absolutely should. And Johnny, I feel like you can feel this coming, because I do it every single time I can… You never know; you might be a young, enthusiastic Gopher, who doesn’t even know they’re a gopher yet… Attend a workshop run by an extremely enthusiastic, kind, warm workshop instructor called Johnny. And then you pluck up the courage to say hello, ask a few questions, and - what is it now… Four years later, you’re on a podcast, talking about the very thing you attended that workshop about.

A miracle. It’s amazing.

Podcast and organizing a conference. Don’t forget that.

And share what conference, though – I mean, you know…?

And I retained that knowledge of Hello World. I can still do that. I can even do some concurrency. Look at me now.!

Look at you now!

Awesome. So we’re going to now dive into some unpopular opinions…

Jingle: [01:14:08.01]

So who has an unpopular opinion?

Was Johnny hiding from the microphone?

[laughs] Yeah, he’s like “Please –” For those of you listening to this and not able to see the beauty of it, as I faded out the music and I asked who has an unpopular opinion, Johnny visibly moved out of the screen. “Please don’t ask me…!” [laughter]

Off frame. [laughs] I’m sure Kris has one.

Oh, I have many.

See? Told you.

Let me – okay, so this is one not really related to tech, but it is related to the thing I was talking about before with canon… Because I recently got into like deep analysis of a TV show I watch, and the canon of it, and like these two characters that people are shipping… And my unpopular opinion is that you shouldn’t ship characters unless you’re going to do proper character analysis of the show. This is blasphemy among my friends. They’re like “This isn’t how shipping works.” I’m like “I don’t care.” I don’t like the fact that people will just – like basically, shipping is when you kind of have two characters that are not canonically in the show in a relationship that you write fanfiction about where they’re in a relationship. And I’m all fine and good with the transformative work. Like, yes, go write your fanfiction… But it’s like, when fans start to like demand that “Oh, these two characters on the show should get together”, and I’m like “Okay, well, where’s your evidence that they should?” and then they just start manipulating things that have happened that aren’t really there… I’m like “Do proper character analysis, and do proper show analysis, and show why the history is there. Don’t just like make it up out of the weird things that people see.” But according to my friends, I have missed the point of shipping, because I want people to do real critical character analysis…

[01:16:19.07] Like Harry Potter and Draco Malfoy?

Oh, geez…

You know, that’s a work of fiction… Yeah? [laughs]

I mean, it’s all fiction, yes…

So yeah, I mean, what’s wrong with more fiction around fictional characters?

My problem is not the – it’s not the fiction. I’m like “You can go do whatever you want.” My problem is when people try to be like “Here’s the canon, and here’s how the canon shows that these two characters should be together”, and I’m like “The canon does not show that. Please do proper analysis to properly show that the canon shows this.” Or be like “The canon doesn’t show this, but I really want this thing to happen, so I want to make up canon.” Okay, okay, fine. Like, you want to make up new facts - that’s fine. Fictional facts, not real life facts. You can make up fictional facts, about fictional [unintelligible 01:17:04.27]

Alternative truths… Yeah, I’ve heard of those.

That’s good. If you wanna do that, fine. But one of the things – it’s just like gotten stuck in my brain, where I’m just like, people just keep being like “Clearly, clearly, these two characters… Like, look that character looked at that character in that way, and that means that they want to be lovers.” I’m like, “That character looks at literally all the other characters like that. Try again.”

Okay. So your unpopular opinion is that…

Shipping culture is not properly literary analysis. Like, they don’t do enough good literary analysis. And they need to do better.

So before you ship a character or a relationship, a fact, do your literary analysis and run it by Kris.

Not run it by me, but just do good proper literary analysis, yes. Which, once again –

KrisBrandow [at]… Is it Gmail? [laughter]

Johnny here trying to dox me… Like, what the –

I’m now intrigued. What is the television series?

Oh, the show? It’s called 911.

Is it like a cop show?

It is a firefighter slash paramedic show. I mean, it is also a cop show. It’s all three.

Got it. Cool. I was just intrigued.

Yeah. But basically, there’s this character that is finally canonically queer, after the whole show. Obviously, he’s been queer the entire time. It’s like, everybody was looking at him like “Clearly…” And now they’ve actually in the show made him canonically queer, and so everybody’s freaking out, and they’re like “Oh…!” But there’s this other character that they ship him with, who in my opinion isn’t… He’s totally just this straight dude. And everybody’s like “No, they’re clearly in love with each other.” I’m just like “I just – I don’t see it.” I see what you’re saying. I think that you’re manipulating the facts too much, and I don’t like that.

Because queer men never date straight men ever, right?

That’s not – this is the other thing. There’s this whole other – I could have a whole podcast on this. Like, there’s so much about this, but the main thing is that I don’t mind if you want these two characters to be together. Just pick out – just do the show analysis to pick out the things that actually are there, instead of the things where it’s just like you’re just… Because there’s this one thing I saw where it’s like “Oh, if this line had been said to the character people ship, instead of this other character people [unintelligible 01:19:29.22] “Look! Evidence of shipping.” But he said it to this other character. So I’m like “Isn’t that the opposite? That’s like the other way then, because he said it to the other character.” So it’s just – don’t pick and choose. But I once again, my friends have told me I’m very incorrect, because I’m missing the point of shipping, and people want to pick and choose, and it’s fine for people to pick and choose, and that’s why it’s an unpopular opinion… Because I think most people will disagree with me that it’s just like “No, just ship however you want to ship.” You don’t have to go do deep literary analysis. Completely unrelated to tech… Yeah.

No, much like code. It’s your choice to ship or not.

I think we’re done here… [laughter]

[01:20:14.26] This is me desperately trying to bring us back.

It’s an unpopular opinion. It does not need to be about tech.

I know, I know it doesn’t. I appreciate it. That was actually quite an intriguing and informative unpopular opinion, that I’m intrigued as to how Twitter will respond to.

I mean, it depends on if those people are shippers. Because if they are, I’m gonna get replies of people telling me how wrong I am.

Okay… [laughs] Johnny, do you have an unpopular opinion? It’s completely fine if you don’t.

No, no. No follow up. No follow up to that. I’m good. I’m gonna keep my mouth shut.

Oh, come on… You can’t just leave me hanging. You have so many good unpopular opinions.

Um, not today. I’m good.

Angelica, come on, you must have a good unpopular opinion.

Jerod’s told me off for making up on the fly unpopular opinions, because he says none of them are any good.

I’m sorry, your one about glasses was plenty good.

That was the one he referenced as not being very good.

If this makes it into the episode – our wonderful producer is brilliant, but when I on-the-fly improv unpopular opinions, sometimes they are not great. A bit weird. And so I should think through my unpopular opinions.

Well, just do a not-weird one. It can’t be that hard, Angelica.

It goes against my entire being…

Oh, listeners, if you saw Angelica’s calendar… She’s prepared. She’s the most prepared of any prepared person I know.

My unpopular opinion is that sometimes when advocating to your company for a workshop series, a speaker series, or someone to come in externally to teach - so I know a lot of companies have kind of workshops, they get external vendors in to run workshops or training series… You might think that they’re always gonna go for an established company, they’re always going to pick like an established brand, or a training organization… But if you have someone, an individual, who is a really, really good instructor, has all the material, has perhaps taught at a conference before, or done a workshop, but are not directly affiliated with a kind of a training company, it’s not their full-time job, I would encourage you to talk to them, and talk to your company about bringing them in. Because often, in my opinion, the best workshops are not going to come from large organizations, prerecorded syllabuses; it’s going to come from someone who’s willing to come in, talk to your engineers about what they truly need… I mean, we talked about this earlier in the episode, really leaning on the participants to tell you what they need, so that they’re gonna get the best out of that workshop.

I recently pitched to the New York Times that they should bring wonderful Johnny in to do a series of workshops. We obviously did, as you have to do, a very long process about all the different options, companies, individuals etc. And at the end of the day, we are - and I’m really excited to say this - we are bringing Johnny in. And the reason I pushed so hard was because Johnny was someone who has this experience, but also was able to understand what we needed. We sent out an engineering survey, and it’s curating the content so that our internal engineers are gonna get the answers they need, learn the things that are going to be directly applicable to their work, which will make them have more business value, and will ultimately have more value to the New York Times. Because these engineers aren’t getting a few tidbits of useful information, they’re getting a series of workshops that are truly curated for them. So that’s my unpopular opinion… Sometimes the little guys can be much better than the established corporation.

So your unpopular opinion is David and Goliath. Okay, okay. [laughter]

Yes. You asked me to make it up on the fly.

Hey, I’ll take it.

And not only did I make it on the fly, it was not in the fifth concentric circle of relevance. It was in the first.

And…? Unpopular opinions don’t have to be on topic.

No, they don’t. But mine was.

This is one of the first times I’ve had –

That’s the other unpopular opinion. Your unpopular opinion is that unpopular opinions do not have to be anything to do with the topic.

That’s not an unpopular opinion. That’s how unpopular work.

Maybe that’s more of a poll. Would Go Time listeners prefer if the Unpopular Opinions was somewhat relevant to the episode, or would they prefer completely random vibes? I think that’s actually a valuable insight for us to know.

Unpopular opinions should be relevant… Maybe, maybe.

Intriguing, right. I feel like we’re getting into babble town at this point…

Yup. Let’s wrap this up. [laughs]

Let’s wrap this up.

Hey, we held it together…


Our transcripts are open source on GitHub. Improvements are welcome. 💚

Player art
  0:00 / 0:00