Interview: Kenneth Love on testing, Python, and organizing
Python is one of the easiest languages to learn, but that doesn’t mean all the programming concepts become easy. One that’s hard: testing.
Kenneth Love, well-known speaker, organizer, and teacher in Python, has years of experience bringing complicated subjects within reach. He’ll be our guest for a webinar on Visual Testing With PyCharm. He’ll introduce testing concepts and show how PyCharm makes it easier by putting a visual face on testing.
We interviewed Kenneth to help set the scene for the webinar.
It’s a pleasure having you with us for a webinar. My son and I spent summer vacation going through your Python Basics course twice and it was a big help. Do you get that a lot?
Yeah, I’ve had quite a few people thank me for making that course, and others that I’ve made, over the years. It seems to be a course that has really caught people that weren’t able to get going at Python through other means.
Give us a little background on yourself, your Python origin story and what you’re doing now.
I’ve been using Python for 8-10 years now. I picked it up, almost on a whim, after a friend and I both kind of soured on Ruby. I made the mistake of learning Django before I really learned Python. Eventually, though, I figured out that I should know how more than just an ORM and HTTP works and learned the core parts of the language. I’ve been a full-time Python developer or teacher for the past six or seven years.
I just recently changed jobs and left teaching to go back into the world of development. Things are changing all the time and I felt like I needed to get back to development for awhile.
Is testing hard to teach?
I think it’s a tricky area to teach. People are used to writing and running code. But writing code that runs your code and looks at what happens? It’s just a bit too meta for a lot of beginners. It’s also the case that a lot of beginners write code that’s hard to test, through no fault of their own (they’re beginners! I know I wrote messy code when I was first starting) so that can really increase the complexity of learning to test.
Do you have special tricks that seem to work on conceptually hard topics? Debugging, testing, things like that.
Like with most topics, you have to strip away the magic and the special words. We often have a problem in tech of gatekeeping with jargon. We use words that have very specific meanings, like say “fixtures”, and we expect everyone to just know them. When someone is new to testing, the term “fixtures” might not have any meaning at all, or mean something completely unrelated. If you can define these terms for them, make them familiar and comfortable, then they can get onto the business of learning this new technique a lot faster.
You’re also well-known for organizing. Can you give us your origin story on how you got involved?
I honestly just kind of stumbled into it! My friend Lacey Williams Henschel wanted to do a Django Girls workshop here in Portland. The company I worked for had a great space for it, so I volunteered it. She wanted a co-organizer so I volunteered for that, too. We had a great event and went on to do two more of them after that.
I got into organizing DjangoCon US by being a pain in the butt. I was a pretty big critic of the previous incarnation of DjangoCon US, before it became community-ran. So when the community took it over, I kinda got tapped to help out (no one forced me, of course, but I felt like I had to step up). Since then I’ve been involved in the program selection for the past two years and did a lot of speaker encouragement and talk rating before that.
Django Girls is such a wonderful story. Mind giving us some background and status on that?
Honestly, I’m not heavily involved with Django Girls any longer. Lacey and I organized the three events and then we both mostly bowed out. It’s definitely an amazing organization and I’m completely astounded by the numbers they recently posted. I would love to see more DG-like organizations pop up for other languages and frameworks.
Let’s close out with kind of an open-ended question. What’s something you think you’ll study a lot more in the next year?
I’m really interested in this recent upswing of languages that are focused more on speed and safety. I’d really like to spend some time digging into the Rust programming language. Due to work, I’ll likely be learning more about React and Go as well.