Pybites Podcast
The Pybites Podcast - Insights to become a world-class developer.
Coding is only half the battle. To truly succeed in the tech industry, you need more than just syntax, you need strategy.
The Pybites Podcast is your weekly mentorship session on the soft skills and career skills that senior developers use to get ahead.
Join Pybites co-founders Bob Belderbos (ex-Oracle) and Julian Sequeira (ex-AWS) as they share real-world insights on mastering the developer mindset, crushing imposter syndrome, and navigating your career with confidence.
Whether you are a self-taught beginner stuck in tutorial hell or a senior dev looking for that extra edge, we cut through the fluff to help you build a career you love.
Website: https://pybit.es
Julian: https://www.linkedin.com/in/juliansequeira/
Bob: https://www.linkedin.com/in/bbelderbos/
Pybites Podcast
#218: Why Python developers are learning Rust
Use Left/Right to seek, Home/End to jump to start or end. Hold shift to jump forward or backward.
Rust is everywhere - in your tools and in your stack - and has been ranked as the most admired programming language for over a decade. Join us for a quick chat as we unpack why more Python developers are turning their attention to Rust, and why now might be the right time for you to do the same.
If you’ve been seeing Rust pop up at work, on LinkedIn, or in your favourite Python libraries, this episode will help you understand what’s going on, and whether learning Rust could give you a real edge as a Python developer.
To find out more about how we help Python developers with Rust, check out the following:
Rust exercise platform: http://rustplatform.com/via/pybites
Rust cohort: http://scriptertorust.com
Article Julian mentioned: https://pybit.es/articles/coding-can-be-super-lonely/
___
💡🧑💻 Want to become a more focused, motivated, and effective Python developer? The Pybites Developer Mindset (PDM) Program helps you build strong habits, deepen your skills, and make real progress in just six weeks. Join us for mentorship, accountability, and a supportive community that keeps you moving forward. Start your PDM journey now! 🌟✅ https://pybit.es/catalogue/the-pdm-program/
___
If you found this podcast helpful, please consider following us!
Start Here with Pybites: https://pybit.es
When you brought this to the table, I was thinking who's who's talking about this? And now it's everywhere. You know, we see lots of people commenting on LinkedIn going, yeah, yeah, I've always wanted to try this. I've got to try that work. Work is telling me we're going to start implementing this and you need to know a bit more about it. So that's the most common scenario for people here. Hello and welcome to the Pi Bites Podcast where we talk about Python, career, and mindset. We're your host, I'm Julian Saquera.
Bob:And I am Bob Veldebos. If you're looking to improve your Python, your career, and learn the mindset for success, this is the podcast for you. Let's get started. Welcome back, everybody. It is Bob Elderboss, and I'm here with uh Julian Saqueira. How's it going, man? Yeah, good. Welcome back to the Pie Bites Podcast. Uh quick one this week. Uh, what are we going to talk about?
Julian:We're gonna we we're getting rusty. We're talking about rust this week. Uh, and as many of you would have seen, we've been talking about it a lot in the newsletter, on LinkedIn, uh in on the blog, in email, like just everything. So, Bob, tell the story. What's what's happening here?
Bob:Yeah, no, we we have been shipping. So uh the cohort is uh coming to an end, the first run. And uh yeah, people have been learning a lot. We have had very deep discussions about Rust concepts, it has been amazing. And we also uh shipped the or reshipped the Rust platform with now eight tracks and 60 exercises. So, yeah, we're um we're not going away from Python uh anytime soon. That's still the bread and butter in most of what we do, but yeah, we uh basically added Rust on top of it. And in this episode, we wanted to talk about why as a Python developer you might want to look into Rust these days.
Julian:Yep, absolutely. And uh the funny thing is more and more people are talking about it, right? I uh you when you brought this to the table, I was thinking, who's who's talking about this? And now it's everywhere. You know, we see lots of people commenting on LinkedIn going, yeah, yeah, I've always wanted to try this. I've got to try it at work. Work is telling me we're going to start implementing this, and you need to know a bit more about it. So that's the most common scenario for people here. So I'm gonna let you run through this, Bob. So the the first thing, the first point here we want to make um about Rust is that it's used heavily in Python already, right?
Bob:Yeah, so we have five items uh today. And uh the first thing is that Rust is already in your Python tool chain, which uh you cannot have missed, right? There's Polars uh becoming a faster alternative for Pandas, there's Rough um since almost forever now, right? Two, three years at least. There's UV, the package manager, that now replaces five or more tools, and they all are Rust-based. So um yeah, it cannot be ignored that Rust is heavily uh represented in our ecosystem and stack these days.
Julian:No, I love it. And there's a reason for that, right? And which takes us on to step two and number two here in the list is that you know Python and Rust are partners, you know, they're they're not competitors. So I like the quote that you've got written here, which is Python for orchestration, Rust for speed. So and that that explains quite well why Polars, Rough, UV are all built on top of Rust. So do you want to add anything to that?
Bob:Yeah, so you don't have to ditch the whole stack, right? You um the um beautiful example, I mean the um polars uh library is an example, but I think closer to home for most of us is Pydentic, right? Which at a certain point they thought it was too slow, so they rebuilt the whole core v2 in Rust, and that became, I think, like 17 times faster. And then they integrated that into uh Python. So if you install Pydentic, you don't have to have Rust installed, it's it's a completely you know self-contained thing. The cores in Rust, you don't have to know Rust per se, you still use it as a Python package, but the inner cores is Rust and it it has been shipped for you as a Pythonista to use, and you have faster, much faster library which then ripples through uh to Fast API and all these say SQL model and all these my libraries that are using Pythonic, right? So it's it's uh and that's possible through um PyO3, right? The the bindings library that that uh does that bridging, right? And MatcherIn that does the um the build process, right? So there's really good tooling now available uh to write your core in Rust, make it available in Python, but you can still use Python, you can just swap out uh parts of it, and it's a really um yeah, nice integration.
Julian:That's cool. No, I love it. And so then moving on to number three, which is uh the compile use the compiler as a teacher, right? It's a mindset shift. So Rust is a compiled language, um, and Python generally is not. So talk to us. Well, what's the difference here, Bob, and and why, how do you use the compiler as a teacher?
Bob:Yeah, this this is amazing and a complete mindset shift. Um, so I've always been um you know from a scripting language background. So uh naturally when I started to use Rust, there was a lot of fighting with the compiler because it's very strict and it's going to uh tap you on the fingers a lot. Uh I like the analogy in uh the month of Rust launches that uh Rust uh compilers like the critical spouse that uh before you go out, right? It's uh checks everything. The spouse is going to uh heavily criticize you that your head is off and you should change your shirt and because you don't want to look ridiculous, right? And that's going to be painful. But then when you show up, right, um you will show up uh slick, you know. That's that's the compiler, right? It's going to highlight a lot of things uh because it's very strict. But then usually when it compiles, it's good software and you don't have any surprising bugs. Uh with Python, it requires way more discipline, and we have to do um a lot more checks and balances because things can just um blow up in runtime, for example. If you don't account for a none, and then you have a none.attribute, of course, it will crash. Uh, and so with Rust, that's all locked down, but at the price that uh you need to have it compiled, and that's that's often more effort at the start, especially when you're um starting out. So people coming from a compiled language like C are used to this. Uh, but if you have done just Perl, Python, Ruby, uh then this is new and um it takes effort, but it's very rewarding. And um yeah, I always say even if you don't become a Rust open source developer, you come back to Python and you will look at it with more critical eyes. Um you will think more about private, you will think more about mutable data because of the whole ownership model in Rust. Um the exceptions, for example, try accept, you now have a result object, which the um you have to uh handle both happy and failure path required, right? So anyway, long story short, you just come back to Python with more critical eyes, and that's um even if you're not going to be a Rust open source developer, uh it will make you a better programmer and a better Pythonista.
Julian:And I don't know if you remember this, but when I when I started learning to code in high school, it was C. So everything was compiled. And as that was my first you know, foray into coding, I thought every coding language needed to be compiled like that. So when we started learning Python together, I couldn't understand where the where do I compile my code before I run it? And it took a little shift to go the other way. So I can see how if you're used to running your code and then you know potentially it crashes later because you didn't capture something. Um I didn't know that that was impossible. It didn't make sense to me. So yeah, it's a I can see how this this works both ways. Um, so and on that note, right? So learning Rust, it makes you a better Python developer. And these are things that that you especially, Bob, you've discovered as you were learning Rust. You realized a whole bunch of things. And you know, you mentioned this a little bit in the previous point, but anything else you want to add to that? So, how does learning Rust make you a better Python developer?
Bob:Yeah, I gave a couple of examples already with the ownership model and um try accept versus result pattern. Um so uh yeah, uh yeah, also just the fact that you have to you have require typing, you stack you have to stack in the heap. So um in in Python you have a garbage collector, so you don't have to worry about mem memory management. So it's an extra thing you have to learn, but on the other hand, that allows you to make things more performant, and by doing that, um you start to understand how these libraries um are so much faster, right? So yeah, I think that's it for that one. Okay, yeah.
Julian:No, nice. I like it. And um moving on to number five then. So it's approachable now, right? So the the learning curve isn't as challenging as as people make it out to be, right? And I think just before you jump into that, you know, there's definitely a mindset shift with with so much of this. And you know, you listening to this when you first started learning Python, or if you're learning it now, uh you probably realize that it's not as challenging as you thought it was going to be before you even sat down and put fingers to keyboards. So similar kinds of things here with with Rust. And you know, Bob, you dive into that. What's what's the go?
Bob:I mean, the learning curve is still steep. Um, you cannot get around that. Um, but um yeah, another cool thing by the way is that uh it pairs very well with AI because the contracts are stricter. AI, you have better guardwheels for AI. So AI um is actually a really good companion uh because you can you're more explicit with the code, right? So AI is better able to help you. But even so, it still is a steep learning curve. Um, but we try to make it better by on the platform going always from Python to Rust. So we explore a Python concept you already know, and then we translate it into uh Rust, right? So for example, with result um uh non-an option, uh we we we start out with try accept and then we translate it to Rust, right? With um iterations, we we we start out with Python and then translate that to the corresponding Rust concept. And in the cohort, um, because we work on a JSON parser, which is very relatable, it's not too difficult, it's not easy. Um, we really scoped it out to teach all the core concepts in the context of as we always do with Python, right? In the context of building a practical project. Um, so we spent four weeks of core Rust, and then uh week five is about PyO3 integration, and week six about uh performance and benchmarking. So I think that makes it um all more accessible by really going from the Python to Rust bridging, and as we always do, to work on a practical project and introduce the concepts gradually. Just a quick break from the episode. Stuck at the beginner or intermediate level and wondering what it actually takes to become a senior developer. It's not just more years of experience, it's owning projects end-to-end, making solid design decisions, writing clean tested code, and communicating like a pro. That's exactly what we help people with inside the Pi Byte Developer Mindset program. You build real-world apps, get weekly code reviews, and sharpen your developer mindset that will lead to promotions. If you're serious about stepping up to a senior dev, check out the link in the description and apply right there. Now back to the episode.
Julian:So you can learn by doing yes, you you need to.
Bob:I spoke with somebody yesterday, and the typical story was reading, and I've done this myself, right? Reading a lot of books about Rust and and nothing's stuck right till uh he started to apply it in the project. And that's what I did from day one, actually, right? Blogging and applying it to simple projects, and that that's still a long ride, but that definitely helped, you know.
Julian:Yeah. So for those of you who are just learning about this for the first time, when Bob was learning Rust a year or two ago, I think it was a year and a half ago, yeah. Yeah. So uh he decided to be uh he you know, he thought he didn't have enough work to do. So he said, I'm going to learn it and I'm gonna blog about it at the exact same time and write one blog post every single freaking day. And it was a month then up there, yeah. Uh so have a have a look. We'll put the link in the the show notes of that of his blog. You should give it a you can see his slow descent into madness as he does this every day. Um, but one thing actually, I do a serious note. I do want to clarify here. So Bob was mentioning in that point just there about you know, with Rust, we lead you into it with try accept before we talk to you about result none um in Rust. But we didn't give you any context for that. So we actually launched our Rust coding platform a week ago. It was last Monday. Yeah, so a week ago from when we're recording this. Um and so for those of you who haven't seen it yet, this is a coding platform, just like the Pybytes platform, with a much nicer interface. You did a great job on that, Bobby. Absolutely beautiful. But um this is a platform that is just for Rust. So just for Rust, it rhymes. Uh, and so you go there, same style, you do exercises in the browser. Uh, we have tests running against it, uh, and there's a lot behind the scenes that that's just incredible to get this thing running. But it allows you to learn Rust in your browser. You don't have to install any dependencies, any local stuff on your computer. Uh, and it's a one-time purchase. So it's not a subscription like the other platform. It's currently just a one-time purchase just to get people going. Look, this is a great place to learn. So if you haven't yet, go and check it out, especially if you know a bit of Python, because this is designed as Bob was saying. If you know some Python, this will help you get into Rust so much quicker than if you were just reading a book, because every lesson, every exercise is linked to the Python concept or the relative Python concept, if there is one. So there, there's there's my pitch to finish this off.
Bob:Yeah, it's um I already got feedback that the bridging from Python to Rust has been super helpful for people. Yeah, makes it much more approachable, palatable. And yeah, it's a one-off price. Uh, no subscription for that, and you actually lock in future updates. So if you if you buy it now, future exercises are yours as well for a very reasonable price. Um yeah, I it's very deliberate. You have to look up concepts. Um, there are links to it, of course. Uh, there's no AI, so you really have to write the uh exercises yourself. Uh, you can download them as well. Shout out to Giuseppe who made this nice uh downloader um Rust crate, uh crate is a package. Um, so similar to uh Russell's Eat Local, uh, you can download all the exercises. Um, of course, based on your access, there's an API key you will get if you subscribe, and then you can nicely code them locally as well. Um, submission is still manual, but um yeah.
Julian:At least you get to do them on your own computer, yeah.
Bob:Uh, strings, ownership. We just gradually introduce um everything. Lifetimes I still kept out, it's a bit more complicated, but that's coming. And I will just probably do like a track a month or something. So uh we we definitely gonna keep adding exercises and uh yeah, it's uh it's exciting. And maybe as a last um um you know, stat that um turns out that Rust has been the number one most admired language for 10 years. So 72% of Rust developers want to keep using it. Uh so it's uh it's a language people um again, it's difficult, but it's something very rewarding because you write more reliable code.
Julian:Um yeah, and I'd say once they're in it, you know, and they see the elegance of it, why would you go anywhere else, right? Why would you do it any other way? So no, that's cool, man, and a great point to stop on. So those of you, you know, who've who've considered Rust, who've thought about Rust, now's a really great time to learn it. You know, uh being a Python developer with Rust skills makes you far more valuable, you know. And I don't mean to pit anyone against someone else, but it is pretty ruthless out there at the moment with the job market and everything. So anything you can do to get a leg up on the competition, to put yourself ahead and make sure you're not the person who, you know, unfortunately gets the the riff or um or you are the person who's at the front of the pack for the job interview, you've got to take it, take the opportunity and do it. So uh learn it, it's it's worth doing, and um, it'll help you with your Python code and your deliverables at work. So there you go. Yep.
Bob:I'm happy and proud that we have added it, and uh I I agree. Um it's a great skill to have and um it will make you more valuable. Uh and again, even if you don't use Rust in your day-to-day, you're going to be a better Python programmer because you're going to uh you're going to be more strict in your code. Yeah.
Julian:Yep. Absolutely. All right. Well, that's a good place to end. So we're going to skip books this week. Um, mainly because I haven't read any new books since I last recorded with you. The books I'm reading are like this thick. I mean, if you're not watching on YouTube, I'm there's a pretty big, like seven, eight hundred pages. So um, and I've been coding. So I'm gonna leave it there. Um, thank you all for listening. Bob, anything you want to add before we drop?
Bob:No, no books. Um, I guess just co-coding on one of our platforms, either Python or Rust. But yeah, get some code in and uh and share it with us what you've done.
Julian:Yep. And I'll add that we've we've heard so many people lately say how lonely the coding experiences be. I wrote an article on this on uh the blog for this recently. And so if you are looking just for people to chat with about code, network a bit, come and join us in the community. We're seeing a lot of people enjoy it. So uh a lot more uptick, a lot more people getting involved, things happening. It's very exciting. So yeah. All right. Well, thanks everyone, Bob. Thanks for helping. Enjoy it. Hey everyone, thanks for tuning into the Pie Bytes podcast. I really hope you enjoyed it. A quick message from me and Bob before you go to get the most out of your experience with Pie Bytes, including learning more Python, engaging with other developers, learning about our guests, discussing these podcast episodes, and much, much more. Please join our community at pybytes.circle.so. The link is on the screen if you're watching this on YouTube, and it's in the show notes for everyone else. When you join, make sure you introduce yourself, engage with myself and Bob, and the many other developers in the community. It's one of the greatest things you can do to expand your knowledge and reach and network as a Python developer. We'll see you in the next episode, and we will see you in the community.