DEFNA Interviews: Nic James and Kenneth Love (DjangoCon US 2018 Co-Chairs) Interview
Published February 25, 2019
This video features Kenneth Love at Django Birthday 2015 in Lawrence, Kansas, USA.
Kenneth Love
http://www.pyvideo.org/video/3660/give-a-python-a-pony
https://djangobirthday.com/talks/#šā”ļøš“
A couple of years ago, I was faced with one of the scariest situations there is for a self-employed developer: I was burned out. The blinking cursor in Vim was taunting me and no number of GitHub issues could motivate me to churn out more than a few lines of code in a day. This burnout, though, led me back to an early love: I started teaching full time.ā¹br/āŗā¹br/āŗThis is a talk in two parts. In part one, Iāll talk about some of the teaching triumphs Iāve had and witnessed thanks to a new career, the Python and Django worlds, and my employer, Treehouse (and others!). In the second part, Iāll share ways you can start teaching in your own communities and using your own talents, so we can all make the world better through learning.
Kenneth Love describes how teaching helped him recover from freelance-developer burnout, first through a Django video series and corporate training, and later through his work at Treehouse. He argues that teaching and sharing technical knowledge can improve peopleās lives, citing Treehouseās work with Mazinda in Zimbabwe, and offers practical ways developers can contribute through meetups, mentoring, diversity programs, code schools, conferences, blog posts, documentation, books, and screencasts. Good teaching requires adopting a beginnerās mindset, while children learn best through playful, partly completed projects such as Turtle, Pygame, and simple web games.
Summarised automatically from the transcript.
Automatically transcribed, so expect mistakes in names and technical terms.
Speaker 1: Thank you. So hi. Uh there's a joke in the title. I'll spoil it at the end if you don't figure it out before then. It's not a very good one, but it's there. So uh I'm Kenneth. I teach kind of all things Python at a company called Treehouse. You may or may not have heard of us. Uh we're kind of well known in like the Ruby and front-end web world, but For Python, we've only been doing it for a year, because that's when they hired me was a year ago. And a little. So before I got to teaching I want to talk about what got me there. I was just a standard developer. I was doing PHP for an ad agency in Las Vegas, which is a horrible idea. Other stuff happened.
Speaker 1: Eventually I decided just to be a freelance developer, do Python and Django all the time, which was wonderful. Thank you everybody. I got to work with a lot of neat clients, a lot of neat projects, a lot of cool stuff. And I also get to build a kind of cool collection of mix-ins called Django Braces, which is now in Django, so that's awesome too, or at least parts of it. But that went on for seven, eight years, and a couple of years ago I started to get kind of burnt out on being a gun for hire. Um It got really, really hard to write code for somebody else because they decided it was important. And so things kinda went downhill. Um I don't think burnout is the same for everyone. I don't think it manifests the same way to every single person. So
Speaker 1: for me, it was just that I couldn't get myself to do anything serious with code quickly or efficiently, and I didn't care about it if I did it or not. And that really sucks as a freelance developer because you lose jobs, you lose clients, uh, there's a lot of stress You don't have as much money. Um and as a husband and and father, it uh you know, that wasn't a great feeling. And as a developer, it was like I shouldn't even be doing this It wasn't exactly imposter syndrome. It was more I've run out of time syndrome. Uh yeah. But I have a lot of contacts and a lot of friends in the programming world. I love all of you, by the way, friends and otherwise. And so because of that, I was able to do some other stuff that really excited me and got me out of my slump.
Speaker 1: But kind of like programming, you don't just get into doing something else. You have to learn, you have to work your way through stuff So the first thing I did was a Kickstarter called Getting Started with Django. Technically it's before the burnout. But it showed me that teaching was something I could do, that I enjoyed doing, and that I was at least decent at. So if you don't know, GSWD was a series of videos. They were about an hour long. I took on the task of writing them, recording them, and on most of them producing and editing them all on my own. I love doing it, but that's an awful lot of work for a single person. So um it went a while and then eventually it did not happen anymore. But thank you to anybody who backed it.
Speaker 1: And then I started doing corporate training at New Circle. Uh got this through Daniel Greenfeld, who we saw earlier. You're my friend. And um so they do corporate training. So basically a company is like, hey, we need you to come teach 20 of our developers Python. So come out and spend a week teaching them Python. This is awesome to do. It's a lot of travel, so not for everyone, but it's really fun to do. I get to go teach it Facebook and Intel and stuff like that. So that was really cool And this helped me see that I could teach people not just through this kind of third-party medium of video, but through interaction in person. And it really helped me fill in places that I didn't know myself. You find that you have a lot of gaps in knowledge when you sit down to teach something to someone.
Speaker 1: If uh anybody's interested, I have about 50 of their bottle opener keychain. So much swag. Um and finally I started at Treehouse. Uh like I said, we're an online school. We teach a lot of different languages. Um I think we teach about 10 different languages and frameworks. And our main goal is to get people job ready in the tech world in a short time. Most of the time we say it's six months. I think that really depends on the person. For some it's six months. for some, it's two years. But the idea is it's self-paced and you can learn whatever you want. Here's a behind-the-scenes secret. I stand on a box when I film. What's really great is when we have a teacher before me that's like six foot something and then I come in and you wait an hour for the cameras to get readjusted.
Speaker 1: It's amazing. Um so yeah, action shot. So in honor of Django birthday, I wanted to do a slight present. And so I was gonna do this live on stage. No Wi-Fi, so I can't So I did it just before, and I published our very first Django course at Treehouse. So that went live this morning. So I've been there a year and some change, a few months. We've done 11 Python and Flask courses so far, not counting Django basics and not counting smaller frameworks. So there will be a lot more Django at Treehouse soon. Just finally got there. But I don't want to make this an ad for Treehouse. If you want me to pitch it to you, I certainly will later. Just come find me. Uh there's stickers and stuff in your bags too, so
Speaker 1: yeah You know, if you just want to advertise for us, that's awesome. I do want to talk about one thing from Treehouse though, and I think Jacob will find this interesting. It's a school called Mozinda. So I say school, it's hard to describe them. They're a tech school, but they're also an incubator, and they're in Zimbabwe. They have about a thousand students. They've been very slowly accepting students over the last year or so. And they use our material to teach their students whatever language their students need to learn. What's really awesome about Mazinda though is that they're really revolutionizing their community that they're in. They're taking people who don't have any technical knowledge and they're teaching them to program, they're teaching them to be technical people. And the community around them is seeing that these people are learning a very useful skill.
Speaker 1: They're able to make money from it quickly and easily. They're able to improve their lives. And We've actually had like residents in the city and the neighboring communities come to us and go we don't care about the discount that Mozinda has. We don't care about paying less. Give us your content, you know, let us pay for it and let us get the same training So that's really awesome. Like education will really change people's lives. And Mozilla has actually already promised to hire a bunch of their graduates. So that's pretty awesome. If you don't pick up anything else from my 20 minutes, just remember Mazinda. Go check them out online. They're awesome. As part of that though is a quote from one of their managers. Machine guides. I'm gonna screw up that name. Anyway though, uh he said that some code for a hobby. He was talking to one of our uh
Speaker 1: people who handle their account. He said some people code for a hobby, but here in Zimbabwe, they're learning to code so that they can live 'Cause it vastively changes their lives to have this skill set that is more advanced. And it ends up being the same way for a lot of stuff too. People come and speak at a conference and now they're an expert whenever they go back home. Or they write a book or a blog post and And they can charge more for a job or whatever. So you can literally change somebody's life with a really good blog post. So Maybe you're feeling a little burned out on writing code for money. Maybe you want the warm, fuzzy feeling of giving people more options in life. Or maybe you just want to spread knowledge. So I've got a few ideas on ways that you can teach, and you don't even have to go all the way in and go make videos and stuff like I do
Speaker 1: So if you like teaching in person, you like talking to people, um meetup groups are great. Our Portland Python group has every Monday night they do what they call the flying circus. So the idea is that it's mainly for beginners, but they have experts that come as well. The beginners can ask the experts any questions they have, get help on a project. whatever and it's a great way for them to learn in almost a one-on-one environment, but definitely increase their knowledge and their skills without having to just power through something on their own. So if your local groups don't have that, I suggest doing them because they're awesome. And it really helps with imposter syndrome too, on both the learner's side and on your side as a teacher or mentor. Of course there's Pie Ladies, Django Girls, Rails Girls, Black Girls Code, all sorts of these kind of uh diversity and empowerment groups that are great to help out with.
Speaker 1: We're doing Django Girls next week because I'm really good at scheduling stuff. Local code schools and boot camps, they almost always need teachers, especially teachers who really know a subject and are good at teaching. A lot of them end up getting former graduates to come back and teach, and while that's a great testament to their product, just because you graduated a code school doesn't necessarily mean you can teach at a code school. So they always need more help. It's great to offer them. Offer to them, sorry. Conferences. I got the confidence to stand up here because I've spoken at DjangoCon and PyCon. So go to conferences. and speak. And then also mentoring someone one-on-one. It's a really good way to again fill in gaps in your own knowledge, figure out what you can or can't do and how you want to spread knowledge to other people.
Speaker 1: Or if you don't like going out, blog posts on specific approaches are great. Most people have a problem, they will eventually Google it. And if you have a blog post detailing how to fix that, it helps a lot. Documentation on general applications, this is where read the docs comes in, and you can go document whatever your projects are. I don't think Django Braces would be as popular as it is if we didn't have really good documentation. documentation on it, which is all on Read the Docs. You can write or tech edit a book. That's been a fun thing to do lately, and uh you learn a lot from doing that. again. Or make your own screencasts, which, as I've said, is a lot of work. If you want to know more about that though, find me later. I can tell you about good, fairly cheap equipment to have, tools to use, stuff like that.
Speaker 1: Or, you know, you can do a course for us at Treehouse, because we do guest courses. And I'm a little short, but thank you. Uh you can find me on most things as Kenneth Love or if the There's a chance I'll conflict with Kenneth Wrights, it'll be Dunder Love Dunder. And does anybody have a question? Yeah. I will repeat him, but okay.
Speaker 2: What do you consider to be the most important skills to be a good teacher?
Speaker 1: Uh so the most important skills for being a good teacher, I think probably the biggest one is, and it's really hard for a lot of more advanced developers to do, is to get back into the mindset of a beginner. You have to forget that you know things. And so you have to come up with a baseline of, well, I know X and I know Y, so how do I figure out Z? Instead of going, well, I already know X, Y, and Z, so this is how I would do it. It's easy. So yeah, really that getting into that beginner mindset is probably the most important skill.
Speaker 3: So my question sorry, my question is uh I got I have three nieces and nephews that are 10, 12 years old. And so you see the the question on Hacker News or on Reddit all the time about How do I teach my nephew how to code?
Speaker 1: I'm sorry, I'm I'm having a hard time hearing.
Speaker 3: Sorry, I'm quiet. Uh how do you teach your nieces and nephews, kids, whatever, how to code? And and one of the interesting books I I I can't remember the authors name is um learning python with pygame. Do you guys have the is there any talk, any interest of of doing anything aimed at that age group at Triop?
Speaker 1: So um we were doing a project, it was very fluctu like it did not get cemented at all and then kind of went away. But we were working on a thing that we were calling uh treehouse club. And the idea was it was aimed at like middle school to high school kids Teaching them to be computer literate, which is an important first step, of course. You have to know what a file is before you can go create one or edit one. And then after that teaching them the basics of web stuff, HTML, CSS, JavaScript. Most of what we did there was we would give them like a starter project. So here's this. Uh I don't know how many of you remember the game MASH that you probably played in like middle school where you would have like the people you're gonna marry and if you're gonna live in a mansion or a shack or what kind of car you're gonna drive.
Speaker 1: So we made like a JavaScript version of that And the idea was that it didn't work all the way, so the kids had to fix it and we would guide them through it. And so stuff like that works well for kids because They don't have to do the entire thing on their own. They just have to do some little part. And they get something that works and that's fun. They can mess with it. I also did a an eight-week thing at at my son's school trying to teach fourth and fifth graders Python. And I had many assumptions I should not have had going into that, one of which is that children will type. So uh don't make that assumption. Kids don't like to type a lot. I showed them like 10 lines of code, I'm like, here, write this, and it was just No. Um it did not work. But showing them things like Turtle, um, the turtle module is amazing for getting kids into
Speaker 1: uh programming, especially when you bring in little things like throw in the random module and throw in turtle and have it pick random colors as it draws. And kids will spend an hour filling the screen with random little lines. And like it's amazing to them. And then Pygame works really well for kids. Again, give them most of a game that's done, and then they fix some little part. You know, they fix the gravity so the character actually comes back down when they jump. Or they make the gun actually fire. Every time I did that though, they ended up turning the spaceship into a toilet and the bullets into poops. So I mean that that's just like 10 year olds. So you know it really yeah I should have done that in the beginning anyway. But yeah, so poop emojis are great for kids.
Speaker 1: I just want to mention something real quickly.
Speaker 4: Sorry. My name is Barbara Shredd. I actually teach the Young Coders class at PyCon every year. It's a class aimed at uh I think 12 and above. So we have a full curriculum for kids that age. Um just come and find me at the street party tonight. I'll I'll be happy to answer any questions and talk to you. about that.
Speaker 1: Yeah, Young Coders is amazing. Having cited on it a few times. I don't know that we could do a Young Coders through video through how Treehouse works, but I would love to try. So we should talk Barbara.
Speaker 5: Any other questions? All right. Well thanks, Kenneth.
Speaker 1: Yeah, give a Python a pony and it'll pony for a day. Teach a Python a pony and it'll pony for a lifetime. I d said it wasn't good. I promise. But that's where the name came from.
You can help through meetup mentoring, diversity and empowerment groups, local code schools, conferences, one-on-one mentoring, blog posts, documentation, books, or screencasts. The talk emphasizes that even focused practical writing or mentoring can spread useful knowledge.
Discussed at 7:46The most important skill is getting back into a beginnerās mindset: forget what you already know and work out what someone who knows only the basics needs in order to understand the next concept.
Discussed at 10:43Give children a partially completed, fun project so they only need to fix or build one small part, such as a JavaScript game or a Pygame project. Turtle graphics, random colors, and Pygame are especially effective because they produce engaging results without requiring children to type an entire program.
Discussed at 11:45Note: We understand that names change, people change, and bodies change. We respect each individual's journey and privacy. If you have any concerns about a video or need us to remove content, please don't hesitate to contact us. We will handle your request with care and promptly address any issues.
Published October 16, 2015
Published July 16, 2015
Published July 16, 2015
Published July 16, 2015
Published July 14, 2015
Published July 12, 2015