This episode is not just a look back on 2019, and a look forward to 2020. Also, 2019 is the end of an amazingly transofrmative decade for me, so I’m going to discuss that as well.


Transcript for episode 97 of the Test & Code Podcast

This transcript starts as an auto generated transcript.
PRs welcome if you want to help fix any errors.


00:00:00 Hello. Today is December 31, 2019, the last day of 2019, and I’m really excited about this episode. This is going to be a look back and look forward, but it’s not just a look back on 2019. I’m going to do a little bit of that, but it’s also a look back on an entire decade that was really meaningful to me. And then I’ll look forward to 2020 and beyond.

00:00:36 Welcome to Test and Code, a podcast about software testing, software development, and Python.

00:00:49 Let’s start with taking a look at 2019. And in that light, look at the top ten episodes of 2019 from Testing Code, this podcast that you’re listening to. So at number ten is episode 46, Testing Hard to Test Applications with Anthony Shaw.

00:01:09 In this episode, Anthony and I discuss some approaches for tackling a version of a hard to test application.

00:01:18 There are lots of different types of hard to test applications, and it might be something that’d be kind of fun to come back to and take a look at other hard to test applications.

00:01:28 But we kind of tried to do some general approaches, but also some specific to the thing that entity came up with.

00:01:38 Coming in at number nine is episode 64, Practicing Programming to Increase Your Value.

00:01:44 This was a solo episode where I discussed the advantages of adding practice to your daily routine in your weekly routine to advance your coding career. And I also gave a lot of tips. Number eight was episode 70, Learning Software Without a CS Degree. This was with Dane Hillard. Dane wrote a book on coding that tries to fill in some of the gaps for people that learn software not from CS, but from some other route, which is, I think, most people.

00:02:11 At number seven, we have episode 75, Modern Testing Principles with Allen Page. I’ve been pushing software developers to do more testing, and Allen is pushing sort of to the same goal. But from the other side, from the testing side, I think our end goal is pretty much the same, or it’s at least very similar. This was a fun episode where Alan discussed what he calls modern testing principles. At number six in our top ten is episode 72, Technical Interview Fixes with April Wendell. Not only can the traditional coding interview be difficult, but it can also lead to bad outcomes. And April had a lot of ideas on how to fix it. This was a really great episode.

00:02:54 And number five, we have episode 69, Andy Hunt, The Pragmatic Programmer. Andy is the head of the publishing company that published my book, The Pipes Book.

00:03:05 But we talked about the Pragmatic Programmer because it was instrumental to my career, and it has a new edition out this year that I’m currently reading. And they just announced also that there’s an audiobook version that would be fun.

00:03:20 At number four, we have episode 73, The Python 2019 Live Recording. What a fun recording experiment this was. It was during the opening night at PyCon, the Thursday night, I think it was Thursday and I walked around with two mics and a portable recording rig and just started asking people questions.

00:03:41 I tried to capture the excitement of the event and I think hopefully it worked because this came in at number four. I’m ordering these based on the download count. The number three top episode was episode 71, Memorable Tech Talks, The Ultimate Guide with Nina Zecharenko. Nina has some awesome advice on preparing for and giving tech talks like those at Python and many other regional conferences, and I think the advice is also great for incompany talks and presentations.

00:04:12 The number two episode was episode number 76 TDD Don’t Be Afraid of Test Driven Development with Chris May. Chris helped start the Richmond, Virginia Python group, and in this episode Chris shares his experiences with adding testing and TDD to his workflow. The top episode for 2019 was episode 89, Improving Programming Education with Nicholas Tolervy. Nicholas is working towards better ways of teaching programming. His projects include the Mew Editor, Piper Card, and Code Grades. Many of us talk about problems with software education, and Nicholas is doing something about it. This was such a forward looking episode. It’s cool that this was the number one episode of the year.

00:04:58 I have a few observations looking at that top ten list of the top ten. Only three of them are directly related to testing. I’ve got Modern Testing Principles, episode 75, Episode 76 TDD Don’t Be Afraid of Test Driven Development and episode 46, Testing Hardtotest Applications.

00:05:20 So that means that seven of the ten top ten were including the top one. Where all the rest of the stuff, which were general interest things that people are interested in other than testing.

00:05:33 It’s pretty cool. It’s not what I would have expected, especially since I looked at the counts and about two thirds of the episodes of 2019 were directly testing related, even though seven of the ten of the top episodes were more general interest. It’s kind of interesting. I do not plan on stopping coverage of testing topics, but I probably ought to make sure that I’m covering non testing topics as well as those are fairly popular.

00:06:03 This episode of Test and Code is sponsored by Reagan. Save time with Reagan crash Reporting detect, diagnose, and destroy errors that are affecting your customers. With smart error monitoring software from Reagan, you can be alerted to issues affecting your users the second they happen.

00:06:19 Have complete visibility of your app or website so you discover and fix errors and performance issues before your customers experience them. Reagan takes you to the exact line of code where the error has occurred and tells you how many times it’s happened and exactly who has been affected. All errors are reported to your Reagan dashboard automatically, along with full diagnostic details on how to solve them.

00:06:42 Reagan also has fine tuned the filtering and notification controls so you can focus on fixing important issues and problems affecting the most customers and not be bombarded with redundant notifications. It only takes minutes to set up, so try it yourself for free by going to regun.com that’s raygun.com thanks Regan for sponsoring this episode.

00:07:06 Now I’d like to talk about the last ten years.

00:07:11 I want to look further and reflect on all of the 2010s as they’ve had quite an effect on me. I started 2010 in a very different place, both literally and figuratively.

00:07:24 I was working in Adelaide, which is now key site in Colorado Springs. I had a blog called Varied Thoughts which was really stuff I didn’t want to forget, like Pearl incantations, ClearCase commands and other random stuff. Kind of a mess really. It was also coming off of a failed attempt to start a web design side gig for web design. I made a PHP based site for a Thai restaurant up the street for free just so they had a website and wouldn’t go out of business.

00:07:53 It was a good Thai food, like a minute away from my house, so it was worth a little bit of effort I put into it.

00:08:00 Then I did a WordPress based ecommerce site for a neighbor with over 2000 products and I did it in exchange for a portion of the sales, which by the way is a really bad way to pay for web design and I won’t do it again. I didn’t lose money, but yeah. So I started at HP in 96 and I’d worked on satellite and satellite component test systems, mid range spectrum Analyzer personalities for cell tower testing and communication, testers for mobile phone testing, and then ended up with Oscilloscopes.

00:08:36 That was four divisions in three States in 14 years, all C plus plus with lots of helper, scripts for builds and workflow in case, shell, bash, Perl, you name it.

00:08:49 It was on the Comms boxes where I started adding developer level testing to my workflow. The testing team started using Python framework for testing and showed the development team how to use it to help with testing and also to help with Debugging. I started using it for a system level test for my code wherever possible and started pushing for Debug APIs so I could test through the primary interface even when before the official API and GUI was ready. I wasn’t really a testing fanatic just yet, I was just using the tool to make my day a little nicer. That grew with time as I saw that adding tests to my workflow didn’t slow me down but actually bed things up.

00:09:31 I took that with me to Colorado and to the scopes team. So at the beginning of 2010 I was in the Scopes team in Colorado, but my family felt landlocked missing the ocean and I did too. A layer one developer I kind of sort of knew from the Comms world and was working for Rotary Schwartz at the time and he posted a job opening. It was in Oregon in Mobile.com again, so I gave him a call, applied and got the job. Woohoo. Kind of scary though, going from a 14 year career with one company to a different company with two kids and a wife. I brought with me all of the skills I’d learned and all the other roles I’ve had and my dependency on testing, and I think it was a really good move and that’s where it gets exciting.

00:10:21 In 2012, I was asked to do a ten week assignment in Munich and I brought my family with me and we got to explore Munich on the weekends. It was a lot of fun during that time in Munich. I was walking around a lot because there was only a couple of miles to work, so I had a lot of time to think about where I should focus my extra time. And when I got back to Oregon in 2012, I decided to focus my blogging and outside of work effort on the part of my skill set that I thought really gave me superpowers and that was using software testing during the development process to make development faster, but more specifically software testing with Python, and that’s where Python testing.net was born. I semi actively blogged on that site through 2016, and it sort of fizzled out at that point. It’s still alive though, and a lot of people still use it as a reference. In 2013, my manager went on to head up a new team and I took over the team I was on as the manager or team Lead, so my official title is Team Lead, so I’m both a manager and an engineer. The balancing of those two roles took me kind of a long time to get used to, but I like it now. In 2015, I started this podcast, but I started it under the name of Python Test Podcast. In 2016, on episode 16, I switched the name to Test and Code 2016 as well. I started another podcast, Python Bites, with Michael Kennedy, who is the host of an already successful talk, Python to Me podcast.

00:11:58 So Testing Code is now on episode 97. This episode and Python Bytes has 161 episodes as of this recording, so both of them are very strong with no end in sight.

00:12:11 In 2016 was my first conference I spoke at.

00:12:17 I was invited speaker at the Pacific Northwest Software Quality Conference and it was fun. It was a little scary. I was shaky, but I enjoyed it and I wanted to do more. See, I’m naturally an introvert.

00:12:32 I do like teaching and talking with people, but getting up on stage is a little freaky at first. I like it now.

00:12:41 In 2016, I also started writing, pulling some of my writing together and working with an editor to write the pytest book. And in 2017, Python Testing with pytest was published by Pragmatic publishers.

00:12:56 The editor encouraged me to stick with the 80% of pytest that everyone needs to know and concepts that way, it’s still valid. Even as the tool brings in new features, the core concepts remain. I’m very glad I took her advice and went with that path. It’s still very relevant, and I think it’s the best way to get your head around pytest.

00:13:19 In 2017, Michael and I had a booth at Python.

00:13:24 I think it was called the Python Community booth, and I think we may have had one other podcaster there with us, maybe two.

00:13:33 There was a few podcasts in the realm at the time. In 2018, we did that again and had more podcasters and other independent creators hang out with us, and it was a lot of fun in 2018, I spoke at PyCon also, so that was my first PyCon speaking experience only so far.

00:13:52 So that was 2018. In 2019, that’s this year at Python, we shared a booth space with the PyCharm team, and that was a lot of fun. It was a huge space and we had a lot of community creators there taking time on the booth and talking with people. I did a book signing. That was a blast.

00:14:11 Busy year. This year, 2019, I started teaching groups for day long sessions to use pytest. This is kind of a corporate training like thing, and it’s a blast. I want to do more and more of this. So this initial training session was a six hour session with a lunch in the middle, and we just had a great time. I also started some one on one coaching sessions at the end of 2019. And 2019 also brought in the start of the Python PDX west meet up. So there was an existing Python meet up downtown, but I work on the west side, so I wanted to have one over here, so we started one. It’s going on strong and it’s a lot of fun right now. My work is still going awesome. We moved into a new, beautiful new building in the Hillsborough area. It’s actually where the Python meetups are, but I’m still in the team lead role and it’s going strong. And I’m currently trying to hire another Cython developer this year, and I like interviewing, so it should be fun. And I like meeting new people through the interview process, and hopefully I’ll remember some of April’s lessons and make it a more pleasant experience for everybody involved. The two podcasts are still going strong, and the Python PDX west meetup. It took a slight break in December, but we’re going to pick it back up in January. I have this desire to help people, as many people as possible through speaking, coaching, teaching, writing, whatever I can do, because I’m finding that helping people really gives me a lot of energy. We also have a slack community, and I added this so that people could answer each other’s questions, and I hop in there sometimes and try to answer questions, but the people in there are amazing. Last time I checked, there’s 787 people registered for the community and they ask questions there and help each other out daily. There’s a Community Slack link on the testandcode.com site so you can get more information there. And Patreon.

00:16:19 Early on, I started adding a Patreon link to this podcast to try to get community sponsorship, and that has been incredible. So right now there’s 57 patrons. Thank you to everyone who’s donated in the past and everyone that’s currently donating these people rock. And in 2020 I’m going to try to come up with a way to give back to them. That’s really where we’re at now. I want to take a look forward into 2020 and beyond. So one of the things that I’ve had a lot of people ask me about is courses and even people that I work with, they say, I’m sure your book is awesome and great, but I’m just not a book reader.

00:16:57 Can I get some of this content in a course video course so I can watch it and do the exercises?

00:17:05 And that’s got to happen. So really this is my top priority is to get course work out for 2020. I want to get at least one Pi test course out this year, but that’s totally to do that. I’d prefer to have more than one by the end of 2020 and I want you guys to hold me to it. If you don’t see me working on this, give me a bad time about it. I do like speaking now. It is still nerve racking and I’m just going with it. It’s just part of the rollercoaster ride of being nervous standing in front of people, so I want to try to speak whenever I can. So far I’ve got speaking events planned for Pike Cascades, Pi, Tennessee and an RNS internal conference in Munich, and I’ll probably speak a bunch of times at the Python PDX west meetups as well.

00:17:52 More podcasts of course, Python Bites is weekly. My goal for 2019 was to get Test And Code more weekly. I think I had 30 ish somewhere between 30 and 40 episodes in 2019, so doing not too bad. But it’s not a huge priority for me this coming year.

00:18:15 It would be great if I could get 52 episodes out, but the coursework is a priority for me, so if I need to slip Test And Code down to slower, that would be fine. Of course, if I’ve got sponsors for an episode, I’ll make sure that I get those out because I like those sponsors.

00:18:32 How do I give back to Patreon supporters? One of the ways that I thought would be cool. I’m looking into ways to set up an ad free feed for Patreon supporters so that they can listen to test and code code without ads. I also have 97 episodes currently with this one, and so that means the feed is pretty daunting for new folks, and I thought it would be kind of cool to limit that to like three to six months on the open feed and give full feed access to Patreon supporters. So you can still get access to it by throwing a little bit of money at it.

00:19:07 And new people aren’t overwhelmed with a ton of back episodes facing them, so that might be cool. It’s still up in the air on this one, I’m not sure. And of course all of the episodes will always be available online on test and codecode.com. More Plans So I had a plan for 2019 to do some more blogging. I didn’t do any blogging in 2019, but I don’t like it on WordPress. It’s sitting on WordPress right now. I want to move the blog to Pelican or something like that so that I can just use GitHub and do it that way eventually. I’d also like to revisit every single one of those old blog posts and make sure that they’re still accurate and don’t give any bad information.

00:19:54 They were what I was writing when I was learning by test and unit test, and they’re still being used by some people as a resource.

00:20:06 So I’d like to make sure that those are still good. And actually I think it’s a good idea, but I’m not sure if everybody else does as well. So I’m considering doing a Kickstarter at some point to gauge how important it is to people to have that be updated.

00:20:20 Group Training Like I said, the training that I did corporate like training with a group of people with so much fun and rewarding. I want to do more of that.

00:20:33 I think I’ll try to set up a page that describe what you get with that so that more people might be interested learning, writing, teaching, speaking more courses, whatever works to help teach people.

00:20:48 So I was thinking, like looking forward in goals.

00:20:52 What does longterm success look like for me? If I was successful with what I want to do with this, what would that look like?

00:21:00 So for myself, I want to be proud of the software, right?

00:21:04 I want to have fun writing software, and I want for everyone around me and everyone coming after me to have that kind of experience as well. So this is kind of a change of the world sort of thing. I want to change the way we teach software. I want to remove the assumptions that someone else will test your software. I want people to be responsible for their own testing of their software and have an ownership of the entire product, even if they’re only working on a little bit.

00:21:33 I want everyone that learns how to code to know how to tell if their code works.

00:21:39 That seems pretty basic, but it isn’t being done, and I want to remove the ideas that testing is some extra thing that adds some delay but it’s worth it. It doesn’t add delay. It makes you run faster. I want to replace that with the knowledge that testing is your booster rocket. That makes you go faster because I believe it does.

00:22:00 Someone asked me recently why I do what I do and my answer was something like this software is a blast. At least it should be. I want everyone to have fun writing software. Leaning on automated tests is the best way I know to allow me the confidence and freedom to rewrite big chunks of code, to play with the code, to try new things, to have fun without fear, to go home feeling good about what I did and be proud of my code and I want everyone to have that. So that’s why I promote and teach automated testing.

00:22:35 This has been a wild, amazing learning experience this past ten years and I am more excited about software now than I was even when I was fresh out of College. So thank you for joining me on this ride.

00:22:49 Thank you to Patreon supporters for continuing to support the show. Like I said, you guys rock. If you want to join them, go to testingco.com support.

00:22:59 Thank you to Ray Gunn for sponsoring this episode. Take charge of your app and web monitoring with Raygun. Find out more at raygun.com. That link is also in the show notes at testandcode.com 97 that’s all for now. I hope you had an amazing decade and I wish you a productive and fun 2020 and the upcoming decade if we work together to help each other reach new heights we can achieve some pretty amazing things.