Pybites Podcast

#116 - From 0 to 1 in Python: how Charles shipped his Fusion Chronicles Django app

Julian Sequeira & Bob Belderbos

In this insightful conversation with software developer, PDM-er, and entrepreneur Charles Carriere, we delve into his journey of launching personal projects, overcoming imposter syndrome, and mastering Python.

He shares his experience of creating a Django app in our PDM program around fusion energy, aggregating and summarizing (using AI!) articles, and his future plan of creating a job board on the site as well. Super cool!

He emphasizes the importance of launching projects, big or small, to truly understand what you're doing and to learn from each challenge.

He also discusses his experience with ChatGPT and how it has proved to be a beneficial tool in his coding process.

Finally, the conversation also covers the significance of working with a coach for accountability and key insights. It provided Charles with crucial guidance, focus, and structure to bring his project to completion and properly develop software.

Last but not least we talk about the invaluable mindset side of things.

We hope you enjoy this rich conversation with Charles.

Links:
- Charles' Twitter
- Aggregator site / project: Fusion Chronicles
- He is also in our Pybites community Slack
- Check out our PDM program

Mentioned books:
- Influence
- Agency
- Ryan Holiday's books, for example Obstacle is the Way
Neal Stephenson books:
- Termination shock
- Snow crash
- Cryptonomicon
- Walter Isaacson bios (Elon Musk bio is coming out ...)

Thanks for listening / watching and we'll be back next week ...

I have built so many things with tutorials. I'll follow it like, oh, this is cool, and I'll tweak this and I'll tweak that. But you really don't know, like, what you're doing until you've solved a problem that is meaningful to you. Hello and welcome to the Pibytes 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 a mindset for success, this is the podcast for you. Let's get started. Hello and welcome back to the Pibytes podcast. It's a very special episode. I'm Bob Eldebos, and I'm here with Charles Carriere. Charles, how are you doing? I'm great. Nice to see you, Bob. Yeah, it's great to have you here. So for the audience, Charles is a Python developer currently in a PDM program, and he's also an entrepreneur. So I think we have quite a few things to digest and to dive into. But, yeah, first of all, how are you doing today? I'm feeling good. It's a good morning here in new Orleans. New Orleans. You are, right? Yeah. So it's my afternoons, your morning, and. Yeah, let's get started. So, got a couple of questions. Seven or so. Yeah. And yeah, again, we're going to talk about your coding journey, your PDM journey, and entrepreneurship. So to kick it off, then, how did you get into coding and python? You know, I got into coding really as a hobby. And looking back on it, it's. I've really. I've actually been doing this for. I guess, to me it's a long time. So in my previous career in finance, I signed up for a data camp, data camp courses doing data analysis and machine learning, just because I was interested in it. And that was probably in 2016 or so. In 2017, I left my career in finance, where I'd spent 20 plus years and spent six months as an apprentice at a local software development shop. My goal was to learn software, to learn how to program, because I'd always been fascinated with it, really enjoyed it when I've tinkered around with it. Life job. Four kids got in the way this shop was. They were in elixir and react shop. And while I thought elixir was really cool, I really didn't like JavaScript because there were always about six different ways to do the exact same thing, which really frustrated me. But anyway, I ended up going there to learn how to code and ended up being a product manager for a large oil and gas project because I had domain expertise in it. So it taught me a ton about project scoping, agile development, managing sprints. And I say that I really still lean on those skills. When I write software, I can write a good given when then ticket, and when I'm stuck on a big problem, I'll revert back to that, to just break it up into smaller pieces. But I've also played around with various raspberry PI projects using circuit Python, which I have a good time with. But it was really a hobby for about six or eight years. And then in the last couple of years I've really tried to lean into it, especially with the PDM program. Awesome. Yeah, we'll touch upon that. More specifically what you're working on. So, funny enough, you're also coming from a finance background. That's also what I originally studied. So what was it about coding that really excited you, that you made that pivot? And what still excites you to this day? You know, what I have discovered is that when I'm working on a problem in code, I can lose myself for however long it takes, a couple hours, two or 3 hours. And then when I come up from it, I'm not drained, I'm really energized. So I think there's something about the problem solving, you know, even sort of the, you know, getting your hands, you know, exercising your hands on the keyboard, it just, for whatever reason, I feel like it's, you know, it's kind of a game with, you know, enough rules to keep you focused, but not so many that it forces you down a certain path. And for whatever reason, I just, I really, really enjoy it. Nice. I like the analogy of a game. Yeah. And also it's almost meditative. Right. The experience, you can be completely absorbed, and it's kind of a nice balance of, I guess, problem solving, but not painful. Right. So. Yeah, exactly. Exactly. And, you know, the. I think that there's, you know, I know early on when I'd have a problem, I couldn't figure it out. It was just so, so frustrating. And it, you know, I'd back away for, you know, weeks at a time on something. But I think, as you understand that, this is part of the process. Like, this is, this is what everybody goes through, and you've just got to push through it. And if one path isn't working, try another one, but don't stop trying. Yeah. Yeah. There's also a lot of creativity in that and persistence and mindset. We'll get into that. But, yeah, before going into PDM and what you're actually building, also want to just ask you about entrepreneurship because you're an entrepreneur at heart. Yes. And. Which might make sense, right, coming from a business background. But, yeah, maybe you can also share a bit what you've been building on the side, even before PDM and what you're currently doing and how that experience has shaped you. Yeah, well, I've learned probably too many lessons to list here. Some of them really painful, some of them joyful. But I started a software company, Scandi, in 2014. I knew nothing about coding. A friend of mine said, somebody should start this business, and if they did, I would buy it, because he was working for a 3d printing company at the time. And I said, sure, why not? It can't be that hard. Little did I know, as I said, I knew nothing about coding. But I had a great co founder. He's become a dear, dear friend, and he's absolutely fearless. He's got incredible talents, but he had a mindset that he could build anything. It's just code. So I think that was a really important lesson that I got. It became one of Scandi's core values. With enough money and attention, anything is possible. I think the other thing that really helped me out, that Scandi probably, we could have done better in a number of different, uh, areas that I applied to. What I'm doing now is the need for focus. When you start something, there is a temptation to, to really do it all. Um, you know, you can have this idea for, oh, I'm going to build this thing and it's going to do, you know, ABCD. And you, you list all the things that you can do. You want to capture the whole market. But I think the, the real key is to not boil the ocean or not try to boil the ocean. Focus on getting one thing right, serving one key customer. So, yeah, so those were kind of the big lessons that I've. The big couple of the big takeaways from starting a software business. Yeah. So don't just guess right. Do your homework, look at what the market wants and needs, and start work backwards from a real demand, I guess, right? Yeah. But look, I will admit that I like building the thing, right? So if somebody tells me, don't build anything, go do the market research first, I feel one way to do it is to build the smallest thing that somebody can use and then go out and show it to the world and do the research. That way. I think there's a balance. I mean, I know there's the, I know there's the thought process that you do research before you build anything, but if research isn't your jam, I mean, I think there's got to be some joy in it. If you want to build the thing, build the thing for the sake of building. Yeah. Because if you only research in the market, that's also kind of a form of paralysis by analysis so that you just build those things. Also, on a hunch, I find it cool. I see some need, but I don't have it very clear. But I just start building. And even if it's just for my portfolio, my GitHub, or just a learning experience, that's fine, too. And sometimes you are lucky and you hit it bigger because you find people that want to consume your stuff, right? That's right. Yeah. And I was going to ask you something else. Yeah. You also mentioned there's definitely some confidence with this whole entrepreneurship as well. Right. From your previous answer, I heard a little bit of, like, you have to kind of fake it before you make it. Oh, yeah. No, there's no confidence here. I'm, you know, I'm terrified all the time and worried all the time. But, you know, I think this goes back to something that, you know, I think is important to, you know, if we're, if we're going to jump into mindset, it's always that the key understanding is you're always going to feel uncomfortable. Your stuff's never going to feel good enough. You know, you've got it. You've just got to push through it. You're either going to be uncomfortable about, am I solving this problem the right way? Is anybody going to like it? You know, you've got to launch when the product, you know, you know, in your heart of hearts, man, this could be so much better. So, you know, I think that the, it's, it's less confidence and more an understanding that, um, you know, just, you better enjoy being uncomfortable. You better embrace the suck. That's awesome. Yeah. And acceptance almost, right? Like, you have to come to peace with that fact that the only comfort you're going to have is being uncomfortable. I mean, looks really weird, but it's. The reality is that you're going to be uncomfortable with different things. Right. I mean, you know, what I'm uncomfortable with now is going to. The problems that I'm facing now are going to seem really trivial six months from now. The idea that I don't have any tests written in this code yet because I've never written a test yet. That's not going to be an issue until I have 1000 users coming to the website a day and I've got this big old database and I don't have any tests to make sure that the database is in the right spot. That doesn't make sense to be. I can be uncomfortable about it now, but it doesn't have any meaning. Right? If it all fell apart today, nobody would care. Six months from now, I hope I have a lot of users and I hope then I'll be really sweating the test issue. Does that make sense? Makes sense in the sense that worry only on the things that really matter at this moment. And definitely us software engineers get very trapped in that premature optimization thing. But that's actually going to increase your imposter syndrome will prevent you from launching anything. And then just. I think that then just exacerbates the thing. Right? Yeah. Awesome. Okay, so we can talk mindset till the cows come home, Julian likes to say. And we would be if he was here, but let's, let's bring it back to actual what you're building. So you are on PDF now I think for eight, nine weeks already. So you're getting to the end. You've been working on some really cool stuff, so maybe you want to share what that is and what you've learned and. Yeah, what's that doing for you? Yeah, so I knew I had to launch something and I wanted to be something that I was super interested in. So I'm kind of a science nerd, science geek. I've spent my career in finance around traditional hydrocarbon energy and I read a book about a year ago around fusion energy and really just got super excited about it. I thought it was really interesting. And then late last year they achieved ignition for the first time where a fusion reaction generated more energy output than was put in. And so I just decided this is something I'm interested in. So I created a Django app around fusion energy. So it's a simple blog. I'm aggregating articles, I'm using AI to summarize those articles and put them on a site. And I'll be creating a job board as well on the site. So that at some point I'll just scraping the web right now and posting those jobs. And then at some point we'll potentially, if we get enough traffic, we can allow folks to either advertise or post their own jobs natively there. But those are the plans for it. My PDM coach was awesome on it. The site was originally going to be an aggregator for a bunch of different technologies. Shiny object syndrome. I'm very distracted. So I also think quantum computing is phenomenally interesting. And so it was going to be sort of, originally it was a site to aggregate a bunch of stuff. And then I did a step back and chatted with Michael on it. It's like, let's make one site smaller. You know, fewer things, just get that out. And so that's, that's what I'm doing. Had you, did you have to limit the scope as compared to when you, you come in? Did you very surprised, like what you have now out there versus what you had imagined when you joined? Yeah, so I think it's, it's a lot simpler than it was when I joined. That being said, I know that it's a lot more manageable, at least right now, than what I had. I like the features that I've built in it better than I did originally because I didn't necessarily think job board in this industry initially. I didn't think AI, to summarize articles when I signed up for this, I would say that. And that was another thing that I learned is you might have to start over three or four times before you get it right. Like I think I was working on, I think a custom user model that was just giving me all sorts of problems. And you never like to start over, but sometimes that's the best thing. And look, it's not like you've wasted a ton of money on materials. It's not like you've half built a house. And that's a beautiful thing about software. Just start over, it's okay. Exactly. Yeah, yeah. Like no raw materials, you literally wasting, this is software at most your time. But then if you do it again, you come with that pre knowledge and you just build it three to five times faster because. Exactly. And, you know, I feel like those reps, like, you know, just, you know, just creating a new Python project, creating a new, you know, creating a different app. Go ahead and stand up the database again. It's, you know, it's reps in the gym. It's going to make you stronger, it's going to make you better. If you're going to be a python developer, how many times are you going to do this? Don't feel like I've already done that three times. I don't need to do it again. Well, yeah, you do. Talking about repetition and automation. So the summarizing, you use GPT, right, chat API. I think you also adopted chat GPT quite a bit for your coding. Right. You want to go back? Yeah, it's been where I used to use stack overflow. This would be. I use chat GPT now. So I paid the $20 a month for Chad chpt four. I think it's some of the best money I've ever spent, and I really have. I also have copilot in versus code. I know you're more of a vim guy, but I will admit that's a. I love the idea of vim, but I will get you on vim, don't worry. That's when we have this conversation. I've tried so many times, and it's sort of like, okay, now I've got to get. Stop practicing. Now I've got to get to work, and I open versus code. Yeah, it's hard to, especially with. With a python developer setup to change that. Anyway, that's another discussion. Okay, cool. And that's the main product you come out of PDM with. Right? Or have you have another one as well? Oh, I've got so many more ideas that I want to do. So I live in an area in New Orleans where we have. We have a train. There are, like, four or five train crossings right around my house. It's the same train, and sometimes it'll be stuck. Sometimes it's moving slow. You don't. And, you know, you don't want to. You never want to try and beat a train because you always lose. Right. But so, you know, the. Of course, the. The parish has been working on an app, I think, for two years, so that people can check in and see when the train is coming. So. Which is kind of, you know, ridiculous that it's taken that long to. But. So one of the things that, uh, I plan to work on next is to just. Just solve a problem locally, right? Is to just take a raspberry PI, put a camera on it, use OpenCV to identify, is there a train here? Is there not a train here? And how fast is it moving? So how, like, you know, and what direction? And. And so to be able to, you know, have a simple app where people can go there and say, you know, is a train coming? How fast is it moving? How long is it likely to be blocked? So, anyway, we'll see. If I ended up building that, I think it's a problem that I know that I can solve that'll impact however many thousands of people that live in this area, and we'll see if I can hack together a raspberry PI with some solar panels. And batteries that, you know, can just stay outside in the weather and let people know when trains are coming. So that's awesome. When you built that, we definitely want to have you back and tell us about it. I'd love to. So, yeah, awesome. Yeah. I got a few more questions, or did you want to say anything else about PDM, how it's helping you tackle those problems more efficiently? Yeah. So I think that the benefit to PDM is I didn't realize how profound launching something of my own was going to impact my engagement because I've built so many things with tutorials I followed, like, oh, this is cool, and I'll tweak this and I'll tweak that. But you really don't know. You really don't know, like, what youre doing until youve solved a problem that is meaningful to you. I fought with Markdown for like, I dont know, two days trying to get markdown to work well on my app. I never would have done that before, but this was like, wait, this has got to work. And I was uninstalling and reinstalling Markdown libraries and trying to understand why the heck wasnt wasn't the bold type coming up, italics is working fine, but bold wasn't. And finally realized that it was basically that one of the fonts that I had selected didn't have bold. And that never happens in the tutorial. Right, right. And the other one that wasn't working, I hadn't downloaded it. And so I thought the problem was in the markdown was in the Markdown library, and the Markdown library was working fine. But if I hadn't launched this thing, I never would have learned that. And that is one of those little pieces of knowledge that never would have, because it hadn't bitten me on the ass. I never had a reason to learn it. And I think that what's great about the PDM program is that it forces you to launch your app, your thing. And the other thing that's key is I think having that accountability coach a tutorial doesn't care whether you finish it or not. But if you have somebody and chat GPT, for that matter, well, I mean, that's correct. And chat, look, chat GPT is great. What it allows me to do is to focus on the really big problems that are really intractable with my coach, as opposed to having like eight to ten little things that I'm stuck on. So the problems that I feel like the conversations that we have are much more around the idea of how we structure this and what the approach should be as opposed to. Let me help you figure out this one little detail. And Michael's willing to do that. He's fine going down the rabbit hole and he's great at it. But what I really feel like it's the iterative process with getting an error, trying to fix it, going to chat, GPT, searching on the web, all that. Just, let's face it, we're all building our own large language models in our heads. Yeah, nice. That's how we think about it now. Yeah, awesome. No, great. Thanks for sharing that because, yeah, that's really true. Like with a coach, the accountability, but also the bigger conversations, the how to structure project design patterns, debugging. So sometimes you do have to go down that rabbit hole, but overall it's also about that zero to one, right, get something launched. And that's very difficult for people, especially when you only do tutorials. Okay, cool. So maybe the questions I had remaining are a bit overlapping because we did already discuss a lot. So thanks for sharing already so much. But, yeah, tips for starting or seasoned developers, entrepreneurs. I feel you mentioned already some really good stuff, but maybe have one more and really, like, I need to get that out there. Yeah. So I would just say start small and launch. It kind of doesn't matter what you launch. Assume that you're going to have a lot of at bats and not just one, you know, if you think, oh, I'm launching my one big thing. I don't hate ambition, but I feel like a lot of times that gets in the way and that can contribute to it. Whereas if you say, I'm going to launch six projects in the next six months, you're probably going to have more success because I think there's definitely an element of you want more at bats to see what sticks. So I would say put it out there. Yeah. Especially when you're starting out and you don't really know what you want yet, then having many smaller projects is a good way also for yourself to kind of filter out what you really like and don't like. Yeah, awesome. Yeah. Then the mindset question already touched upon that, but it's kind of an obvious question in a sense. How important is mentioned in all this I hope people get from now it's pretty important, but of course we want to hear your take on it, Jeff. No, it's, it's massively. And that, and that was the, you know, as we were, I was always walking through this and, you know, you're, you're always going to have this idea that it's, it's like that hedonic adaptation. Right. That, you know, if I just had a million dollars, I'd be happy. If I just had, you know, and you have a million dollars, and you're just as miserable as you were before. I feel like the, you know, the, the understanding that you are going to be uncomfortable if you're on this journey and just, you know, like, doesn't mean you're miserable. It just means that, you know, understanding that, you know, you are constantly going to have to work through, work through issues, work through problems, work through things that you're stuck on, working through the feeling that what you've got isn't good enough, that's always going to be there. So you might as well get comfortable with pushing through that. Yeah. Obstacles the way. Right. Like Ryan holidays. Totally. Yeah, no, I've, I've, I've read all of them. I love them. It's, uh, Ryan holidays stuff, you mean? Yeah, yeah, yeah. Discipline is a good one as well. Uh, talking about books, what are you reading? So right now, everything I can about nuclear fusion. Um, I'm in the middle of reading persuasion by Robert Cialdini. Classic. Yeah. Yeah. I'm a huge fan of Neal Stephenson and William Gibson for fiction. You mentioned Ryan Holliday, so I read all of his stuff. And then also Michael Lewis and Walter Isaacson for nonfiction, both writers who grew up in New Orleans. So. Nice. And do you have a specific title for the letter? Well, so I guess Neal Stephenson, the one that I just did, his most recent one was termination shock, and the agency is the most recent William Gibson book, which I loved. I'm looking forward to Walter Isaacson's. He's coming out with a biography of Elon Musk, I think, in September. So I just pre ordered that. So. Yeah, so always, people always end up buying more books from our podcast. Oh, look, that's one of my, I need to stop because I'm surrounded by bookshelves and I'm literally running out of space. But that's one of the things where I would never not buy a book. Right. I never save on books. Exactly. Yeah. Walter Isaacson, the biographies. Steve Jobs. Great one as well. And I yet have to read Benjamin Franklin, but all his bias are great. But for Stevenson's fiction, snow Crash. Is that one of his most popular books? Is that a good starter, or would you start with the ones you mentioned? They are independent, right? I think you can jump into any of them because they're all pretty much standalone novels. I mean, I loved crypto Nomicon. Know, that was the. That was the first one that kind of really got me into it. So if you're a. If you're a hacker, probably, you know, snow crash and cryptonomicon, so. Okay. Good to know. And I forgot to ask before with what did you say? Fusion, nuclear fusion. You got it from a book, but just. You, did you just learned it from a book or did you have prior exposure to that as well? No, it just. I read. I guess I read a review for a company for a book called where is it? It's the Star Builders by Arthur Terrell. It's sort of like just a survey on various companies and approaches in the nuclear fusion field. So I'd read the book and started researching it and then saw the news from the national ignition facility that came out in December that they'd actually achieved it. So all of a sudden, this cool science fiction thing, it might be possible at some point. I mean, we've known that fusion. Getting a lot of energy from fusion is possible because you look at the sun, we know that it works. And we've had some fission fusion reactions, so we know that there's a lot of energy to be had there anyway. And I think that it also is driven from my desire to see us solve the problem of climate change using more about technology and abundance than telling everybody that they can't use their ac or drive cars or stuff like that. I feel like that's a. That's a better message that's more likely to be achieved than telling everybody that they need to get by with less. Although we may have to, but I prefer to solve it in a way that generates abundance. Yeah. Interesting. Yeah. Thanks for that extra perspective. Finally, any final shout out and where can people find you? Where can people connect with you? So the only social media place that I'm active on is Twitter at carrier four. I'll link that. Go by the website fusionchronicles.com. If you're interested in fusion, sign up for the newsletter. I'm going to start pushing that out. Not too much, probably once a month, once every two weeks, until I get some more momentum. But we'd love to have people check out the site. Yeah. That's your aggregator, the project that's live online. People can sign up. Right. Or just subscribe. Yeah. And, you know, who knows? In three or four months, if you're driving through Metairie, Louisiana, you can, you know, maybe there'll be a train app that will tell you how long a train is going to be blocking your path. You just keep building and going. Awesome. Yeah. You know. Yeah, I enjoy. Well, I pretty much enjoyed this conversation and thanks for sharing. And yeah, we definitely, I feel we're going to get you back with more stories in progress, I think. So as you keep up that coding vibe. I hope so. Thanks so much. Yeah, thank you and have a great day. You too. We hope you enjoyed this episode. To hear more from us, go to pibytes.com. 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 community. We hope to see you there and catch you in the next episode.