Pybites Podcast

#105 - Jim Hodapp on coaching software engineers and the power of Rust

Julian Sequeira & Bob Belderbos

This week we have Jim Hodapp on our podcast.

We talk about his career journey going from software engineer + manager to full-time developer coach, some of the tactics he uses with his clients, and why coaching is a powerful tool for software engineers.

Then we pivot to a more technical discussion about Rust, his passion for the language, why it's an interesting language to consider, also for Python developers, and to his developer community Rust Never Sleeps.

We hope you enjoy this interview and that it inspires (and challenges) you to keep learning new things and expand your horizons.

Links:
- Jim's website
- Embedded Rust WiFi crate for RP2040 microcontrollers
- Rust web application to monitor home ambient air conditions
- Jim's coaching/Rust community
- Connect with Jim: Pybites / Twitter / LinkedIn
- Mentioned books: The Staff Engineer’s Path / Thich Nhat Hanh Essential Writings / The School of Life

And what's cool, right? You might say, well, Python does that, too. Or other high level languages do that, right? Welcome to 2023. Or maybe say, like, you know, I'm not saying it yet. No, I'm patiently waiting for the kinder feature. Go on, go on. But it does that with full speed. In fact, hello and welcome to the PY Bytes podcast, where we talk about Python career and mindset. We're your hosts. I'm Julian Sequeira. And I am Bob Baldebos. 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. Hello. Welcome back to the PY Bytes podcast. This is Bob Baldebos. And this week we have a very special guest. Jim Hodab and I talked with Jim about his career as a software engineer manager and his transition to a full time developer coach. We talk about his work, practical tips he uses with his clients to level up their skills, both technical and their soft skills. And then we pivot into a very other interesting topic, which is rust, the programming language, his passion for it, why it's great, why we should check it out, even as Python developers, and also the community he has built around it. So, without further ado, let's switch to the interview with Jim. Hope you enjoy it. You get a lot out of it, and take action. Discover new technologies, keep learning, and, yeah, enjoy. Jim Hodep, welcome to the show. How are you doing today? Doing well, Bob. Thanks very much. Really excited to be here. Thanks for having me on the show. Yeah, thanks for joining us today. And I'm really excited to have you on because your vast background in software coaching, Rust. So, yeah, we have some interesting questions lined up, and I'm going to learn quite a few things, especially on the rust side, I think. But also it will be very interesting as we're both coaching people with their developer and mindset skills. It will be very interesting to share our experiences with that. And, yeah, we got to know each other through Andy, Andrew McCloud, who was on episode 97 about mindfulness, if I remind the number correctly, and he introduced us. So if it wasn't for him, shout out to him, we wouldn't have known. So welcome to the show. Thank you. Yeah, he is. He's awesome. And maybe, first of all, for the audience. Yeah, maybe you can introduce yourself, what you do day to day, and get to know you a bit more. Sounds good. Yeah. So, currently work as a software coach, as you alluded to, software engineering coach. I'm Chicago, based in the United States. I know you've got a pretty international group here, so giving a little geographical frame of reference there. Yeah. And about just over a year and a half ago, I started my own business. Something I've always wanted to do, basically doing what I did my day job as a engineering manager director, but on my own. So, coaching engineers to be the best versions of themselves, both technically and in the soft skills, I find a lot of engineers, more on the more junior side, need more of the technical help. That's not to say that more senior folks don't as well, but then as they progress in their career, they need more of the how do I relate, how do I communicate, how do I influence in my organization? And so that's a little bit about what I do. And I take primarily individual clients at a time and work with them. I do work increasingly with some companies now as well, but primarily individuals. So that's interesting to anybody in my type of focus area, which we can get into a little bit more later. Let me know. We definitely will. Yeah. So interesting. And of course, my question is, what made you pivot from working for a company to starting your own business? Because as we all know, starting a business can be tough. And it's definitely a dedication. Yes. So, yeah. Tell me a bit about that transition and why you started your business. Yeah, so one is, it's been a dream of mine since I was 13. Been doing software for a long time. My dad got me started when I was ten, programming on Atari St. So I had a dream of, well, I realized programming first professionally, but I've always wanted to own my own business. And I reached a point about a year and a half ago, like I said, where I was unhappy working with, for who I was working with at the time. I'm not gonna name any names right now. Keep the innocent anonymous. I was unhappy in that role and facing a little bit of a career crisis, so I took some time to. To collect myself, to reflect, and I decided now's a great time. Right. I didn't have anything else lined up. I was kind of burned out. I took some time off, came up with the idea roughly at the time that I started that rest period, and just kind of eased into it. I started coaching some of the engineers that I knew from that company that I worked for last year on a free basis, just to try it and see if they would benefit from it. And it was increasingly a really big success. We all enjoyed it. So, yeah, so I basically ended up being able to get paid for what I used to do for another company, for myself. And it's formed and it's morphed into more of a formal business over time. Amazing. Yeah. I like that concept of starting small, even doing it for free, really testing out their deer and see if it sticks. Right. If there's a need for it. Exactly. If it resonates with people, market demand, and then that works. Cool. And then you start building it out. Same with us with PDM. We start very small. And I remember those first days was very scary and very novel, and now it has grown. But you can and probably should start in a very controlled, small way. Right? Oh, exactly. Those first weeks even. Well, the first sessions, maybe even smaller, were terrifying. Right. I was excited and terrified at the same time. Right. Like, there's so much self doubt, self consciousness, you know, how do I sound? Am I asking good questions? Am I giving too much advice? All those kinds of things. And then one of the hardest first hurdles is putting a price on your services of yourself. That is, as they say, come to Jesus moment. It is tough. Yeah, it's very scary. A lot of imposter syndrome, but usually that means that you're on the brink of some serious personal growth. Right, exactly. You always talk about that. Right. You have to move outside of your comfort zone to hit that next level. And it seems with the business and the work you do, you have hit that next level. So that must be feeling amazing. And I want to just dive in a bit into the actual work. So it's coaching clients one on one. You mentioned the soft skills, of course, technical skills also there. But I think in previous conversations we've had and pretty similar to what we find is that people usually come in for the tech stuff, but as you start to dive into the deeper issues, again, imposter syndrome and that kind of stuff, the soft skills are. I don't want this to be a leading question, but the soft skill is kind of very important. But, yeah, let me just leave it open and have you explain a little bit how the coaching works, why people need it, what are the typical results they get after working with you? And. Yeah, how is that experience? Yeah, indeed. So I approach things very personally, professionally, goal based in my coaching. So we start our work together with an assessment that I've written and it depends. So I not only work with individual engineers, but also managers and managers who manage engineering teams and then those who are leaders, technical leaders, but no direct reports. And so, like, depending on who you are. Right. I have a particular assessment for you and we start with that. There's a lot of questions, right, like, what motivates you? Why are you interested in the technology space? Trying to get at where and when you're most happy in your role, trying to get at, are you on the right path and understanding that? Right. So this assessment forms the basis for our first conversations, and we're trying to get to a list, a prioritized list of the top three growth goals and themes. And based on that, they could be technical, like, like you mentioned, but most of the time they're soft skills based. You know, I from, like, I want to work on being promoted and being aware of the skills that I need to work on, no matter what type they are to be promoted. I want to master, you know, leading my team as a technical lead and getting clear on what's involved with that. Right. Breaking those things down. And that's the nature of our work, is increasingly getting clear on what somebody wants for themselves. I'm a big believer in it being inwardly driven. So not so much what somebody else tells you you should become or you should be doing in your role as a programmer or leader, but what do you want for yourself? And if you don't know how to do that, then that's where we start. We start on helping you understand your own internal motivation. Types of results I've seen have been amazing. Some of them are very direct. So I helped one client in particular go from a job that he liked, but he was massively underpaid as an engineer. Switch companies. We found him a much better fit in the domain, in the technology that he's using and in the team. And he got a three x pay boost on his salary, which has changed his life. He's got a family, he's got some boys. And that really warmed my heart to see that those kind of results happen. It was all very natural, natural progression, and he did most of the work. Honestly, I was just there to support him, help him get clear, and then others. Right? Like, I've helped introduce a couple of engineers to rust, which I know we'll get to a little bit later, doing some web programming. They didn't know they were interested in rust and devices and embedded and IoT and all those types of topics. And so I introduced that to them, help them get started. Started with some sessions of, like, what is this? Right? And I start talking about the heap and the stack, and their eyes glaze over, and they're also interested in it at the same time. And so. And now those engineers are writing open source software that is part of my open source community where we're writing a wifi crate, which is, in rust terms, a library, a shared library to add Wi Fi to the raspberry PI pico through a daughter board, which is really cool. So the original Picos don't come with Wifi, so we're enabling Wi Fi on the Pico and they've never done this before. And so, like, we've gone through the technical know how of how to do this and now, you know, they could get a job as an embedded engineer if they wanted to now. Yeah. Amazing. So a few things I pick up from that is that awareness comes first. Right. The goal setting. Like sometimes they don't even know what they want until they go through that assessment, right. So people sometimes get in a rut and they keep doing the same thing over and over again and hence not getting much further. Right. So exactly what's also shout out to the coaching, right, like where that all comes together, that awareness being super aligned on the goals and focused and then really sitting alongside somebody seeing them implement and giving that feedback. Right. Yeah. Maybe you can talk a bit about that relation, how important that idea of working together is. Maybe do pair programming. I guess it's a lot of just coaching and talking, reviewing work indeed. But I think, and correct me if I'm wrong, but the soft skills executing towards a goal, especially if it's a longer term goal and it takes many months, takes a lot of grit and persistence. Right. And I think there it's where motivation also can start the way and Buster syndrome takes over. And with the coach, I think that keeps people then on track. Right. But you can talk a bit towards that. Indeed, yeah, yeah, exactly. I don't want to undersell the role that I play, but somebody, definitely a coach, he has to show up to do the work and they end up doing most of it because it's their life and their profession that we're talking about. Yes. My role I see as to reflect what they want for themselves. Right. So you said, you said this, that you want this for yourself and yet, you know, kind of accountability, you know, you're not putting any time into practicing that. So do you really want that for yourself or you say you want this, but I don't see any energy towards it. Right. So things like that are very powerful in coaching, all built on trust too. So somebody has to feel comfortable with me, that I have their best interest at heart, that I'm not there to shame them or make them feel even more imposter syndrome or inferior. Right. I have a lot of experience, but my experience or my role is not to just be like, look how great I am in my career and everything I've done. This is all available to you to learn from if you want it. And my experience will complement your career and where you want to go, and I'll use that to reflect what you want for yourself and hold you accountable. So, another example of that is, um. Um, you know, somebody. I find it very common that a lot of coaches will, uh, work on too many things in parallel, right. So they're like, I want to get and become the best software architect. I want to master contributing to an open source project. I want to learn rust. Oh, but don't forget about Python, too. You, you know, and all these different things, and be really effective at my day job. And so that's. That's something I'm big on, right. Is like I alluded to before, one to two, three at the max kind of goals or themes at a time, pacing yourself. And so I keep people accountable to that. All right. So that is very foundational to success in growing and effectiveness in coaching. Yeah. Awesome. I think the accountability is invaluable. We just send an email about shiny new object syndrome, and we all have that tendency to pick up new stuff and to spread ourselves too thin. And then when you work with a coach, you have to show up, but there's also milestones and you have to do the work, and it's just laser focused. I also like what you said about the tendency of, especially engineers. Right. To just show how it's done. Right. I mean, we like to code, and definitely in the early days of coaching, I had that tendency of write the code for them. Right. But then you're giving them a fish. Giving them the fish as opposed to teaching them how to fish. And the beauty of an effective coaching relation is that you can show the way, but they have to do it, they have to implement and find those answers by themselves with just that little structure or guidance that they might miss. And that would prevent them from doing it by themselves. Exactly. Yep. One small way, one small, tangible way that I help them practice, that is, each week. So I would quit, meet with my coaches weekly for 1 hour at a time over like Google Meet and that. So it's very much like this face to face, live conversational, but in the prep. So we have a shared Google Doc that we use for notes, and I'll put the template each time for the next session. But what I want each of my coachees to do is think about the thread of conversation, the thread of what we're working on together, and connect it week to week and put what are the most important things for this session today? Or what do I want to get out of this time together with me? And that's exactly what you were talking about. That is a really small but effective way of somebody, of a coachee, basically taking ownership, showing up, leading me to help them in the most effective way. Make it very deliberate and structured as well. Yeah, that's a great tip. Yeah, I might try that. We do it through the wins file. We have our clients update a win file every single week, and that's a way of accountability and also to keep them motivated because they can read back and then they can see all these things that they're achieving, and we use it ourselves as well. Right. Motivation is down. You can just go back to that archive and like, wow, I did all these things because we tend to forget. Right? Like. Yeah, exactly. For Merrill. So. Yeah. And lots of things going on day to day. Right. You forget. You know, I know we as coach think that the whole world revolves around our coaching and what we're doing, but people have complex lives doing many different things. And so you need those bookmarks, you need that thread of thinking and conversation, plus the ongoing imposition. Right. You have to constantly create that ammo against it. And the only way to do that is to document that proof, I guess. Exactly. Yeah. Cool. Yeah. Anything else you wanted to share on the coaching, or do you want to move on to the next? I think that's good. Yeah. Yeah. So shall we talk a bit about Rustin? Sounds great. I love it. It's one of those topics. Share your t shirt, my love language. Okay. We need to. We need to distill that. I mean, this is the way that my girlfriend had made for me, and it has a. I alluded to it before. I have an open source community for my coaching called Rust never sleeps. And it has the logo and that on the back. Anybody wants one of these t shirts, you know, just let me know. I'll send you one. Well, I started to read rust in action and already see some really clever stuff, so it might. Well, I will never. Great. Probably will never leave Python, that's for sure. But it can be a second language, not competing, but it seems clever, so it seems really cool. And I just wanted to dive into your community as well. But maybe we start with the language. What got you into rust? As I was reading in the book, it's well known for amazing performance and also for safety. So maybe those are two things you can highlight, but just overall, how did you start with, how did you end up with Rust? And what do you like about it? Why is it a cool language? It was unexpected, honestly, and the point at which I came upon it. So I had already heard the name. So I used to work at Canonical, the company behind Ubuntu Linux. And so I come across a ton of different open source software project names and languages. That company is famous for trying just about every language known to humanity. But we had not really done any rust yet there. But I had heard of it, and then I put it on the shelf and never really did anything with it. Didn't feel inspired, didn't know much about it. And then a colleague at my last place of employment before I started my business, he was another engineering director. He told me that he was messing around with Rust from a web based application perspective, looking at some web frameworks, rust based web frameworks, and at the time he thought they were all garbage. So he was experimenting with writing his own, which was like, hmm, that's not a small task at all. That's pretty intimidating. Yeah, indeed. But he started telling me about it and I was like, that sounds a lot like what I love about C. So I've done mostly CNC development for the better part of 20 plus years, and I've always been drawn to the raw performance of both those languages and the expressibility of both C, even more than c. C is like performant, but simple. C is performant and complex. Had, you know, a love hate relationship with them, though. So Russ comes along, my colleague, former colleague, tells me about it. It piques my interests. I start playing with it and immediately I'm falling in love with it, at least because of cargo. So cargo is basically the project slash package manager for Rust, equivalent to NPM or something like that. Or poetry for Python. Exactly. And it's an absolute pleasure to work with again, coming from c. C, not really having that built in. This was a game changer for me in productivity. One command, you're up with a rust project, ready to code, and it's compiling and you've got your dependency management and all that kind of thing, which is dependency management. Big deal is complex. But also you have that extra compilation step as opposed to Python. Right? So that also takes care of for you. Cargo build. Yep. Really simple. What was it about the language, you say, like the similarity, c. So maybe you can dive in a bit into that, because we're python developers mostly in this audience. So we're kind of spoiled in a sense. But also you have a lot of freedom. There's now type hints to give a bit of that strictness back, but it's still optional. So what was it about C that you saw in rust and that you said, like, wow, this is really cool, or this makes sense. This is robust, indeed. I started writing some embedded. Well, sorry, let me back up 1 second. I love devices. I love embedded programming in particular. So I have an electrical engineering degree along with computer science on purpose because I love devices. I love that intersection of hardware and software and the real world. And so other languages that purported to replace C. C I was not that happy with, like go, for example, still has a garbage collector, and I, that's a non starter for me when I'm talking about, you know, embedded programming, and, you know, it's much harder to do well, and it just feels overly bloated and cumbersome that you need for those devices. Okay. Yep. And different levels of complexity if you want to go bare metal. I haven't really explored explicitly using go on, like bare metal without an operating system, but it's not the same experience as C and Rust, which is basically, you compile down to a really tiny binary, there's no garbage collector, and that's it. You flash it on your device and it's running natively at full speed. Any kind of blip in performance is going to be just your code, nothing else, huh? Right. So nothing is getting in the way. You're not really fighting anything except your own creativity and expressiveness on the device. Rust does that so well. And so what really picked my interest about it was the same type of performance level as C C. And then that felt nice. So I wanted to explore that cargo, made it easier to get started. And then Rust is a very familiar syntax coming from C and C. It's not the same, but it's similar enough. So I felt pretty much at home. So I could write pretty naive rust at first, but I could write software that I was used to doing right out of the gate, have it run at full speed. But then what Rust added to it that really well, really makes me say Rust is my love language. Rust has a really good safety around memory usage. So it's got concepts that C really doesn't have by default, where when you're working with containers or bytes of whatever your data is in memory, it's pushing you towards using preset containers or things that have iterators by default. And what's cool, you might say well, python does that, too. Or other high level languages do that. Welcome to 2023. Or maybe say, like, you know, I'm not saying it yet. No, I'm patiently waiting for the killer feature. Go on, go on. But it does that with full speed, in fact. Right? So what's different than even c or C in rust? They're like, using index base iteration, or the pointer arithmetic that you're used to, like advancing, uh, memory address by memory address. Right. Byte by byte. That's really fast. And then iteration was a little bit slower. Many times, Rust, it's the opposite. So they've been able to make all these safe abstractions the same speed or even faster than, um. Than like, index space. Right. So the compiler and the linter will even tell you that. So if you, for example, implemented a loop going through collection with an index, especially if you didn't even need the index, if you didn't need I to reference in the array or something like that, it'll tell you you should use this type of loop and it'll actually tell you what to put there instead, and it'll end up being faster and more correct and safe. I've read this from multiple places. Rust solves 80% of the memory corruption and out of bounds issues that were prevalent in C and C at full speed without sacrificing any kind of performance. That, for me, that alone, I was like, C and C are generally dead to me now. Wow, that's amazing. It's kind of that Django web framework for developers with deadlines kind of a saying, always remember. And this is kind of also a key line that's like, wow, that's, that's kind of a no brainer, that, that, that really sounds good. Indeed. As a still stitch, just as easy. Yeah. And it's just as easy to write your. The software, the same software that you're writing in CNC on devices or for big systems, or, you know, you can write anything, web based systems from the very big to the very small, or you can even write Linux kernel modules in it officially now, and even parts of the kernel, they're switching over to rust progressively. You can do the same thing, but in a much more productive and safe way. And to me, that is worth. I'm not going to say that I'm never going to write CRC again, probably in a legacy capacity, or if a client wants to work on it with me, I'm happy to, but Rust is the future, definitely. So when you say save types of systems. Yeah. Right. So if you say safe that's all to do with memory management, pointers and stuff, where in C you're kind of left to your own devices and you have just a bigger chance of messing it up. And if I understand you correctly, then Rust has the same mechanics for performance, but gives the developer better abstractions, easier to use, more hints and stuff, so you don't mess it up. So you get best of both. You do, you don't sacrifice performance. Something I was used to in memory limited embedded devices was saying, like, okay, I gotta go easy on writing c classes here, or really complex objects that use a lot of memory. And rust, the official phrase is zero cost abstractions. There's no penalty. Use the full language. You don't have access to the standard library when you're in embedded and they re export and re implement things. It's stack based only as opposed to on the heap. But outside of that, you have access to literally everything without fear or without guilt that you might be chewing through your memory. Amazing. And what a performance. Because I was listening to the rough episode on Talk Python. Rough is a new linter for Python written in Rust. And Michael Kenney was saying he ran that tool on his codebase of 20,000 lines or so, and it just came back like he was surprised, like it was already complete. It was instant for that amount of code. There's something really interesting happening there. And I think pydentic, that library, heavily used in the Python space, and Fastapi, I don't know the metrics, but there was some point that it had adapted rust for some things, and there was just not like a three x performance, not a ten x, but like 100 x performance game. It just, this blows your way, right? It's like, is that even possible? They must be doing something really smart. And yeah, amazing. I was reading some of the comments on the rough website and so many people were like, it's so fast, I had to double check that it was actually applied and running my project, and I cannot speak to the syntax yet. Starting to read up on it. But of course, Python is very readable and very pseudo language English. Like, we are here with a Python audience, obviously. So what would you recommend Python developers? When would you, well, I guess, when would you learn rust? That's kind of, you already mentioned the performance and embedded devices where you kind of need such a solution, but maybe some general tips if they would be interested in checking it out. What are some potential difficulties and tips for learning it? Sure. Reflecting on the when should somebody learn it first? A little bit. Coming from Python, I think one, if you're curious, do you want to, if you've never worked with a language with ultra high performance and it piques your interest, experiment with a little bit. It's not that hard to get started writing really simple rust programs. Syntax is a bit different from Python, but you won't feel completely like it's foreign, it's familiar enough. Exactly. Concepts overlap, you know, there's only certain number of ways to reinvent the wheel and things, and Russ doesn't necessarily try to do that, just tries to do things a little bit better for its goals, the problems it's trying to solve. So that's really easy. So, you know, do some experiments, write some simple rest programs, try it out, you know, do the verbal hello world, and then try and expand a little bit from there. Maybe not go for device level embedded programming if you've never done that from the start, start on your local machine, writing a command line application or something like that, and go from there. But quickly realize that rust has a steep learning curve and that comes from more the advanced, um, abstractions of things. So when you start wanting to get into the equivalent of describing objects or collections or iterating over that or sharing things in common across threads or something like that, right. The, how you express that in rust can, can feel a little intimidating at first. Um, will give you a few headaches. So, uh, had. Have your, uh, ibuprofen nearby for a little bit. Um, but it's worth it. So I've routinely felt like, uh, as I've progressed in rust and I've struggled through these things, um, done a little, shed a few tears, too, right. I felt like it's made me a better developer. Right. So, like, if I went back and wrote c, I would do it differently. I would try and emulate what Rust is doing, and that is part of why I absolutely love it and absolutely recommend it. It is making everybody I've seen work with it a better developer. Whether they come from Ruby or they come from Python or they come from C, it makes you better because I guess it makes you conscious of the hardware, the performance, how cpu memory works with the scripting language. It's so abstract that you might not really have to care or worry about it. So it introduces you a bit more to computing overall as well. Right. It does like coming from Python. The developer may not be familiar with the difference between what I said before the stack versus the heap. And in rust, I don't want to go so far as to say that you have to but you're going to run into it probably. It depends on what you're building, but stuff like that. You'll have to start to understand a little bit of the computer architecture and what you're doing. And that's on purpose. That's how it gets some correctness, because it's trying to get you to think in those terms in a little bit more of a guided way than C or C did. Yeah, makes sense. Cool. Yeah. And then lastly on the rust, unless you wanted to share something more about the technical details, but you also have a community right around learning rust, so maybe you want to share a bit about that. Sure, I'd love to. Yeah. As I said before, it's called rust never sleeps. Community member came up with that name, kind of a variation on, I think it was a UK based band. And. Yeah, it's wonderful. We work on open source software together of two main focuses, so devices embedded type rust focus and learning that. And so working with some hardware, I'd hold up my board, except the. The debugger is attached to it, so there's a lot of wires coming off of it. But like I said, the main focus there right now is trying to add a crate that adds Wi Fi to the Raspberry PI pico, which was Raspberry PI's first embedded board. Crate was a package. Right, exactly. Rust library. Yep, yep. So you would use this crate in your own embedded application if you want wifi. So if you want your application to do more than just run on that tiny little computer and not with the outside world, you would use our cre. And then the other part is actually came out of a pandemic, early pandemic project of mine, to learn elixir, another language. So I live in a high rise and it's very dry, very dry, ambient humidity in that I want to understand that better and track it and the temperature and some things like that. So I wrote a web application that monitors that, and it actually pairs with an embedded application, reading live sensor values and sending it over to the web back end. So we're working on basically an expansive view of that project that I did using web based frameworks in rust, trying to evaluate them and see which are the best ones, form opinions on that, and create a real project that you can use in each of our homes in that, and don't know where it's going to go, but maybe it'll turn into a full blown project that people even outside of our community find useful. That's the dream there. But in the community yeah, we meet weekly. We have a live programming session. We work asynchronously, too, just like many other open source projects. You can come in and we've got people at all different stages of learning rust from the very beginning. They've never touched it to, you know, worked with it now for a year and a half or so. And so, you know, it's really a perfect environment for trying it out. And if you want support, if you want to ask questions about Rust, if you're curious about learning embedded programming, it's a great community to be a part of. If you're curious to see if Rust is a good choice for web application or not, it's also a good place for you. So that's a little bit about it. Yeah. Awesome. And we'll definitely want to link that below so people can check it out. And especially if people take away from this episode that they want to learn a little rust, that could be a nice place to go check out. Indeed. I think somebody learning rust, if they're serious about it, is going to need support, is going to need a community. So don't be shy, you know, come, come join us and be happy to help you out and hold you when you get to those inevitable points where you just want to cry and you don't know what to do. Well, yeah, communities, we'll make sure you keep, sorry, communities are invaluable. Yeah. For it can be a tough, hard journey to go by yourself. Right. So doing this. Exactly. And then also the project based learning, we're big on that as well. Right. So you have to keep it practical. Yeah, yeah. Yes, indeed. Yeah. So come join us if that sounds interesting at all. Yeah. As Bob said, the link will be available. Totally cool. So lastly, what are you reading? Oh, I'm reading a bunch of stuff. One is this book I have next to me I'm going through with some of my clients called the staff engineers path. So several clients who are currently senior engineers looking to become staff level engineers. And that book is phenomenal for guiding through those largely undefined and uncharted waters. I've learned a lot from it. I'm also reading a really good book, totally different from Ty, the buddhist monk, thich nhat Khan, his essential writings. So I think similar to what you're interested in, Bob, philosophy and living a good life. That's my interest in that book, and it's honestly, it is really improving my life in many expected and unexpected ways. Nice, because awareness, reflection and all that, right? Yeah. Yep. It focuses a lot on mindfulness topic I explored with Andrew on previous episode. Yep. And mindfulness and really being aware of being present, being aware of who you're talking to, who they are, how you're feeling. A lot of themes that I bring into my coaching with my clients. It's really, really important to getting the most out of your one life that you have. Yeah, that's awesome. On that similar note, I'm reading the school of life and then the baton. Oh, he's awesome. I love that. I haven't read that book, but I. I love that author. You're familiar with that one, right? Yeah, yeah. A lot of his YouTube videos. School of life. That's awesome. Yeah. I didn't know that there were videos associated, but yeah, I'm not taking notes, but I'm just reading it for the awareness and empathy, the emotional side, soft skills and just the general transformation. Right. And it just makes you think. And as you said, right, that awareness, I think it's important, especially these days where, you know, running a business or life in general can just be hectic. So you kind of need to step back and see things in perspective. Yeah, indeed. Well, awesome. Great books. More to the never ending reading list. Yeah, those are the questions I had. Thanks so much for sharing. Very interesting. Both the coaching side as a quick intro to rust. I really appreciate that. Hope our audience is going to check that out as well, especially with the latest developments, what it's doing in the python space with the new tooling and any final shout out. And where can people connect with you? Yeah, people connect with me on my website, jimhodapcoaching.com. I'm sure you'll put that link in there. If you don't know how to spell my last name, that's the best place to reach me. You can actually book time easily half hour with me right off that website. An easy link there. I'm contemplating getting off Twitter, but while I'm on it, you can reach me also on Twitter at jhodap. So jhodapp. And those are the primary two places. Yeah, please do reach out. And I guess if you want to join the community too, that's another way to reach me. So when you go through the sign up process, I don't have it wide open to just join for anybody. It's a little bit of a community terms of agreement, just to go through real quick and you give me your info and connect, and then you can connect with me on. On slack. Perfect. Yeah. And if not already, I'm not sure if you're in our python py bytes slack. But if you you're always welcome to join there and people then can also jump there straight away. Yeah, I've. Thanks for the reminder, actually. I've actually been meaning to join, so I'm going to do that. So. Yes, find me there soon. Awesome. Yeah. For the twitter. Maybe you can check out Mastodon. A lot of people move to that platform, so. Indeed, indeed. I've heard a lot about it. All right, well, everybody reach out if you have feedback or want to just talk. Rust, thanks again for sharing all this great stuff. Great catching up, and likewise. Yeah, have a, have a great rest of your day. Thank you, Bob. Thanks so much for having me on. This has been just an absolute pleasure. Same here. Thanks. We hope you enjoyed this episode. To hear more from us, go to Pibyte friends, that is Pibit es friends, and receive a free gift just for being a friend of the show. And to join our thriving slack community of python programmers, go to Pibytes community. That's pibit es forward slash community. We hope to see you there and catch you in the next episode.