Test & Code #71 The Ultimate Guide To Memorable Tech Talks With Guest Nina Zakharenko Welcome to Test & Code, a podcast about software development, software testing in Python. Brian Okken: On today's show we talked with Nina Zakharenko about giving Tech Talks. Actually, it's more than that— we'll be talking about a blog series that Nina wrote called "The Ultimate Guide To Memorable Tech Talks". This episode is full of great help and encouragement, for your own public speaking adventures. I hope you enjoy it. Thank you to PyBytes Code Challenges for sponsoring this episode. Brian Okken: On today's episode of Test & Code we have again, I think you've been on before, Nina Zakharenko. You've been on before, right? Nina Zakharenko: Yeah, I think just once. We talked about mentorship. Brian Okken: Oh right, yeah. And then we've been on Python Bytes a couple of times together as well doing various things. Nina Zakharenko: Yeah, quite a few times. I think the 100th episode, the big celebration. Brian Okken: Yeah, that was fun. Nina Zakharenko: That was great. Brian Okken: You talk at conferences a lot? Nina Zakharenko: I do, yeah. Brian Okken: We'll get into that. Just in case people forgot who you are, will you introduce yourself, for what you do? Nina Zakharenko: Absolutely. Hey Brian, I am Nina Zakharenko, I am a senior code developer at Microsoft focusing on Python. Brian Okken: Actually, it sounds pretty cool, and I am more and more interested in Microsoft offerings and cloud platform because of the continuous integration stuff, it's starting to look pretty darn cool. Nina Zakharenko: Yeah, we're also going to be showing off a few cool things at the Microsoft booth at PyCon. And we have great giveaways and awesome slag, so make sure you stop by. Brian Okken: Okay, I will. I keep forgetting to do that, I usually just hang out at my booth and by the time I get around to other people's stuff, it's all gone. Nina Zakharenko: Yeah, so a booth will be right as you enter, Microsoft is the keystone sponsor for PyCon US so as you as you enter the expo center it will just be there. You can't miss it. Brian Okken: It won't be hard to find. Nina Zakharenko: Right. And I've been working with an illustrator to make a really cool custom design for this year's PyCon so you won't see anything boring at our booth. Brian Okken: Okay, I can't wait, you've built it up. I've got to remember to bring more books, I only brought like four books last time and they like went right off the bat and nobody's going to want to buy a book directly from me, but apparently they did, I'll bring more books next time. Nina Zakharenko: Yeah, I'll pick up a copy, so you just made your first sale. Brian Okken: Cool. I am just still an introvert like coder and so it surprises me when people say, "Will you sign it?" Like, "My name is already on the cover— okay, fine." Anyway, but you talk at a lot of conferences now. Is that kind of a part of your role as a developer advocate? Nina Zakharenko: Yeah it is now. It's funny that you said you're an introvert, I'm a huge introvert too. I can just kind of turn it off for the conference but then when I get home at the end of the day I just need to lay on my face in a quiet place and recharge. But someone on Twitter called it "An expovert". Brian Okken: An expovert, I love it. Nina Zakharenko: Yeah, it was just so perfect. I started out speaking at conferences about 5 or 6 years ago. I was just an engineer doing development work and I found it just fascinating. My very first Python conference, I just remember being so inspired by the speakers, Brandon Rhodes was there and Jackob Kaplan Moss and Julia Evans and I was like, "Oh my God, I wish that could be me one day." Thanks to some friends, I'll tell you the story for you have time for it at the end, I ended up doing my first talk and I was like, "Okay, this isn't bad", I didn't actually die like I thought I would, I thought I would just get up there and croak and that would be the end of me. The worst thing that I thought would happen— didn't happen and I just kept doing it again and again. When I was in my engineering role, I maybe had a chance to maybe speak at one, maybe 2 or 3 conferences a year and now that I'm doing developer advocacy I have a lot more freedom. It's great. Brian Okken: Okay, you've put together a guide, one of the things we are going to talk about is you've put a series of blog posts out called "The Ultimate Guide to Memorable Tech Talks." That's a pretty grand title. How many parts is there, like 8 parts or something? Nina Zakharenko: I think it's 7 parts. Brian Okken: 7 parts. Okay. I've been enjoying it, I've actually been reading it over and over again and trying to glean bits and pieces out of it. How did you start writing about that? Nina Zakharenko: I'm pretty active on Twitter, if you follow me, I am @nnja, that's like Ninja but without the I. And so I just sent a tweet out there into the world and asked, "Who's interested in hearing about my strategy for how I approach conference talks," not really thinking anything of it. And in 24 hours I think I got about 2,000 likes. And in trying to figure out who is interested I just got this deafening roar, and so I had to do it. I felt like I couldn't let all those people down. Brian Okken: There's a lot of great information in here, you talk about really the nitty gritty stuff like what tools to use in slide presentation software and stuff, all the way up to making sure you plan out your time to make sure you don't cram at the end and just try to repair it the last day. I wanted to ask about, at least in the article, you said you use a tool called Deckset and how does that relate to markdown? Nina Zakharenko: Duckset is a way to take Markdown files and turn them into slides with themes and everything. The reason I prefer it is because Markdown is a text format so not only do I have my presentation saved to Dropbox but I also have it in git, so now all of my sides are source controlled. Brian Okken: Nice. Nina Zakharenko: Yeah. Did you ever work on a presentation and you put in a slide and you're like, "Oh no, I don't need that" and so you delete it and then an hour later you're like, "Where is that slide?" With source control, as long as you follow the mantra of committing early and committing often, you're never going to have that moment again, it's all in there. Brian Okken: It's funny I put source control around everything now so that it's when people say they lost something I am like, "I don't understand, how did you lose it, didn't you check it in?" Nina Zakharenko: Yeah, that's exactly right. Deckset does have a few quirks like for some reason I was messing around with things in the last minute and as I was going through my slides live during a talk, my notes disappeared. So that was an interesting one it was probably a formatting error somewhere. Brian Okken: Have you counted how many tracks you've given? It's a lot. Nina Zakharenko: It's a lot but it's not that much, maybe 15, maybe 20 throughout the past 6 years. Not like a huge amount, I am not a serial presenter. Brian Okken: For actual conferences, my number is two, and they were both exhilarating and horrible experiences that I want to do again. Nina Zakharenko: Yeah, the first one is the hardest. Brian Okken: Well yeah, it was 90 minutes also, I don't know why I agreed to that. And so my fear was it will be 90 minutes I'll have the wrong audience and they'll just be a handful of people staring at me, not reacting at all, and I will only have 45 worth of content. And that's exactly what happened. Nina Zakharenko: Oh, no. Brian Okken: I was trying to teach people about automated testing and PyTest and there's a bunch of manual testers, nothing wrong with manual testing but they didn't have enough experience to ask questions or anything. Nina Zakharenko: Was it a tutorial? Brian Okken: No, I wanted to just show the power of it, and also talk about my philosophy around testing, but it really only had like 20 minutes of content. So I added more stories, I added like 5 stories to make it like 45 minutes worth of content, and then it was just all stories and I don't think anybody really knew what I was talking about. Nina Zakharenko: Yeah, an hour and a half is tough. I recommend starting with the lightning talk or speaking at your meetup, your local meetup. Brian Okken: One of the things that you even talked about is time management and you were saying is give yourself the time, before you start getting ready for it, for the talk itself, at least 20 hours of time preparing. That seems daunting, you wouldn't have to do that for a lightning talk or a meet up, right? Nina Zakharenko: Not for a lightning talk. Not all of that time is spent necessarily on the slides or on practice. A lot of that time is spent researching. I want to make sure that if I'm saying something, I'm saying the right thing and that I'm not confusing folks. I'm introducing the correct concepts with the correct terminology. The time it takes to thoroughly research a topic is part of that equation. It's one of those things I have been speaking for a while— each new you're talk gets a little bit easier. But the amount of time that it takes me to thoroughly prepare for a really good conference talk, that amount hasn't dropped, it hasn't changed, like I hoped it would. Brian Okken: Okay. Also, one of the things that I've noticed when I'm practising a talk, the time is wrong. The time it takes me to actually give the talk is different than the time it takes while I'm just practicing it. Is that something that's common to other people? Nina Zakharenko: Yeah 100%. Every time I do a talk, the timing is always a little off, and so my tip there is if you're trying to practice in front of at least one other person, even if you can't find that person live, what I liked to do when I was first starting out was do hangouts on air, and just end up with an unpublished video on YouTube so I could send people the link but it wasn't discoverable, and so that was a good way to practice for a time, kind of for a pretend audience. My favorite tips here is once you've practiced for a time and you know about how your talk takes, find the midpoint and put a note in that slide that says, "You should be halfway done by now." So if you get to that slide too fast, you know to slow down the second half of your talk. If you get to that slide without much time left, you know you're going to have to speed it up or cut a few sides from the end. Brian Okken: Do you keep your own time or do you rely on other people for that? Nina Zakharenko: I wear a watch and then I also have the time show, I wear a watch with a countdown timer, so that I don't have to do the mental gymnastics of, "It's 11:37 pm, how much time do I have left?" And then I have the clock on my computer and then some of the better organized conferences also have session chairs who kind of wave a sign at you that say 10 minutes left, 5 minutes left, that sort of thing. Brian Okken: The second talk I gave that confused me, I wish I would have known and understood better. There was a person that held up a sign that said 10 minutes, and I didn't know if that meant I have 10 minutes left or I've been going for 10 minutes. Anyway, it confused me but now I know, it's how much time is left. Nina Zakharenko: I have to have as many cues as possible because I'm completely time blind, I just have no idea. Brian Okken: I want to stand still more, I've got this thing where I'm nervous up there, so I walk around, I'm all over the place. And I've actually had somebody tell me, "I like that you're walking around," but I'm not doing that on purpose, I'm doing that because I'm nervous. It's fun. Do you have any cool things or mistakes you see people make that they should not make? Nina Zakharenko: There are quite a few. The way that this guide came out, I posted on Twitter if anyone was interested and then I started writing. And then I kept reading and kept writing. This took me a few weeks to put together actually an edit into something coherent, and I think I accidentally wrote a book. Brian Okken: Are you going to make a book out of it? Nina Zakharenko: Maybe I should head up some publishers, maybe that's a good thing to explore because at some point I just have to cut myself off and say, "Nobody is going to read this if I keep going." But I've read a few books on public speaking, I've seen a few blog posts here and there but I haven't seen anything quite as detailed as the series that I wrote and quite as large in scope. Brian Okken: It's something that's got enough pieces at it where you can tweak it, and if you get too into the tools you may have to update it once in a while. Nina Zakharenko: I think in terms of tips, there are quite a few. My first few talks were not great. Thankfully, most of them were not recorded so they're not out there on the internet, but I did my very first lightning talk at PyCon Canada I believe in 2013 and I was just so awkward, so nervous, you might be able to see me just shaking in the video. Then I was done, I got it over with and as I'm trying to take the microphone off, it's just caught in my hair. I'm up there and struggling and I posted a link to the video for this talk, because it's just too funny to pass up. And so I'm not a natural, I am the furthest thing from a natural at this as you can get. I'm socially awkward, I'm shy, I am introverted, I'm not great at thinking on my feet. Brian Okken: There and some extrovert programmers, but let's be honest, what you just described is not uncommon in the tech sector. Nina Zakharenko: Yeah and so I didn't jump into this and it was fantastic from the start, like most things that you're going to get good at you have to practice. In terms of tips, I think the first step and one that I wish I had gotten sooner is just to breathe. Because I would get on stage and I wasn't breathing. My voice would get all squeaky, I would get just kind of white-headed and not breathing is what kicks in that fight or flight response. You know where you feel like you just want it right away. Brian Okken: Yeah, you're nervous and you've got your torso all tight and you're taking little short breaths. That's probably not good. Nina Zakharenko: No. And so a few years ago I found a coupon for some lessons website, online lessons and I took a few with a singer, a voice coach because I wanted to be more confident in my speech and be able to kind of speak a little bit louder and she taught me how to breathe. I was like, "Oh I've been doing it wrong all these years, of course". The exercise that she taught me, you put one hand on your chest and you put the other hand on your belly, on your abdomen, and you want to take these like long, deep breaths in the way that your stomach, the hand on your stomach rises and falls but the hand on your chest stays still. And that way you don't kick off that fight or flight response, your voice sounds more confident, you're actually able to think because your brain is getting oxygen. So that one was a huge revelation for me. And then building on that, a little bit of silence in your talk is golden. I feel like when folks are just starting out they just want to stammer through the whole thing, get as much information out as possible. Sometimes they have too much content or talking too fast, but having a moment to take just a breath helps you recompose yourself and kind of catch up and just take mental stock of what you've said so far. And the audience doesn't notice that pause at all. To you it sounds like this deafening silence, but nobody notices. And correctly timed pause can even add a little bit of drama or mystery— "What is she going to say next?" Brian Okken: You often do like technical, all talking about technical stuff now, but like more technical stuff, you're teaching somebody something? Nina Zakharenko: Yeah. Brian Okken: That pause actually, especially in those, actually any kind of talk, that pause lets people think about the thing that you just said, what you just talked about. Nina Zakharenko: Yeah, that's exactly right. And when I first started out, I had a hard time pausing, just hearing that silence in the room, not being filled with anything and so I always keep a bottle of water on the podium. And when I need to take a pause, I'll just take a few sips and then it's a little bit more natural, right, nobody is going to fault you for being thirsty or having a clearer throat or anything like that. Brian Okken: That's a great idea. I like that. Nina Zakharenko: And you stay hydrated as a bonus. Brian Okken: I know you've got a lot of stuff, I wanted to jump in and say one, that those last two sentences were just filler sentences because I was thinking and I should've just paused. The other thing is what helped me even just thinking about, I'm definitely not a good speaker yet, but I'm hoping to get there, but thinking about it is that people at tech conferences, they're not at an inspirational Tony Robbins show. They're not expecting you to be a car salesman, they're your peers, they're just like a bunch of friends, so you don't have to freak out about people judging you for being nervous up on stage, nobody cares. Nina Zakharenko: That's exactly right. If you can teach someone something and make it interesting in the process, then you get a gold star as a tech conference speaker. When I first started out, my first few talks, I was super nervous about the audience. I just kind of assumed that everyone would be so smart and so advanced and I would be boring them with what I have to say, that they will all know more than me, kind of this new flavor of imposter syndrome, different from my engineering imposter syndrome. In practice, that's just completely not true. The folks that feel like they don't have anything to learn from your talk then they are probably not going to be there, so it's kind of on you to write a good abstract and a good description of what you're going to say and to what level. Brian Okken: That's one of the things I love about what you talked about. So you talk about the whole, you've got an introduction that talks about your journey and then you go through picking a topic, writing the conference proposal which is great. The first time I tried to do this, I was like, "Oh, I have to do that? I don't know how to do that," that was hard. You need time for that, it's not a one day task. And then d you talk about tools? One of the things I have to remind myself is to not spend too much time on tools because I'll just spend all of my time researching tools and not preparing a talk. Don't do that. The planning and time estimation and then writing and then practicing and delivering, so you kind of go through the whole thing. I love that it isn't just about how to get up there on stage and give a good talk, there's a lot of back work you have to do just to get there. How many proposals do you usually submit for a talk that you really want to give a talk at? Nina Zakharenko: For PyCon two years ago, I submitted I believe 2 or 3 and I did not get in. I was pretty sad about that because I've spoken to 3 PyCons, Python US so far and I'm speaking again this upcoming year or this year rather. And I was so sad about it. Now the number of proposals I submit kind of depends on how badly I want to speak at the conference, and so I think for PyCon this year I submitted 5. And maybe 2 or 3 new talks and then 2 talks that I'd given before. Brian Okken: That's something that's interesting to me and I didn't know that to different conferences you can submit a talk that you've given before somewhere else. I know that seems obvious to people that give talks a lot, but it wasn't to me, I thought I had to come up with something new every time. Nina Zakharenko: It wasn't to me either. The first 3 or 4 years that I spent speaking I did a new talk each time. I feel like in the Python world and I might be totally wrong here, it's just a gut feeling, that you can't start doing duplicate talks you've just gained more experience and become more established. Because once the talk is recorded and available on video, that really lowers the incentive for the conference to come in have you again, right? If somebody can just go and watch it online. Brian Okken: Yeah but it still happens, I've seen people that there will be a talk that will be given like in Canada and in the U.S. and then it shows up in Europe and somewhere else. Nina Zakharenko: I'm actually surprised by the talk that was selected for PyCon US this year. This year they did something really great where you could email the conference organizers and ask about feedback for your talk and see how well you did in the rankings, which I believe is new this year and was super helpful even for me. And it looked like two talks had gotten selected to the top out of the five that I submitted and they ended up picking one that I had given before versus one that was a new talk that I had only given once. Brian Okken: I should've taken them up on that. I submitted 5 proposals, I got 0 accepted. I was actually in kind of happy about that because I'm an introvert and I was nervous about giving the talks. Nina Zakharenko: You can so email them. You can still go ahead and do that, in your rejection email there should be instructions. I definitely like any bit of feedback that you can get. You can resubmit those same proposals but improved next year or you can submit them to some of the smaller regional Python conferences. Brian Okken: Oh that's a good idea. I shouldn't be speaking about this because I'm not the organizer of it, but I think we're going to do an event where we invite some of the people that got rejected to give their talks at our booth. Nina Zakharenko: That's super fun. You can even have that as an open space. Brian Okken: Yeah, well that's one of the things that is so cool about PyCon is the open spaces and stuff, and the lighting talk so you can just sign up. It's like first come first served, you get to sign up and do it. Nina Zakharenko: You keep mentioning our booth, whose booth is that? Brian Okken: For the last couple of years Michael and I have been able to do a booth together as like the community podcast booth. But we include other people too. For instance, last year we had the guys from PyBytes, Bob Belderbos and Julian Sequeira and a couple other people, people in the community that are not like really pro doing stuff, but they're doing stuff on the side that's to help teach other people Python, and doing a booth together. And this year we're combining that with the PyCharm team and having like a big Mongo booth with Michael and I and a bunch of other people. Nina Zakharenko: Awesome. [sponsor] Thank you to PyBites Code Challenges for sponsoring this episode. The best way to learn and improve your Python skills is through intentional practice— reading books and watching videos is great, but nothing beats actually writing code and solving problems. PyBites Code Challenges is an in browser Python coding platform that offers a series of bite size exercises of varying difficulties, each designed to teach and push your Python skills to the next level. All exercises or bites, as they're called, can be solved entirely within your browser meaning no frustrating environments to configure. Even better— you're not coding alone. PyBites Code Challenge offers an active and supportive global community of Python programmers who are coding right along with you. Stuck on an exercise— hit up the community for some feedback on your code. The experience is tailored to help you learn and improve by pushing you to code with Pytest tests. If improving your Python code is a priority, you won't want to miss out on this deal for testing code listeners. Subscribe to code challenges using the link testandcode.com/pybites, it's also in the show notes. To get 20 percent off the monthly premium or annual subscription, sign up now and you'll be coding in no time. Brian Okken: How do you know if you have a good enough idea? Nina Zakharenko: For a talk? Well— you don't. Every conference has different requirements even year to year what they're looking for is different. I've had a PyCon talk, PyCon US talk rejected one year, accepted the next year with just a little bit added to the CFP. Some conferences will provide a useful list of topics that they're looking for about year, but otherwise it's just kind of a guessing game. The best thing that you can do to make sure that your idea shines and stands out is to write a really good proposal. Your proposal should be detailed, it should have a good abstract, it should have actionable takeaways from the attendees, but you also need to remember that your proposal is kind of like a resume where the folks who review these talks are volunteers and if you just have a wall of text, they're going to skim it and toss it out, no matter how good your idea is, it has to be well formatted, well organized, bulleted, easy to read, easy to figure out what the main takeaways are. Brian Okken: Okay, so more of like a blog post format? Nina Zakharenko: A little bit. Some conferences giving guidelines on the types of submissions that they're looking for. For the past few years, I don't know if they've been including it recently, PyCon includes a fake proposal called Space Pug, so like pug like the dog in space like outer space where they just walk through an imaginary framework and break it down. Brian Okken: Yeah, I wish to do more. That's a great format for if I'm going to talk about a framework, but if I'm going to talk about the power of public speaking or one of those touchy feely things, who knows how to do one of those, but those sorts of talks do show up. Nina Zakharenko: Yeah I don't have advice there. I like to speak on technical topics. Brian Okken: So what technical topic are you sinking your teeth into lately? Nina Zakharenko: Oh you didn't make it to PyCascades you had a toothache. Lately, one of the things I have been really excited about is playing with Python on hardware. And PyCascades I did a talk about how to use Python to light up LEDs using the for it circuit playground express and circuit Python. If you haven't seen that talk, video is out and the slides are out and I recommend checking it out, it was really fun. Brian Okken: Okay, so the videos are up there? Nina Zakharenko: Yeah, if they're not edited by PyCascades yet there should. I'll post a deep link to the live stream for my talk, I'll post it on Twitter. And we can include it in the show notes too. Brian Okken: Yeah, definitely. I know right away that the entire days went up, that's a little daunting to try to fast forward through an entire day of talk. Nina Zakharenko: Someone went and found the deep link for my talk and posted it so I very much appreciate that, but it was probably the most fun conference talk I've ever given. I brought some of the devices with me and I set up the webcam so I could do a little bit of a live demo. I had everything pre-recorded just in case anything went south or wasn't working but I was able to do a live demo. And people were just clapping and cheering. One of my coworkers who was in the audience said someone looked up and went, "Wow, cool." It was super fun because code is kind of this ephemeral thing, but when you can program hardware and you're actually seeing something happening I feel like it's all more fun. Brian Okken: I can't wait to watch it. Nina Zakharenko: Yeah, that's my passion project. Adafruit just released a really really cool product related to Python, it's called the PyPortal and I believe it's an m4 microcontroller so in the world of microcontrollers that run Python a little bit beefy and the board has a 2 by 3 screen on it and it also has a wifi. You can connect it to the internet and your circuit Python to display all sorts of staff, there are simple projects. They have one that's a countdown the PyCon, each day the number ticks down. They have one that shows the amount of Twitter followers that you have. I think every time you get a new follower there is a noise or some confetti or something. I'm getting my PyPortal in the mail today. I'm very excited. Brian Okken: It looks cool, I don't know if it comes with a little stand? But it looks fun. I have to get one of those. Neat, and they're not very expensive. This was not brought to you by Adafruit but I should hit them up. Nina Zakharenko: I know, to be transparent they did send me my PyPortal for free. So thanks Adafruit. Brian Okken: Okay, cook. I have to watch that. So you did a live demo. The last PyCon I tried the live demo, it did not go well. And I did it because I really like it, I like watching somebody do live coding and stuff, and actually going through the code, it's interesting. Nina Zakharenko: Earlier we were talking about good ideas and bad ideas. There tend to be a few features of a top proposal that will get you rejected pretty quickly from the Python conferences. Live demos without a back up plan is one of them. If you're talking about a library or a framework that's just not very popular and commonly used, usually I get shut down. And then if you're talking about code that you're going to write and you don't have it yet, if you are just having empty github repo, that's usually one of the other ways to get rejected as well. Because conference organizers want to see not just the potential for a talk but that you have something to talk about that your tech idea is going to work. And so I've always shied away from live code demos knowing that fact. And for PyCascades I prerecorded all of my demos so just in case things didn't work out live, I'd be able to go to the next slide and play the video. Brian Okken: Okay. That's neat. Did you mention that you might do a live demo in your proposal? Nina Zakharenko: I did and I mentioned that I would put the prerecorded videos in there. I was very upfront and clear about that. Brian Okken: That's a good idea. Actually I think I am going to do that next time. Because even there's weird stuff that happens, you'll practice something and it'll be exactly what the conference organizers told you you're going to be dealing with and then suddenly, the projector you're working with has like a weird aspect ratio or weird size and in order for the audience to be able to see it, you get like 7 lines of code up there. I don't know how to code in that sort of a frame, it's difficult. But if you've got your content up on a slide, you can figure out how to zoom in to the right information ahead of time. Next time, if I ever want to do a live demo, I think having a backup plan of even having videos or just the slides with the code that you want to talk about on there. Nina Zakharenko: When I did the live demos and things worked great I just skipped over that slide. Brian Okken: Okay, so did the live demos work for the whole thing or did you use some of the videos sometimes? Nina Zakharenko: The live demos worked. You never know, it took me a minute I brought this kind of homemade webcam on a tripod with a light because the live demo involved showing hardware. I had to show the circuit playground express so that folks could see that a button press was actually doing something. Brian Okken: So you can't just like hold it up in the air while you're coding? Nina Zakharenko: And so I have this special setup and I had to, for some reason my computer wasn't recognizing the webcam even though it worked just fine the day before, and so I had to reboot it 3 times until eventually I figured out that the webcam had to be plugged in for this model before I started it up or it wouldn't recognize it. And so I was down to the wire and it almost don't work. But you also never know if you're going to have Internet, conference wifi is notoriously bad. So if you have a live demo you need to have internet for, you're calling APIs or doing something external, just never expect that to work. Brian Okken: It sounds like scary things but they're all overcomabale, and I want everybody listening to, I know a bunch of the people listening are thinking, "Yeah, I've thought about doing a talk, but it sounds scary”. It is, but it's worthwhile and it's not as scary as it seems. And everybody's there to support you, and maybe not in other weird tech communities, but Python community at their very least, they're all very supportive even if everything goes crashes and burns, nothing works and you just stand up there and talk about stuff, it's only a small portion of somebody's day and you'll get probably more support than any haters, nobody's going to say, "Oh that was terrible." Nina Zakharenko: That's why I really flourished in the Python community. I did this right lightning talk I thought it was awful, but people still clapped and they came up to me afterward and said, "Thank you," and so that encouragement really helped drive me forward, if it was a different community maybe I wouldn't be doing talks so often, maybe I wouldn't be where I am today. Brian Okken: Maybe. I like that you've put together this and a lot of it is just the unknown, people were like, "I don't know how to get into it." Well, you've got it now, so go to Nina's guide, read through this, and if it seems terrifying don't try to do a 25- minute talk somewhere, try to do a 5 minute lightning talk, meetup or something. Nina Zakharenko: Yeah. I think everyone has something interesting to say even if they're just a complete novice talking about how they have their first big breakthrough or how they're approaching these big ideas and breaking them down into a way that they can understand. Everyone in tech has something to share. And part of what's interesting to me about a tech talk, it's not just the straight technology, if someone pulled up a code editor and talked about it in monotone for 30 minutes and he's going to zone out, I don't have a great attention span. So part of what makes a conference talk interesting is the story and that's your story, right. So anyone who's thinking about speaking, think about sharing your journey, what was unique about it. Brian Okken: Yeah, definitely. Any last words before we clear off? Nina Zakharenko: I feel like I could talk about this topic all day. I might accidently write an audiobook with you, record an audio book. Brian Okken: That's fine, if we got some more topics, let's just keep going. Nina Zakharenko: I have closing thoughts and then I have a few general announcements. I wrote the 7 part series, I wouldn't have any content for it if I didn't mess up and make mistakes. All of the tips and the advice there has come from my own experience and so I'm hoping that by taking kind of the unknown and taking what I learned from my own failures and sharing it with others, that it will give them a bit of a headstart and they won't have to fail in quite the same ways that I did. Brian Okken: They can fail in new, exciting ways. Nina Zakharenko: Yeah, fail a new exciting ways and then they can leave a comment on my blog post. I wasn't sure how well it would land, but I published it about a month ago now and so far the whole series has about 15,000 views. Brian Okken: Hopefully even more after this comes out. I really like that you wrote it, I like that you're giving talks. I actually heard somebody was on Twitter, I don't know if you saw this, but people are talking about the different kinds of people that show up at the conference talks, and you were referenced as the only professional speaker at the conference. I was like, "Nina is not a professional speaker," but I don't know, maybe you are. Nina Zakharenko: I think I saw some of that thread and I was just kind of like, "I'm not in the mood for this today". But yeah, I can't say I'm a professional speaker. I did my first big tech conference keynote late last year in front of 3,000 - 3,500 people. And yeah, it was just 15 minutes, and for those 15 minutes I practiced over and over again. Like you said, there's Tony Robbins, there's these aspirational motivational speakers and to be a public speaker in any other space, you have to think about your pacing, are you walking around the room in the right way, what are you doing with your hands, this like TED talk quality performance. I'm not quite there yet, I don't know if I will ever be. I just like taking technical concepts and making them easier to share, building on them so that the beginners in the room don't feel left out, and just presenting them in a way that is not boring. Brian Okken: One of the things I wanted to ask that we didn't cover, I am surprised we didn't start with this, I've been aware that I'm in an introvert but I've been thinking about a lot lately because I'm listening to the book on tape, for a book called Quiet, that talks about, it isn't just about introverts, but it's about basically that there's all the different types of personalities and stuff that people have. It's a good book but why especially for introverts, talking in public does seem scary. Why would you want to do it? Are there any benefits? Nina Zakharenko: I'm going to share a little bit of this story about how I got into public speaking. I told you it was at that PyCon Canada I believe this was 2013, and I had met some very nice folks at the event. And the whole time I was just seeing all of these speakers who are so amazing to me, Julia Evans and Brandon Rhodes, he's just an amazing storyteller, he can make a topic interesting. And I told them, "Wow, one day I hope to be like them, I hope to be able to share what I know on a stage." And they did something that was maybe a little bit evil, but has panned out, the last day someone had dropped out of a lightning talk and so they wrote my name in. They wrote my name in and they came and they found me and they told me that I had an hour to put something together. Brian Okken: That's perfect. Nina Zakharenko: I was freaking out but I did it and that was kind of how I dipped my toe into speaking at Python conferences. The reason I do it is because I have over a decade of engineering experience, I've learned a lot of interesting things, I've seen a lot of interesting stories, I've come up with my own approaches for strategies that work, for learning deeply technical content. One of my favorite topics to speak about is taking a concept that seems out of reach to beginners and breaking it down into the most digestible chunks and then building on it throughout the whole talk. So my intro to memory management in Python, that's accessible to folks who are of any level in their Python development. And so that's been the most fun for me, just teaching other people, helping them along their Python journey. I've only been a developer advocate for a year. Up until that point I was speaking at conferences, I was an engineer, so travelling to a conference took time out of my day for working on my actual code. I didn't get paid for it. Sometimes I would have to pay for the travel out of my own pocket, I just did it out of a labor of love. Somebody calling me a professional speaker, that's what I am growing towards in the past year, but I find that concept so hilarious. Brian Okken: Did you get benefits from speaking even before you were developer advocate? Nina Zakharenko: Folks coming up to me after the talk and telling me that they learned something, to me that's always the biggest benefit. It did help me kind of grow my own community, folks who are interested in the same staff as I was would come up to me, come find me, come chat with me. It helped me grow an audience on Twitter which was pretty cool. Now I feel like I'm not just shouting into the void, I am shouting at a small subset of the void so folks are interested in Python interacting with me on Twitter is super fun. I would say it's created opportunity for me. I would have never taken the leap into developer advocacy had I not had the experience of doing conference talks under my belt. And that wasn't my intent. Brian Okken: Did you say that your first talk was 15 minutes? I just don't remember how long the lightning talks are? Nina Zakharenko: The lightning talk was 5 minutes. Brian Okken: 5 minutes, okay. Nina Zakharenko: And I was sweating the whole time. Brian Okken: I actually think that because if you want to do a big and nice talk, you are really going to have to put in the time, but you're also, for the first time, you're probably going to be terrified about it. I think a great idea for people would be to just do like you do, decide you're going to do one, get ready for a 5 minute talk at a local meetup or even to the people at work, just say I'm going to do lunch and learn, I am going to do 5 minutes and then we're going to hang out and talk. And only give yourself time, timebox it, an hour to prepare maybe, maybe more than that. But not too much time or you'll overthink it, you need to pick a topic first that you know so well, that you can fill in the blanks for a 5 minute track without too much trouble. Nina Zakharenko: That's a great idea and that passion always shows through. If you're passionate about a topic that you're speaking about, that's always a great fundamental. Brian Okken: For me, I'm usually excited about stuff that I don't know very well in engineering we're always learning the new stuff and that's the stuff I'd really like to have a talk on, but I'm not an expert at that yet. It's the stuff that is old hat to me that maybe is a better idea that I could really share with other people that it isn't old hat to them. Nina Zakharenko: So I'm not an expert on memory management in Python, but exactly like you said, I stumbled across it and I was like, "Wow this is weird, I only know how memory management works in Java and this is not like that at all." And so the talk was kind of also documenting my journey into how I learned about it, how to have enough of a foundation to look at the implementation details and not feel totally lost. Brian Okken: Cool. Well if people are preparing their talks and they need help, are there places around for people that help them put together a talk, do you know? Nina Zakharenko: Yeah, so a few conferences I don't know if PyCon US does it, but PyCascades had a speaker mentorship program, and so I was a mentor for somebody so people went and volunteered their time. Brian Okken: Even during the proposal part? Nina Zakharenko: That's exactly right, even during the proposal part so that your mentor could help you craft a proposal that worked. I'm sure other conferences do it too, I don't know any off the top of my head. Brian Okken: Well we're kind of getting long, I want to thank you a ton for coming on and talking about it and for writing this ultimate guide, it's pretty neat. I can't wait to see you at PyCon. Nina Zakharenko: I had a few more things to add, as I was thinking about the why I remembered about an interaction I had at PyCon last year where one of the women in the community came up to me and she told me now she's somebody who's done, has her own selection of conference talks under her bow, but she said she saw my talk in 2015 and that's when she got the idea and the motivation to think that she could do conference talks as well because up until that point, she hadn't really seen other speakers who looked like her, other women speakers. And I just started crying, I was like, "That's the nicest thing." Brian Okken: That's awesome. Inspiring others as well. It's just kind of this unexpected benefit. I love that so much. And then I just had a few announcements to share. So at PyCon, the day before the main event starts Ii will be doing an hour and a half free sponsored workshop on Django, getting started with Django on Azure, using VS code. I am giving a talk as well, I'll be giving a 45 minute talk on code reviews for Pythonistas, so strategies but also tools. And lastly, I'm volunteering and organizing something really cool, something I'm really excited about; it's for diverse beginners who are new to Python, new to open source, who have always liked the idea of maybe sharing their code and contributing to something, but not knowing where to start, maybe not knowing the tools not knowing how github works. And so I'm going to be doing a 15 minute quick intro to get in github at the beginning and then we're going to have a lot of projects with representatives to help those folks get started contributing. So circuit Python, core Python, we'll have maintainers from core Python, the full list of projects is on the PyCon website. Brian Okken: What date is that? Nina Zakharenko: One of the things that we identified why folks might not be participating in sprints, is because they're after the main event and folks who are new to opensource don't necessarily want to stay and figure all of that out, so the mentor sprint is going to take place on Saturday, May 4th from 2:35 pm to 6:30 pm. Brian Okken: That's cool, I love that idea. Neat. Thanks for all of that and we'll see you at PyCon. Nina Zakharenko: Thanks. Looking forward to seeing you then. Brian Okken: After we recorded this episode, Nina shared with me some exciting news that she has. Here is Nina with her news: Nina Zakharenko: I have an exciting announcement to share— I'll be keynoting PyCon US on Sunday May 5th at 9:20 am, talking about one of my favorite passion projects programming hardware and LEDs with Python. Don't forget to check the schedule for the latest. Brian Okken: Thanks again to PyBytes Code Challenges for sponsoring this show. PyBytes are self-contained Python code challenges you can code and verify in your browser. Try them out at testandcode.com/pybytes. The link is also in the show nestandcode.com/71 which also has links to The Ultimate Guide to Memorable Tech Talks and other stuff Nina and I talked about. Thanks to Nina for talking with me for the show. Thank you for listening, and for spreading the word about the show. And thank you to Patreon supporters, it's you more than anyone else who keep me doing this. That's all for now, now go out and test something, or maybe start an outline for your next or first tech tack, that would be cool.