Monitor performance issues & errors in your code

#444: The Young Coder's Blueprint to Success Transcript

Recorded on Wednesday, Nov 8, 2023.

00:00 Are you early in your software dev or data science career? Maybe it hasn't even really started yet and you're still in school. On this episode we have Sydney Runkle who has had a ton of success in the Python space and she hasn't even graduated college yet. We sit down to talk to her about what she's done and might do differently again to achieve that success. It's the Young Coders Blueprint to Success on episode 444 of Talk Python to Me. This episode was recorded November 8th, 2023.

00:29 [Music]

00:41 Welcome to Talk Python to Me, a weekly podcast on Python. This is your host Michael Kennedy. Follow me on Mastodon where I'm @mkennedy and follow the podcast using @talkpython both on fosstodon.org. Keep up with the show and listen to over seven years of past episodes at talkpython.fm. We've started streaming most of our episodes live on YouTube. Subscribe to our YouTube channel over at talkpython.fm/youtube to get notified about upcoming shows and be part of that episode. This episode is sponsored by us over at Talk Python Training. Did you know that we have over 250 hours of Python courses?

01:20 Yeah, that's right. Check them out at talkpython.fm/courses.

01:25 Sydney, welcome to Talk Python to Me. It's awesome to have you here.

01:29 Thanks, I'm excited to be here.

01:30 Yeah, it's really cool to have you here. Lovely to have somebody who has a brand new experience in the whole software industry and you've certainly found a lot of early success. So that's great and you're here to share it with everyone. So happy to have you here.

01:44 Yeah, I'm super excited to talk about it.

01:46 Yeah, so you know we're gonna talk about your experience. You're working on some pretty awesome projects and as we were just talking before we hit record, you're still in college, still finishing up your last year of college at Madison, which is excellent. So I think you'll be an inspiration and you know provide a lot of good tips for people who are just getting into the software industry.

02:07 Alright, well before we get to that though, tell people a quick bit about yourself.

02:10 Who are you?

02:11 Yeah, sure. So my name is Sydney, obviously. I'm currently a senior at the University of Wisconsin-Madison. I'm studying computer science. I actually started off in both engineering and computer science but decided that I loved computer science enough that I just wanted to focus on that.

02:25 Yeah, why'd you switch? What engineering discipline were you in?

02:28 I was in electrical engineering so there was a decent amount of crossover between the two but I was just finding that I really liked my more advanced CS classes more than the advanced engineering classes.

02:38 Way long ago, I think, the way you kind of got a computer science degree is you did an engineering, an electrical engineering degree. Like, oh that has to do with electrons and circuitry and that's computers, isn't it? So, the same thing, right?

02:49 Now it's way more focused, right? Like the software side of education, isn't it?

02:53 Yeah, definitely. And the nice thing is we still have some cross-listed classes so I still get to kind of dip my toes in both sides.

02:59 Yeah, excellent.

02:59 Yeah, so I grew up in North Carolina originally in Chapel Hill. Really loved it but for some reason decided to move up to where it's quite cold. And yeah, I really enjoyed my time at Madison thus far. I think it's a great place to learn about CS.

03:13 Well, I have some really good friends who were there for grad school at Madison and just loved it. But I'm sure as we come into November that perhaps the weather's a little different than North Carolina which is, you know, sometimes it gets chilly. Get a jacket.

03:28 Yeah, I'm getting some new, like, nice winter experiences, you know?

03:31 Yes, of course. Of course. Well, let's set the stage a little bit by talking about what you're doing so people get a sense, right? Like, obviously, Madison, for those who don't know, is a super highly respected school so it's a pretty top-tier computer science department there. That alone is pretty awesome. The fact you're about to graduate, it's pretty awesome. But you're also working on some cool open-source/funded, I guess? I don't know what the term for that is, like, backed open-source. But working with Pydantic. So yeah, talk a bit about what you're doing these days.

04:06 Yeah, so I'm currently working part-time at Pydantic. I know you've had Samuel and some others on the team on the show before. But I reached out to Samuel kind of later in the summer, actually, after I heard him talk on your podcast at PyCon and asked if they were interested in having an intern, you know, help with some of the open-source work. Because obviously, they're delving into new commercial things now and Samuel got back to me. And so now I'm primarily working on open-source there. I help with incoming issues and new feature requests, etc. We're currently working on the version 2.5 release which has lots of new features and fixes, which is great. And it has certainly been the job where I've learned the most the fastest. I think being surrounded by other developers who have tons of open-source experience makes such a collaborative and fast-moving team. And so I've really enjoyed being able to learn so much and, you know, dive into this really well-thought-out and well-developed code base and kind of go from there.

04:59 That's awesome. Yeah, Samuel is a great guy. The Pydantic project, it's really taken the world by storm, wouldn't you say?

05:06 Yeah, absolutely. Number of downloads per month, I think. Recently, we hit over a million downloads per month. It's quite impressive and, you know, crazy given that it only started a couple of years ago.

05:16 I think that I saw, I can't remember, was it an X Twitter post or was it a Mastodon post that Samuel had put up there that Pydantic had been, at this point, downloaded over a billion times, which is kind of unimaginable.

05:31 Yeah, it's quite crazy. I haven't taken a math class super recently, but I know that it's quite a large number.

05:37 That's right. It's definitely large. A lot of zeros. So I pulled up the GitHub page here for Pydantic and it says the project is used by 270,000 other GitHub projects.

05:48 Yeah, it's definitely quite ingrained in a lot of projects. Obviously, also used to support a lot of other popular open source projects, like the one that comes to mind immediately is FastAPI, which obviously many of the podcast listeners also know about, but it's exciting that it's able to serve as such a consistent like foundational block for so many other libraries.

06:08 Yeah, it really is. Like the podcast website's based on Beanie, which is, you know, MongoDB plus Pydantic. And I was literally just working on some FastAPI code. I'm like, "Oh, I got to put this away. Got to do the podcast with Sydney." So yeah, it's definitely, definitely something that's pretty wild. I don't know about how you feel about this, but does it make you a little bit nervous to work on a project that affects so many people?

06:32 Yeah, that's a good question. I think starting off, I thought I would feel a bit more nervous, but once I kind of got into the swing of things, I think we have a really great code review system there. So, you know, I feel supported, even though if I'm, you know, making changes that seem kind of new or different to me, I feel like we have a great team and not only just the team of Pydantic, but obviously other open source contributors that can give feedback, et cetera. And it's nice to be able to rely on them for feedback before obviously we release too.

06:57 Yeah, absolutely. Yeah. Right below the, the number, the used by count is the contributors and there's 447, at least directly to Pydantic. I don't know if the Pydantic one, maybe there's a Pydantic core that's a separate repo these days. They used to be one thing, but then the whole V2 was about splitting that up, right?

07:15 Yep. Yeah, exactly. So we have a core written in Rust that handles a lot of the validation and serialization logic now.

07:21 Yeah. Yeah. Very cool. So you're about to graduate. You talked about jumping into this project and learning so much. I had a really similar experience when I was in grad school, I was studying math, but then I got to work on some actual software projects and they were desktop apps. Can you believe it back then?

07:39 But really, really fun projects though. And I had the same experience, like, wow, I've learned so much here. And, you know, I did less computer science in college because I studied math and computer science minor, but still my interactions with my computer science side of those courses, I felt there were a little bit, I mean, I guess you should be this way. They felt a little academic being at the university and a little bit not entirely in touch with like, what's the latest way of writing code? What's the latest technologies? What's the latest open source or what's the latest tools? You know, been a long time, let's say a couple of years since that was, since I did that in the mid nineties.

08:18 Yeah.

08:19 Totally changed. What's your experience? Is it similar or how this new project kind of gave you a lot of exposure?

08:24 Yeah, I would say my experience has been quite similar kind of with the juxtaposition of standards in my computer science classes and more academic applications of computer science versus in my various internships. I think that's been one of the most valuable thing about seeking out, you know, diverse opportunities outside of classes, really being able to get experience with, you know, like version control systems and continuous deployment systems and how do I work on a code review? How do I, you know, interpret a code review, things like that. And then beyond that, just modern coding standards and current libraries, et cetera. So I definitely do think there's a gap, but I do think there's still a lot of value in, you know, some of the fundamental concepts that are, you know, language agnostic or just, you know, easier to learn in a classroom and aren't quite as dependent on like code quality and production quality, et cetera. But I think it's also really important to get the experience outside of class that gives a lot more feedback as to like, is this good code?

09:18 Is this bad code? Et cetera. Cause that's certainly something that's really emphasized in class.

09:22 Even if they try, I think one thing that's super hard to simulate is working on a team where stuff is used by other people and there are consequences. You know, it's one thing to say, well, we're going to pretend to do a PR and how'd that go for you? It's another to say, we're going to take down 270,000 projects if we get this wrong. So the continuous integration should probably be working, right?

09:43 Yep. Definitely.

09:44 What languages was, has your courses mostly been in?

09:48 So our kind of foundational computer science courses, you know, learning about data structures, et cetera, are in Java. There are a couple of kind of like on ramp courses that you can take in Python. If you've never really learned code before, obviously that's a little bit easier to get started with. And then I've taken some courses in C as well that are architecture related, et cetera. And now that I'm kind of past the intro, past the computer architecture and into the elective focus classes, we've kind of pivoted back to Python. I think part of that is I'm taking a lot of more data science, machine learning focus classes.

10:20 And so obviously Python's a pretty convenient language to write up those things.

10:23 That's pretty much the de facto on there for sure. Yeah. When I took the couple of computer science classes that I did or programming classes, it was, it was a little bit out of sync with what I was wanting to do. So when I was, I also started out in engineering, I'm like, eh, maybe I'll switch to something else.

10:39 But yeah, before I did, they said, well, you're going to need to take a programming class. I'm like, oh, that sounds awesome. They're like, yeah, we got to have Fortran 77 class for him. Like, are you serious? Like this is the most important class you're ever going to take. Don't skip on. I'm like, maybe not so sure about that. Then I said, then I wanted to take another course.

10:57 I'm like, maybe I'll take a C++ course. They're like, great. But first you got to take a Lisp course. I'm like, really? Can I just like take something that modern software is built with, please? Nope, nope, nope. But yeah, very fun. Quite the journey though. It sounds like, and knowing Java is a good skill. It's a kind of a different paradigm for how code executes. It's the same for C, right?

11:18 Yep. Yeah, I definitely think it was helpful. I think at the time in class, I was like, man, I really love Python. You know, why can't we be writing Python?

11:24 But definitely great to get, you know, exposure to different languages. And I think it helps, you know, to better understand general like patterns in programming, et cetera. If you have to implement that and see the different implementations in different languages.

11:36 Yeah, for sure. Python with its types is getting a little, a little bit more like Java, but hopefully not too much like Java. So yeah, excellent. All right. So you mentioned that you're doing a lot of Java. Quick audience question out there.

11:49 Arjun says, I'm an IT professional. I've not had any experience, had any experience in any coding. What's the best way to start with Python? I initially a few years ago started learning Java, but kind of lost interest. What are your thoughts?

12:01 That's a great question. Honestly, I started by reading a how to write Python book and kind of pivoted from that to online courses. I think my number one recommendation would be online courses. I know you guys that talk Python have some awesome online courses that people can take. And before I think in like middle school and high school, I took some courses through edX and Udemy. And I think that's a great way to get started because you can kind of have the balance of I'm writing code, I'm seeing other people write code, you know, often there's like auto graded questions involved. And the nice thing about an online course is that it's asynchronous, right? So you can do things when it fits into your own time. And another nice thing is that there's a pretty large community of people online who love to write Python and are getting started writing Python. And so I think there's also a lot of support there, which is great.

12:47 Yeah, there's definitely more resources now than there ever have been, right?

12:51 Yeah, yeah.

12:52 I agree with online courses. I really, really like the focus. You know, when I started doing online courses that we have, one of the things I wanted to do is try to go like, how do people who might otherwise take a semester long course at say a community college, because if you're in a full on university, you probably have a program you're following. But if you're just like, I'm just going to take a course, how do you take that and change that from 16 weeks to five hours, you know, and still get something, you know, meaningful out of it. Since this is kind of focused at young people and not, we're talking like, you know, 20s type of young person, but just, you know, if people come along, like, but what about my middle school or something? Are you familiar with this project, code combat? Have you seen this?

13:35 Yeah, yeah. I used it in middle school.

13:37 Did you? Amazing. What a cool way to write code. Tell people what it is. What are your thoughts since you actually used it?

13:44 There are a lot of sites like this that basically allow you to write code with, you know, some pretty significant guidance and support to, you know, move along characters and games and help in this case, like find other characters with your code. And, you know, I can think of other examples. Like I worked on a like robot program where I was helping a robot Carol, like, you know, walk around a maze and things like that. And so I think websites like code combat or code academy or even code.org have a lot of really great opportunities, especially geared towards younger people who might need help writing code for the first time. It can't like just jump right into the deep end with one of the more complex courses on like Udemy, for example, offers a lot more like collegiate level things. But I think these sites are particularly great and entertaining.

14:25 You know, it makes you feel like you're playing a game, but you're also learning in the background, which is great.

14:29 Yeah. This is such a neat game. They've got these different worlds or whatever, and they each have maybe this one here, Cloud Drip Mountain, has 110 programming puzzles. And the reason I really, when people ask sometimes, I recommend this one is a lot of these things that are like for really true younger people or really just true beginners, they hide so much of the code. They're like, well, if we could just teach the concept of loops, you know, and then you just drag a circle around this thing and then you click this block in, you know, I think that still is a pretty big gap. But this is you write real Python with an editor, but the little editor is like the world's most aggressive autocomplete you've ever seen. Right. If you type the letter H, it'll like hero dot attack. And like, should you, what should you type in here? You know, it's like, whoa, OK. Yeah.

15:13 But yeah, I think this is this is really awesome for young, young people. But, you know, I think even maybe older people might just if they want to kind of play an online game, right. If you're sitting around, you're like, oh, maybe I'll play Candy Crush or something like I'd rather play co-combat than that, you know.

15:27 Yeah. It's definitely great to have the additional engagement there. And, you know, if it's just like write this for loop to do whatever, that's not even close to as engaging as like, you know, the enemy or things like that.

15:37 Yeah, exactly. Exactly. Cool. So there's a whole spectrum of online resources there. All right. How about we jump into some of the tips, some of the things that's well before we do one thing I think you kind of hinted at that with your answer here, your response there. How much programming experience did you have when you got to Madison? Because I think one of the challenges is while maybe the principle of computer science is you could show up with zero coding experience and they're like, this is a keyboard. Awesome. And we're going to start with that. A lot of people don't. And so you might be sitting next to somebody like, oh, we're both working on a project. How are you done? Like, well, I've been coding for, you know, however long. Right. What was your experience going in?

16:17 Yeah, I would say for a college freshman that I did have quite a bit of experience.

16:22 I had, you know, done all these code combat-esque things in middle school.

16:27 And then I was lucky enough that my high school offered some coding classes, even at the AP level. So more advanced courses. So I'd taken those. And then especially... Probably more Java, right? That's what AP seems to be a lot of.

16:38 I actually took one in Python, but I think that there was definitely another one in Java. And then especially during the pandemic, I did start to get a bit antsy.

16:47 And I was like, man, I really want to be, you know, working and applying this. So I started having computer science internships in high school. So I think definitely coming in, I was a bit more prepared for some of the classes, especially my first Java class. I'd never written Java before, but I at least understood, you know, some of the paradigms that were helpful. And I do think it's helpful to come in with some experience, because like you said, if you come in with none, it's a little bit hard to just jump into a college level course.

17:11 Yeah, for sure. You can do it. Not saying you can't do it. But I guess the thing is, you know, if you look around the class, you're like, there's some people that are really good at this. Like maybe that probably is true. But it also could be that there's some people that have a lot of experience and you're brand new. And we all know that the first bit of code that you write is always a bit of a got to get your mind into it sort of thing.

17:29 Yeah, definitely. And I think the good news is, too, you know, if you take one quick course, like even introduce yourself for, you know, five to 10 hours, like that's going to be a really big benefit. So it doesn't take a ton of work to just get over that initial, you know, learning curve.

17:42 Yeah, that's a super good point. I remember when I was learning C++, I was so psyched that I got it to compile. And then I learned about runtime bugs and how much harder they are. I'm like, oh, this is, this is worse. This is way worse. All right. So all right, let's jump into the tips. So tip number one, you have work on open source contributions.

18:01 Tell us about this.

18:02 I can't say that during my like first couple of years of programming experience that I did this, it was really only more recently as like this past summer. But I think, you know, getting involved in the open source community can be really beneficial, especially in terms of like seeing other well-written code and, you know, standards in the industry.

18:19 And I think, you know, another thing I want to mention here is that like open source contributions seem a little bit intimidating at first, right? It's like, oh, my gosh, here's this huge project that has been worked on for years. I don't know where to start.

18:29 But like even minor documentation updates are super helpful. You know, we're just writing an example in the docs or writing an extra test, things like that. And so I think even just those little like micro contributions can really help you get involved in that community.

18:42 And then also just learning more about the tools you're using day to day anyways.

18:46 Yeah, absolutely. And many projects are very welcoming. People who want to raise their hand to get involved, right?

18:53 Absolutely. I mean, you know, filtering on the good first issue tag is always a good way to start. We're trying to, you know, mark more and more of those at Pydantic just because there are certainly a lot of people that want to help and we more than welcome their assistance.

19:05 It's really great to see, you know, first time contributors popping up every day.

19:09 So for people who maybe are listening and they're thinking about just getting into this, right? But I'm a labeled good first issue, right? So if you go to the issues, you can actually see which things have been labeled as, look, you don't need to understand a whole bunch about the system to get started. So that's a really good way to kind of see what's already out there, because I think you might look at a project, I want to help, but how, like, what do they need help with? Like, well, here's a whole list of small steps that people - somebody could raise their hand and help with, right?

19:37 Exactly. Yeah. It's a great - when you have this huge project, it's like, oh, no, where do I even start? And then searching by that tag is a great way to just jump in and filter, especially, you know, on large projects like we currently have about 400 issues, right?

19:48 So it's nice to have that filter there.

19:50 Honestly, I'm pretty impressed that there's only 400 issues.

19:53 Yeah. I'm trying to keep it clean. We'll see.

19:56 It's not easy, is it?

19:58 Definitely a lot coming in, a lot coming in after every release, but it's great to, you know, see so many people engaging and interested in new features and helping report and fix bugs, you know?

20:07 Yeah. Yeah. I'm looking here and one of these, just open once, but it's numbered 8058. So, you know, that's a whole bunch of closed or deleted, ignored issues, but somebody had to deal with them along the way. Yeah.

20:20 Yeah, certainly. And I think another great thing about working on open source contributions, especially if you don't have a ton of experience with software development, you know, maybe you're a student and you've worked a lot with computer science concepts is it's a great way to practice your version control skills, right?

20:35 Like you're going to need to make commits. You're going to need to submit a pull request and get that reviewed and iterate with other developers. And so it's an awesome way to just pick a project and develop those skills kind of in parallel with your actual coding skills as well.

20:48 Yeah, absolutely. And also get a sense of what does releasing and testing software feel like, because probably got a PR, then the PR has got to run some continuous integration. And then, you know, which branch does it go into? All those sort of things that we were talking about before that make it hard to simulate in school, like you're throwing in the somewhat deep end, but you know, it's good learning.

21:10 Yep, definitely. And there's a lot of documentation to help with. How do I make my first commit? How do I pull this code down, et cetera, which is good.

21:16 Yeah. I also think the tutorials and the documentation side could be really helpful. I was working on some project and it had documentation for the, you know, whatever property function, whatever it was that I was working with, some kind of enumeration and it was like split segments. And then you look at it, the documentation says this, setting this to true will split the segments. Like, okay, what does it base the splitting on? Like, what does this even do? Like, okay, I understand they will be split, but I would need to be more precise. Right. And like, just if you look at it, it kind of has just the name turned into a sentence. Like, you know, that thing is ripe for getting a little bit of extra detail, I would say.

21:56 Yeah, definitely. You know, if you're confused, I'm sure someone else is confused and always great to at least, you know, report or help fix that, et cetera.

22:02 Yeah. The other thing I like about your first tip here is you make connections in the industry pretty quickly, right? Like jumping into Pydanic, you get to know Samuel Colvin, who's connected to all these other people. And you probably work with Sebastian Ramirez from FastAPI because those two projects work closely together. Right. And all of a sudden people are like, oh yeah, that guy's amazing. I wish I could meet him. Right.

22:24 You know, you're working virtually side by side, right?

22:27 Yeah. It's really great. And, you know, awesome to have such a community that's focused on like helping other projects. And obviously it's just, you know, general improvement of projects for public use, which is a really great motive. And as you mentioned, like any contribution that you're going to make is going to get you noticed and help you make connections, which is great when you're, for example, a student like me looking to, you know, like make connections in the computer science and software community and maybe look for jobs eventually, et cetera.

22:52 Yeah, absolutely. And if people show up, you know, you go to a job interview and there's 10, 20 applicants and they're like, okay, look, we work with FastAPI. Have you, are you familiar with it? Somebody says, no, I think I've heard of it. Is that, is that a Python framework? Yes. It's a Python framework. Okay. Then the next person is like, yeah, I've written a little demo app with it. And then, you know, you show up and you're like, yeah, I actually contributed and added this feature that I hired. You know what I mean?

23:17 You know, a lot of people focus on what is your kind of GitHub profile look like?

23:22 What kind of projects do you have, et cetera. And, you know, if you're like, man, I don't have the time to develop all these awesome projects on my own, but you know how I can boost my profiles, just work on other people's, other people's projects, help out, et cetera.

23:33 Right. And then, you know, someday you'll probably come up with something that catches on and you'll have your own project. But, you know, when you're really new, it's kind of hard to, those things are not easy to make a popular project in the first place. And so you can really jumpstart that whole process.

23:48 Yep. Definitely.

23:49 All right. Related to this, and you kind of hinted that it is the next tip is reading other people's code.

23:54 Yeah. As we discussed at the beginning of the podcast, sometimes the code that you might write in class, you perhaps are a little bit more focused on, you know, getting it to work than how clean is this? How maintainable is this? How well would it work with other systems?

24:07 So I think reading other people's code, especially often through, you know, open source contributions can be really beneficial in just helping you understand like, what are the industry norms? How can I improve my own code so that I'm, you know, matching these? And another great kind of tie in with the open source contributions is if I write some code to fix a bug and then get reviews from the, you know, maintainers of a repository, like I'm getting immediate feedback about like, how am I doing in my, you know, patterns that I'm using and the ways that I'm refactoring things, et cetera.

24:35 And I think that's one of the best ways to learn the most quickly is, you know, you already had to come up with a solution to implement this fix yourself. But then let me collaborate with other people who are really experienced in this field to get a better idea of what I, how I should be solving problems like this.

24:50 - Sure. And when you learn through a tutorial or online course, or even a college course, there's really different kind of expectations about how the code runs a lot of times. It's like, oh, okay. So if I type this in and I do this loop and I do this thing, then it'll work. But what about the error handling? What about the robustness, right? Like those things are my experience when I was working with interns more quite a while ago, but it was like, we'd have a project project would be going along great and they'd write awesome code, but I'd say, okay, see where you're supposed to put that number, type the word seven in there and see what happens, you know, and then boom, the program dies.

25:27 You're like, okay, we still got a little more work to do. Like, how about an error message?

25:31 Like this has to be a number rather than just killing the program, right? That kind of, those, those kinds of things you learn by working on like real projects, like open source ones. I think also, you know, you get to better understand for a given language. Obviously I'm most familiar with Python, like where should I be writing documentation for my code?

25:48 You know, where should I be putting my examples? Where should I put my tests? And things like that. You don't necessarily have to think about if you're just writing a script, you know, for a class or, you know, online or in person, whatever that might be.

25:58 Talk Python to me is partially supported by our training courses. When you need to learn something new, whether it's foundational Python or advanced topics like async web apps, FastAPI and more, be sure to check out our over 250 hours of courses over at Talk Python. And if your company is evaluating how they'll get up to speed on Python, please consider giving our content a look. Check it all out at talkpython.fm/courses.

26:29 William out there says when wanting to contribute to a project, I tend to fall down the try to understand everything rabbit hole. Any tips on balancing contributing and learning by reading code? Yeah, that's a great question. I definitely fell down that rabbit hole myself.

26:44 You know, I'm like, okay, I'm gonna fix this one line in this function. And then I'm like, oh, I just read 500 lines of code in this one. I think a good thing is to focus specifically on like one issue, right? Like find one bug or one fix that needs to be made and just kind of constrain yourself to like, let me fix this one thing. And then if you're like, oh, I have extra time, then go ahead and read the rest. But I think obviously, to your point, like you do have to contextualize some to be able to understand an issue or a bug better. But I suppose the nice thing is the more you read, the better it ends up being the long term.

27:15 Yeah, personally, I kind of feel like try to understand programs and stuff like vertical slices through like all the tiers and parts of it. Like how much of this database bit do I need to understand to make this part work? I don't want to try to understand all the stored procedures and this weird optimization. I just need to know, how do I get this thing so that I can do this feature? And you kind of slowly explore your way through, but you can sort of do those things more quickly than trying to like, okay, first, we're going to read everything. Give me a week.

27:43 Yeah. And I think another thing that helps sometimes that helps keep me focused is, okay, let me create something that's going to reproduce this problem. And then let me step through a debugger so that I'm at least letting myself know where like this data is coming from or where this problem is coming from. But I don't necessarily have to understand like every function that things move through or every class, but I'm at least like getting that kind of higher level understanding of like, where the heck is this thing coming from? And then I can really focus more on, you know, where's the issue that needs to be fixed? And let me really take a look at those couple of lines of code.

28:14 Another thing you get from reading other people's code is an appreciation of style, right? Like formatting and polish and presentation, because a lot of good code, and a lot of times this is open source code, is written to be read more than it's meant to be written, right?

28:30 Definitely. We like our automatic formatters a lot at Pydantic. So we just implemented the new rough formatter, which is written in Rust, super fast and adheres to, I think it's like 99.9% compatible with black, which is great. And then before that we were using black for everything.

28:47 So another benefit of those contributions is getting used to using code formatters, you know, once you're done writing your code. And now I find myself, you know, just creating an environment and using code formatters for my academic code anyways, because I can't stand the look of it if it doesn't, you know, match.

29:02 Yeah. The professors must love you. They're like, "Oh, this is so nice. I can read it compared to like whatever." So that's another one that got submitted. Yeah. I switched over to using rough for all of my projects as well, and ran rough against like tens of thousands of lines of Python and rough format. And it was like, you hit enter and it's just done. It's like reformatted, you know, 392 Python files. I'm like, "Did it really do it that quick?" Yes.

29:28 Sebastian was quoted as saying like, "You know, sometimes I purposefully introduce little bugs or, you know, well-formatted things in my code just to make sure it's working." And it is, but I just wanted to make sure because it's so darn fast.

29:39 Yeah, that's awesome. I integrated it into PyCharm. And there's a way now with the plugin to say when you do reformat code in PyCharm, just run rough format, which is really cool. And so now you just, you know, hit the keystroke to reformat and it's just, you go, and you're like, "Okay." Yeah.

29:54 And so it's all good to go. Very nice.

29:55 Awesome. I know what I'll be doing after this call then.

29:57 Alyssa says, "I'm a TA for a college intro Python course. What advice would you have for students getting into Python for the first time in college level? You know, what to focus their time on and so on." Yeah, that's a great question. I think kind of the fundamental data structures can be really helpful to focus on at first and kind of fundamental concepts to programming like for loops, while loops, functions, classes, et cetera. And one nice thing about Python is that, you know, it's relatively easy to read code that's written with those structures, right?

30:26 Like it's a little bit more intuitive than other languages like C, for example. And so I think getting started with those basics is nice in Python because if you just look at, you know, someone's example code who's implemented that, you can kind of read it like English if it's written well enough.

30:41 Good names for variables and functions and that kind of stuff, right?

30:44 Yeah, definitely. And I think too, kind of like we mentioned at the beginning, if you kind of find a fun, easy project that can help to contextualize and make your work more exciting, right? If it's not just, okay, let me, you know, think through these 10 concepts that I need to learn, but like, oh, let me write a rock, paper, scissors function or things like that.

31:01 Yeah. One thing I'd also throw in there to add is maybe get them started with good tools really soon, right? Like PyCharm or VS Code, something like that, like rather than just notepad or some random thing, like, look, these tools will really, really help you though.

31:17 They'll like help auto format it. They'll like do the formatting for you. They'll give you advice and show you the errors before you even run it, you know, like send them on the right path with that.

31:26 Yeah. That's a great tip. I think it makes everything feel a little bit less overwhelming, right? It's like, okay, this is going to do half my work for me and then I just need to do some of the thinking.

31:34 Exactly. And it's got my back. I think, you know, if you say like, okay, you type the if statement, then you hit colon, then you go and you hit four spaces. You're like, what? I got to press space four times. This is, but if you just say I type colon, I hit enter, then I keep typing and it's like auto indented, right? It's already done what I need. Then like, oh, okay, this is actually, it sounds weird, but it's actually totally fine.

31:52 Yeah, definitely.

31:53 So your next piece of advice here is to join some kind of club, your science club or something at your school to get going.

32:01 Yeah. Like I mentioned, I was really fortunate in high school to have a teacher that taught some CS courses and I even helped lead like the coding club at my school. And I think this is a really great opportunity to engage with other students who are interested in coding. Even if you don't have coding courses, you can all kind of get together once a week, even, or once every two weeks and just work on projects or learn together in the club that I was leading. We sort of did a combination of little lessons and then also, you know, working on projects together.

32:31 And then sometimes we would do little competitions, you know, there are things like LeetCode and other websites like that, that allow you to practice your algorithm skills. And not only are you getting better with coding, but it also helps to connect with other coders in your community. I think obviously by the nature of the work, sometimes it can feel a little bit lonely.

32:48 And so it's nice to connect like that. And if you're not in school, but still looking to engage, there are, you know, Python meetups and other like data meetups and yeah, yeah, exactly.

32:59 I don't know why I chose this location, but yeah, I just threw Python. I told it near you, but it actually put it in Verizon, New York, wherever there's, there's tons and tons of these places, right. An evening of Python coding, Python and APIs, Python, a hundred days of code.

33:13 There's just tons of options, right. Because when you're in school, there's usually like clubs, either in high school or in college, there's maybe even more, but once you graduate, then you're like, well, go back to high school. That'd be weird. But these, these meetups and also, you know, PyCon just got announced for Pittsburgh and PyCon is such a major experience, I think for a lot of people. Looking in from the outside, I feel like people, a lot of people are like, well, I was really intimidated to go. And really it's just like a programming party and everyone's so welcoming and you should really check it out, I think for people listening.

33:45 I'm excited. I'm going to go for the first time and next year. Yeah.

33:49 Yeah. Awesome. Yeah. I love PyCon. Always, always tons of fun. What's our next tip here?

33:55 Reach out to local companies for job opportunities. You talked about your internships and I was going to ask you about like, how did you find them so soon? But I knew a tip was coming, so save it for now. Like this is a great, great piece of advice.

34:07 Yeah. So I think sometimes getting a, you know, your first job in a computer science field can, or, you know, software development field can feel a little bit intimidating, especially when you're on the younger side. Right. It's like, oh, well, all these people that I see working at big companies are, you know, older and have degrees and are more experienced, but, you know, there are a lot of small computer science startups or even medium-sized companies that are more than happy to hire younger high school interns. And so my first ever like computer science experience was a company that was in Chapel Hill, Carver, where I grew up called QuantWorks. And I worked for them for two summers in a row and it was really great just to start to get working with other people.

34:46 We did some work for a local nonprofit group and then worked on an API with COVID information.

34:52 And, you know, even those, these weren't like huge projects you'd hear about at, you know, Google or things like that. It was really great to just get those like local experiences.

35:02 And I think also it's a little bit easier to, you know, get ins at smaller companies, right? Like if I, as a 15 year old email someone at Google, like, you know, who knows about me hearing a response, but, you know, local companies, I think it's just a lot easier to connect and start growing your career roots there. - Yeah. Here's the big secret that you don't learn until you've kind of walked the path. I think if you get one of those jobs at the amazing thing companies or some big tech company, you're probably going to be doing something really focused and specific. You won't get a real broad chance to work on software, but if you get a job at a small company, you know, you kind of got to do a lot of stuff because, well, it's maybe you and the one other person, right? So I think it helps you grow a little bit quicker. - Yeah. I completely agree. I've been really grateful to have had kind of all my job experiences be at smaller companies. At the next company that I worked at, it was an insurance tech company. I got to, you know, work on an API client and on even some like marketing videos for our company. And then, you know, got my first exposure to like cloud infrastructure, which like you're saying, like those aren't, those combinations of things aren't something you'd get to do at, you know, a large company internship. So I think that's one of the benefits of- - Yeah, there's teams for each one of those things you just said.

36:19 - Right. And then sub teams and then sub sub teams. Yep. - Yes, exactly. And it's easier, like you said, it's easier to get those jobs. So it'd be cool to get a job at Google or Microsoft or whatever, but seriously, look around, there's probably a lot more opportunity at, you know, small groups that really need some computer help. You know what I mean? - Yeah. And the benefits of looking local is like, you might already have a connection there that you didn't know about or like that. So it's always helpful. - Next up, next tip, learn about software design principles.

36:47 - Yeah. So this kind of ties nicely into our previous tip, but you know, the earlier you get to start working on some sort of production system or even just, you know, an open source project that has releases, et cetera, the earlier you get to start learning about how do I integrate and deploy this? And how do I work with pipelines and why are all my tests failing, you know, and things like that. And I think having those skills going into other opportunities really makes employers excited, right? Because you're already experienced in things like that. And so they don't have to spend, you know, the first couple of weeks getting you used to their integration and deployment systems and contributing to the repository and pull requests and things like that. And even things like agile development strategies. So getting used to like, how do I plan out what I'm going to develop in the next two weeks? You know, obviously there are various different systems you can use for that. But I think just taking things one step further from, I know how to write the code to like, how do I write the code with a team and how do I, you know, make sure it's released consistently and reliably, et cetera, can be really beneficial. - You mentioned the team, circling back just really quickly, like both to the contributing to open source and the joining a club. I think when you, a lot of people first think about programming, they think about, you know, okay, well, I'm going to go into the basement and shut the blinds and not see anyone and just write code and become pale.

38:04 And, you know, but a lot of software actually is a pretty social, pretty interactive experience.

38:09 And I think you get both of those from open source and internships and the clubs as well.

38:13 - Yep, definitely. - And it's more fun. Come on.

38:15 - Certainly, yeah. - Speaking of fun, find an opportunity to teach code. - Yeah. So this one I think is a little bit harder to orchestrate, but obviously there are always people wanting to learn how to code and people of all ages wanting to learn how to code. So kind of my own experience was this, with this was in high school, my school was promoting this class for anyone of all ages.

38:37 It was going to happen, you know, from 7 to 9 PM once a week, and we were going to teach Apple Swift. So the like app development programming language. And I had only, you know, learned it for a couple of weeks, but they were looking for volunteers to help teach. And, you know, it's similar to I think our viewer, Alyssa mentioned, she's a TA, right? And I think the more you teach something, the more you are able to, you know, convince yourself that you understand it, really grasp concepts. And so I think if you get an opportunity to teach, you know, even if it's just volunteering or if it's paid, it's really beneficial in helping you understand those concepts. And I think just sparking kind of a general love for the community, right? Like when you get to help others learn, that's really positive experience.

39:16 - Yeah, it is pretty amazing. And it doesn't have to be a full on college course. It could be, you know, we talked about the meetups or clubs, like, "Hey, I'm going to volunteer to do a presentation at one of the local meetups." People are pretty supportive and it's pretty, pretty low key. I know some of the ones I've been to, they'll be like, "Well, we're going to have three presenters and they're each, you know, 20 minutes instead of one person who has to be up there in front for like a really long time and, you know, 20 minute presentation on something that you're kind of passionate about." It's pretty easy once you, if you're worried, you know, once you get over being nervous, it's pretty easy. - Definitely. And, you know, it's like, "Okay, what code did you write last week and what tool did you find really helpful?" Like, it's pretty easy to talk about that in front of other people who are also going to be really excited to learn about it. - Yeah, yeah, yeah. "I thought this would be easy. It was really hard. Here's what I did and like, here's how we made it, like, got through and what actually unlocked it." And like that kind of stuff is really fun to talk about and super helpful. - Yeah.

40:08 - What are your other pieces of advice that they get kind of leans into the internship side of things or, you know, connect with nonprofits and see if you can help with any of their needs?

40:16 - We've talked a lot about community on this podcast, right? I think the more you involve with open source projects and, you know, work at a company, you start to realize, "Okay, this like really is a welcoming and engaged community." And kind of taking that outside of the sphere of just computer science. Obviously, nonprofits really help to do great things for communities and often they have some pretty significant tech needs that are hard to meet.

40:38 And so I think another really great opportunity for young people who aren't maybe necessarily ready to start like a full-time job or even part-time job is just, "Can I work for a couple of hours a week with this, you know, nonprofit to help them?" That might be, "Can I help them maintain their website?" Or, "Can I build them a spreadsheet that has a couple of automations that's really going to help them?" So like one example is that in Chapel Hill, where I'm from, we have this great nonprofit called Porch that helps collect food from neighbors' porches and then redistributes that to local families in need and food pantries. And you can imagine, once you start to hear about this organization and it spreads, there's a lot of people involved.

41:15 And so I helped my first internship kind of build a tool for them just to like organize their routes for pickups and things like that. And so it doesn't even have to be as complicated as that, but just I think reaching out to nonprofits is a great way to not only feel like, "Great, I have a coding community," but also like, "I have a place in my broader community as a whole." Yeah. And also offer some nice ways to give back. If you're working on a project where you, you know, maybe you're enjoying writing the code, but you're not like, "Well, how much am I contributing? Like I'm trying to, you know, optimize the trading speed for this algorithm. Like that's cool and all, but I kind of want to just feel like I'm using some of my powers for good." You know, one of these things that comes to mind is just this thing called the humanitarian toolbox. And it's a whole bunch of different pieces of software to help like when there's earthquakes or other national tsunami type disasters and, you know, helping humanitarian organizations solve technology problems with open source, right? Things like that is just, that's pretty cool. Yeah. Yeah. Yeah. So people can, I mean, this is just one that I know of, you can search around and find, I'm sure there's many of these projects. And if there's not, you know, you could create one, like the project you just talked about, right?

42:22 Yeah, definitely. It's exciting that the need is always there. And so if you just find a project that sparks interest in you, like go ahead and contribute.

42:29 Yeah, absolutely. All right. What do we got next here? Sign up for a couple of newsletters.

42:34 Yeah. So this is a pretty like easy and passive way to get better at things. But, you know, if you just sign up for a couple of newsletters, I know like RealPython has a great one that just sends out little tidbits and tricks and, you know, best practices. And then kind of a more career focused one is Ryan Peterman has a newsletter about just kind of advancing through a software development oriented career. You know, when you're sitting on the bus or ready to go to bed and just want to take a little read of something, it's nice to just spend, you know, two to five minutes reading little hints and tips and tricks. And this is a nice thing for people who are quite busy and still looking to improve, but don't have a ton of time to, you know, add an additional course or teach a class or go to a meetup, things like that.

43:13 Yeah, absolutely. Another tip you have is take online courses, because they're pretty short, right?

43:19 Yeah, kind of mentioned that already. But I honestly, another benefit that I found of that is just really helping me feel more comfortable in class. You know, if I started taking, I think, my first like machine learning course when I was in eighth or ninth grade, and obviously, I did not understand a lot of what was going on in the course. But at least I pulled, you know, maybe 20% out of the course and got to move forward with that. And so I think just the earlier you get to have exposure to things that you find cool, the easier it's going to be to learn down the line.

43:48 Yeah, that's awesome. Another tip you have is learn more than one language, which you're kind of forced to do in computer science programs. But it's easy to just go like, well, I've chose which one I'm going to learn on my own. And then I just did that, right?

44:00 Yeah, definitely. I think, you know, especially with Python, a lot of people who get started with maybe a more data science oriented trajectory are like, okay, this is all I need. I've got everything right here, you know, and I think it just makes you a better programmer to have exposure to different languages. And, you know, maybe you don't have a ton of time to study three at once, but like, go read, you know, some code from a different language. And I'm kind of experiencing that right now getting used to writing some code in Pydantic core, which is in Rust, and then being a little bit more familiar with the Pydantic Python wrapper. But it's really refreshing and great to learn about new ways to solve problems. And, you know, obviously Rust is quite impressive and fast. So that's always exciting, too.

44:39 Yeah, you can tell that Python's getting older over 30 years now, because there's a lot of Rust in it.

44:43 Yeah, exactly.

44:44 No, it's, it really is impressive how much it's gone from, oh, we're just doing everything in C extensions to like, all the fancy shiny stuff is Rust internal somewhere.

44:53 Yep.

44:53 Right? You already talked about multiple tools that are in libraries that are that way.

44:57 Right. And we use Py03, which is an awesome library that kind of helps to connect Python to Rust. And, you know, there are more and more open source contributions to projects like that, that help link languages, which is awesome.

45:08 Yeah. So one sort of sub tip that you had in here is this, get 1% better every day. And you'd sort of group that into the newsletters. I think that can go kind of shared amongst many of your pieces of advice.

45:20 Yeah, I think it's a great mindset to have in general. You know, as long as you're putting in relatively consistent work to learn and practice what you're learning, etc. I think you'll be quite surprised and impressed with yourself at how much better you're getting, how much more comfortable you feel with things. And I feel like when you're just starting out, and you've got this huge learning curve to work on, it's really great to, you know, just be consistent, like for five to 30 minutes a day, like work on this thing. And then even in two weeks, you're gonna be like, wow, I've learned so much, you know, and then you can imagine what you'll feel like in a year.

45:50 Yeah, I think it's so easy to underestimate that how that compounds in your career. I remember when I first got my first real programming job, I was still in grad school, but working on it a lot. And you would get, you know, officially, you got an hour for lunch. But the way it really worked, we'd go grab some food, you know, eat it quick in the little courtyard and then go back to work. And just because where else you gonna go? You know, but what I started doing was I would get some new programming book on refactoring or design patterns, or I'm doing C++ at the time.

46:23 So some C++ book. Now just say, look, I get an hour, I got 25 minutes before I go back to work, I'm gonna just sit here and read the book every day. And just one, I felt like I was supposed to have an hour from my job for lunch. And two, it was contributing back to my work anyway. But it was after doing that for a year or two, I went from being like a super newbie to giving conference talks to people like, well, how'd you learn all this stuff? I was like, well, lunch basically.

46:46 You know?

46:47 Totally. And I mean, kind of connecting back to this podcast over the summer, I started listening, you know, I was like, well, I have a 15 minute walk to work each way. I might as well learn something while I'm at it. And I'm a big fan of podcasts anyways, but you know, I had finished my New York Times Daily by then and I was like, well, I've got to listen to something else.

47:03 So it's great to just, you know, we have so much downtime during our days when we could be listening to something, but listening to this podcast is another great way to just pick up tips and learn about what's going on in the Python community. And you know, how can I write my own code better? Things like that.

47:16 Yeah. I really appreciate that. And thanks. I find that there's a lot of people who will write me.

47:21 And when I first started this podcast, I thought, well, who's going to listen to such a show? Like must be the people like really, really into it. Right. And then I started getting emails from people who would say, Hey, I really enjoy your show. I'm starting to understand a lot of the things you're saying. I'm like, I've been listening for six weeks. I'm like, why you listen for six weeks and you'd like barely understood. Like, well, okay, thank you. But why do you do this?

47:41 And what I realized is a lot of people who are new start to use it as a language immersion.

47:45 You know, like if you wanted to learn Portuguese, you'd just go live in Brazil for six months and then you would know it. Right. And so they kind of like, well, I want to be in the Python space.

47:52 So I'm just going to like immerse myself in that space until it starts to click.

47:57 Yeah, it's a good way to do it. And like for the job that I had this previous summer, I was working in the Django framework. And, you know, obviously when you're on the job and writing code and you have a problem, it's pretty easy to just look something up and read through documentation, et cetera. But then I kind of started searching through your previous podcasts and just listening to episodes about Django because it was like, okay, what can I, you know, pick up that I don't necessarily need like right now to solve my problem, but can really help me down the line and just kind of in my day to day writing the code.

48:24 Awesome. I think we might have touched on pretty much all of the tips. Yeah, I guess the last one is part time freelance work. So one angle was getting an internship and so on, but maybe you live in a place where it's hard. It's hard to find a remote internship or something like that. Right. You could do some lightweight consulting type of work.

48:42 Yeah, exactly. I'm certainly more interested in backend or like full stack kind of thing, but there are a lot of people who are looking for, you know, website help and website development. So I've kind of reached out on platforms like Nextdoor, which is just like a neighborhood communication platform and, you know, through school email lists and things like that and said, hey, does anyone need help, you know, building a website? And honestly, I do most things through Wix. So it's not like it takes a ton of technical knowledge. Like I didn't need to study these things for years and years to be able to practice them. But there are a lot of people looking for just help with technical things. And if you have little bits of time here and there, but can't commit to a full internship or full time job or anything like that, it's a great way to just get started writing code. And people are always super grateful just to have the tech help.

49:29 Absolutely. Yeah, it's a good way for you to get experience out there. All right. I'll throw one in one in here to maybe round close things out as volunteer at conferences. So we talked about going to conferences or going and joining meetups, but you could volunteer at a conference or at a meetup. And a lot of these conferences like PyCon, there's hundreds of many, many volunteers.

49:50 I think it probably is over 100 volunteers to make that happen. And I think there might even be sometimes like travel grants, like if, hey, if I volunteer to basically work at the conference, will you get me there sort of thing. And much like working in open source, it really lets you make connections with people in the industry, right? With the speakers and other folks. Yeah.

50:09 Yeah, definitely. I think that's a really great piece of advice. You know, I think a lot of these are very applicable to like, even if you don't have a ton of experience, you can get started with this, you know, and it can kind of be your on ramp into this community if that's what you're interested in. And I think that's a really great one, right? Because not only are you gonna get to be in this community, but also like no better place to learn about Python than PyCon, right? So it's nice to just be in that space and get to absorb that, all that information as well.

50:34 Yeah. And people might not know, they hear about PyCon, they're like, okay, that's the one, that's the big one in the US and it moves around. And then there's EuroPython, which is in amazing places in Europe, but there's actually many, many miniature PyCons around, you know, there's like PyOhio and there's PyTennessee and PyTexas and PyCascades. And I was at PyBay in San Francisco a little while ago, there's a bunch of volunteers there. So it could be that there's one hour drive from where you are, you don't have to make it a big trip.

51:02 Yep, definitely. And you know, more and more, there are also some like online opportunities, right? So if you really aren't close to any that are coming up soon, you can also consider that route.

51:12 Yeah, absolutely. All right. Well, I think that pretty much wraps it up. Anything that we didn't cover that you think you want to throw out for people getting into programming in Python?

51:21 No, I think we did a pretty comprehensive overview, but I think the exciting thing is just, if you want to learn more, there are a ton of avenues to do it and a really supportive community kind of waiting for you to help.

51:31 Yeah. I think if you haven't experienced it before, I do think the, how supportive the community is and how welcoming they are is probably going to be a surprise. A lot of people like you think, oh, I don't know enough. They're going to call me and say, you don't know how to work with this project. Get out of here. Like, no, usually they're, everyone's super excited to whatever, have you speak at their event, volunteer, work on open source projects, you name it, right? That's been my experience anyway.

51:54 Yeah, mine as well.

51:55 Excellent. All right. Well, before we get out here, usually ask a question at the end about some PyPI project or a library that you've run across that are awesome. I mean, we can go and throw out Pydantic and Pydantic Core for everyone out there. Cause that's amazing. Right. But anything else that you're like, wow, this is really awesome. People should know about.

52:12 Yeah. I guess I mentioned it a little bit earlier in the podcast, but the company Astral has been working on the Ruff project. So they originally had a linter and the code for that is written in Rust. So it's quite fast as we discussed before, but they just came out with their rough format support and lots of major projects have switched over to that. So FastAPI, Pydantic, et cetera. And I think it's really great to see people still working super hard on high performance formatting and linting tools. And it's just really quite satisfying to see things run so fast and keep things so clean. So I guess give a shout out to that project.

52:47 It's quite helpful.

52:49 Yeah. Charlie Marsh and team over there are doing excellent work and it's really great. I think I like the way that it works and obviously black is kind of the de facto things that people are choosing. So I like the ways in which it's the same as black. I like the ways in which it's different and configurable as well. So I can definitely second that one. That's a really good one.

53:07 Yeah. The number of configuration options that they offer are really great and it's quite impressive that they have the 99.9% compatibility with black. That makes it super easy to adopt given the already existing standard, but also nice that they have really well-documented differences and things like that.

53:23 Yeah, for sure. All right, Sydney, thank you so much for being on the show and I can tell that you're going to be super successful. You already are super successful and you're months away a good number of months, but months away from graduating and really diving headfirst into this.

53:37 So you must be pretty excited and congrats.

53:40 Yeah. Thank you. It was so wonderful to chat with you on the podcast and hopefully I'll see you at PyCon this next year.

53:45 Yeah. You as well. Hope so. Bye.

53:48 This has been another episode of Talk Python to Me. Thank you to our sponsors. Be sure to check out what they're offering. It really helps support the show. Want to level up your Python?

53:58 We have one of the largest catalogs of Python video courses over at Talk Python. Our content ranges from true beginners to deeply advanced topics like memory and async. And best of all, there's not a subscription in sight. Check it out for yourself at training.talkpython.fm.

54:13 Be sure to subscribe to the show. Open your favorite podcast app and search for Python.

54:17 We should be right at the top. You can also find the iTunes feed at /iTunes, the Google Play feed at /play, and the direct RSS feed at /RSS on talkpython.fm.

54:28 We're live streaming most of our recordings these days. If you want to be part of the show and have your comments featured on the air, be sure to subscribe to our YouTube channel at talkpython.fm/YouTube.

54:39 This is your host, Michael Kennedy. Thanks so much for listening. I really appreciate it.

54:43 Now get out there and write some Python code.

54:46 [MUSIC]

54:48 [END]

55:05 [BLANK_AUDIO]

Back to show page
Talk Python's Mastodon Michael Kennedy's Mastodon