What does mastery in Django really feel like? We discuss our learning journeys, what’s different after years of experience, how to ask for help, and why coding is a zen experience.
Will Vincent 0:05
Hello, and welcome to another episode of Django chat, a weekly podcast on the Django web framework. I'm Will Vincent joined as always by Carlton Gibson. Hello, Carlton.
Carlton Gibson 0:13
Hello, how are you?
Will Vincent 0:15
I'm good. And this week, we're gonna try something different. I thought we could talk about how it feels to be a Django expert, or at least to be perceived as a Django expert. Because you and I, both with our various hats are looked to by some folks as knowing what Django is all about. And I thought we could talk about the reality of what that feels like to give beginners a sense of where this all leads and maybe fellow experts who don't feel like experts. Maybe they'll agree with some of the points. Yeah, because that's the that's the biggest bit right is fellow experts don't feel like experts. It's like there's two, two sides of it. One is when you talk about begins, I remember being a Django beginner looking up to people who were like, you know, maintaining the framework, and they would superheroes again. Yeah, and you know, years later suddenly found myself in the role of Django fellow and I maintain the framework and I'm but I don't feel like superior
Carlton Gibson 1:03
at all. I feel like I don't want doing 90%.
Will Vincent 1:07
Right. Well, and it's, and I think it's so there's two things I think one is programming is just not a field where you ever feel like you have mastery, it's not. And there are a lot of fields that are where you're doing, you know, I don't know Jiro making sushi, right, after five years of making the same, you know, rice every day, he can have a high degree of confidence. He knows what's going on. But programming is just not a field like that. It's infinitely complex. And the more you know, the more you realize what you don't know. So it's, this is the you know, the imposter syndrome is you don't you don't spend time on what you know, because you can just automate it. So it's not even a surgeon, you know, a surgeon. I'm in Boston, a number of my friends are surgeons. Surgery does change quite a bit. But you're doing the same procedure eight times a day for 20 years. You know, you get a hide, I mean, surgeons are confident and you say cocky, because they're doing the same thing again and again and again. There's that joke. What's the difference between Gordon the surgeon go No,
Carlton Gibson 2:01
no, it was a surgeon. Yeah.
Will Vincent 2:05
Yeah. Well, law joins me about the medical profession. But yeah. But so program is just not one of those fields. I would say the and I this comes to mind because I'm increasingly asked questions by people who, in some cases, I think know more about Django than I do. And yet, they're looking to me as an expert on Django, and I do know some stuff, but I'm highly aware of all the things I don't know, in part because I'm, I get a lot of great questions. And so I thought we could talk about maybe let's like, what, how did that journey from beginner to where we are now and then we can talk about how it feels now because I think it's it's more that I, I know what I know what I don't know, but I also have the confidence and the scar tissue to be like, I could figure basically anything out that's web related. I mean, this isn't quantum computing. So and I kind of enjoy the hard challenges now because I've seen a lot of the stuff at least once so I kind of like the super tricky things.
Carlton Gibson 2:56
Yeah, I think there's something in that is the couple of points that you made. We'll come back. But this idea that you could take whatever problem came up, you'd be able to resolve it. I think that's where the, the, after you, you've got the years of experience, it's like, oh, no way, you know, I could I haven't seen this exact problem before, but I've seen problems like it. And I could, you know, you gave me long enough, you gave me the budget, I could take
Will Vincent 3:18
that total fear of, I don't know, anything, people are going to find me out. And I'll never solve it. Because you've gone through that loop so many times that it's like, well, I'll get there. It may take a day. It may take a week, it may take a month. But you know, almost everything we're dealing with is a solved problem. I just don't know where it's been solved.
Carlton Gibson 3:35
Yeah. And I don't know data. So there comes. I remember being at a talk at some iOS development conference. And one of the people giving the talk was very experienced developer and they were like, Look, ultimately, there is no problem that I cannot solve because, you know, they get down to the B some work, they get right down to the debugger, and they bet they'd be patching effect. See? Yeah, yeah. And it doesn't get any lower level than that. And now in the web, you're not really doing that very well. You know, you don't get down that low. You very rarely do even find a bug in Python that you have to work around.
Will Vincent 4:13
Though you found one, yes. My first so
Carlton Gibson 4:15
so. Okay, so 50 something my first ever bug filed in Python so that, you know, I've been using Django for all this time. And finally found a bug in Windows 3.8. Python 3.8. point zero. There's a bug with async IO, which will be fixed in 2.8. point one. Because I reported it was fixed the same day. It was amazing. But yeah, you know, in all that time, I found what I found one bug in
actual bug.
Will Vincent 4:48
Yeah, you found a few Django bugs over the years.
Carlton Gibson 4:50
Well, yeah, yeah. But Django has like No, no.
Will Vincent 4:53
pythons.
Carlton Gibson 4:54
Yeah, built upon. So like the high things up. So your your code is the most likely place where there's some bugs, but not your code. ones code is the most likely place where there's some bugs because it's built on top of everything else. And it's not as tested and it's not as used. And then below that Django and then below that, Python are normally the you look in your own code for the bug. Right?
Will Vincent 5:12
Right. Well, that is the case that it's, I guess it's the confidence to know that you can solve anything, and you just sort of go. I mean, basically, you kind of go if you computer I will figure this out. Yeah. You know, throwing the hands up, you know, you're I'm more we're more used to, well, like yesterday, was yesterday, I was dealing you and I there's something an API permissions thing. And, you know, a reader flagged it. I looked at it for an hour, I couldn't figure it out. I asked you, you know, on a quick look, you couldn't figure it out, either. At some point, it will be solved. It's probably something silly, but I don't know the answer right now. But I'm also talking to myself about it because I'll, you know, I'll go take a walk. I'll sleep on it. It's solvable. Right, but when I was a beginner, you know, I I think the difference is how and how you get stuck. So for me now, I don't get, like stuck stuck for a week on something. Because I have more I can fix things faster. But also I know where to ask and how to ask when I'm truly stuck. So I remember being stuck on just like installation things with Django or solar, you know, all these things don't even seem like what I'm actually trying to do that just are path variables when I was really yeah, so you know, which still I hope I just oh my god path variables kind of freaked me out environment variables and
Carlton Gibson 6:31
all the rest of this stuff when you have to be a bash expert before you even get going. You see, we're back. This is back to episode one. Right? What is Django and how hard it is to?
Will Vincent 6:39
Well, I think part of it is knowing when I've knowing what a good faith effort is on my part before I you know, put up the white flag and ask for help. So like, for example, on this specific thing, I'm going to give it a couple days, I'm going to look at it and then I'm going to ask people because I know someone will be able to quickly spot it but I think it's, it's having the reps to kind of know when I've done what I can. And I need to ask for help versus, you know, because I'd no one wants to, like ask for help all the time. Like, if someone's asking me for stuff, I don't want someone to ask me something because they've been. They don't they haven't made an effort, right? It's clear to me when someone hasn't made an effort. And you know, I'm better at googling than they are, probably. But it's sort of like, Where's that line between I made an effort. And I can explain, you know, I think this is the problem. It's something like this, you know, that kind of tees up if I'm gonna ask if someone else that's better than just being like, this code doesn't work, which you know, I get that from people. And that's fine if I sometimes don't respond, but yes, I agree. So asking for help is a skill that comes along.
Carlton Gibson 7:43
But phrasing your question as well and knowing what Yeah, so you know, you're trying to run. Let's say you're trying to run a WebSockets app on top of channels using Redis with, you know, some grocery bag front end CDN in front of you, you know, a low back server and web server and you know, and then you put up on the channels repo. Oh, this isn't working, you know? Yeah. It's like, yeah. And it's like, this isn't addressable. This isn't a, this isn't a bug I can help you with. So it's knowing how to ask the questions, as well and really trying to pin it down. And that's something that beginners can can focus on is have I have I explained this so that somebody can reproduce it so that somebody got a chance of helping me,
Will Vincent 8:26
right and putting, you know, putting, putting the logs putting the error messages saying, This is my thesis, this is kind of, you know, my logic to get to this point. Yeah, cuz nobody wants to just be tossed a whole bunch of code and have to, you know, that's, I mean, that's work work. That's not fun for anyone. So that's, that's a big part of it. I mean, what else? It's, I think it's also like, how do you get to this point, I mean, I'm, you know, over my career as an educator, I want to eventually be able to show people how to build probably like 10 different apps with Django DRF and other things because I do think it you just need the reps to See the patterns to see that everything is crud. And then you reach this point where it becomes a little. It's not to become a little bit boring, but I think it's like any job after every five, six years, you have to reinvent why it's interesting for you, and coding is especially like that, because it's, you know, we've talked about this in other episodes, I feel like I could you and I could build a prototype of almost any site quite quickly. But we know what it takes to make it in production. And, you know, that's a big step function leap. And so that makes it maybe less exciting to just build stuff because you go, oh, god enough to maintain it. And there's bugs and
Carlton Gibson 9:35
you know, and a lot of it's the UI, it's not the list view or detail view that you built, and then you get hard get a bit bored building a Jenga detail view will, you know, okay, is there a different level of abstraction you can work out? Can you the Why is it repetitive? Like, in that case, can you create a class which, you know, encapsulates that what's repeated and then gives you a high level pattern,
Will Vincent 9:55
right? And that's why I think it's these subtle things when I see the good Give me pleasure in meaning and code not right where I see a problem. And if there's an elegant solution to it, even if it's especially in some ways, if it's just a tiny little thing, I go, Oh, that's, that's clever. I like that. I, you know, even if it's some iteration of, you know, a detail view and a permission or something, or ListView, because, and this is a talk, maybe next year, I'll give I everything is crud. And then you have ListView detail view and sprinkling off. And that's, like, big, big picture. That's, that's it? Yeah. I mean, we can, I'm happy to dive deeper. But I think maybe a couple years in you go, okay, it is all crud with a foreign key, and ListView detail view, you know, and then it's just sort of waterfalls from there. But I mean, at the end of the day, you know, so part of that, too, is when people ask me, sometimes they're stuck on a work thing, or they want to work on or they have an idea for an app and they're, they're getting all these complicated layers of permissions and this and that, and I'm like, could you just use, you know, could you just use a detail view, right, or someone was asking me something about A hospital app with all these different permissions and logins and that I was like, well, could you just use login? And if the login doesn't work, they go to sign up. Like I think that would work. Yeah, exactly. So you know, you come full circle on the simplicity.
Carlton Gibson 11:13
Yeah, I mean, okay. Yeah. So what, what's, what's the episode about the episodes about being an expert? Yeah, and it's learning where the patents are. Right? So, oh, it is just a detail view here. And oh, if I just use this permission, you know, if I just use the stuff that Django provides for, like, user passes test or something to to control the access here, that will work that will do
Will Vincent 11:35
well, is that saying that, you know, like a truly expert programmer, or there's some like graphic of, you know, given a problem like a beginner, I'll just like, dive in intermediate person will start stack overflowing, and like a true programmer will sit back, go for a walk, think about it, and be like, I've seen this before, and just, you know, kind of nail it. Yeah, without getting so busy in the weeds, but it is that pattern recognition. And I think I mean, that's what's That's what's fun. I mean, I guess that that is sort of what is what does it feel like to be an expert assuming either us as an expert, it's seeing the patterns and going, Yeah, I've seen this before, I see this as a flavor of something common. Because again, it's, it seems brand new to you. It's not, it's just you don't have the content. This is why algorithms are so fun. Actually, I'm, I'm probably gonna write it. I sort of have written an algorithms book because I find algorithms fascinating in that they're taught when you have no context, like your second undergraduate course. And you're kind of like, just memorize them and repeat it. But then as an professional, you go, Oh, my God, like these are so useful, if you know that they're there and can reach for it because, you know, whatever performance thing you're trying to do, it's probably an algorithm question, but you need to kind of know the algorithms, but you need that mix of seeing the problems and then knowing there's a whole Dictionary of answers out there to use.
Carlton Gibson 12:54
Yeah, I mean, okay, so I am constantly reading computer science. have been for a decade. But when I started, it was all like the bash cookbook and classic shell scripting and all these things. And these days, it's, you know, mathematics books or algorithms books or data structures books, or, you know, these these kind of things. Why? Because they're dry, they're really dry. And, you know, but they haven't get to sleep. So anyway. But the point is that those
Will Vincent 13:23
that's what Aristotle in the original Greek,
Carlton Gibson 13:26
well, exactly that that kind of thing as well. But those kind of texts are the ones that have the really transferable value, but it's only, you know, 1015 years in, it's like, yeah, okay, I, you know, I really, really like reading those sorts of things when I started, you know, pick up an algorithm, but he's like, this is totally meaningless to me, because I was never, I was too busy trying to just wire some stuff together. Right to ever think about the structure or the you know, that, you know, could Is there a simpler implementation or, you know, the more interesting stuff you
Will Vincent 13:59
Yeah, well, I strongly feel it. I mean, I'm I'm gonna publish this book at some point, I think it can I think it doesn't think i think it doesn't have to be that way. Because I think I, I think you don't have to make it a pure applied math book, which is what you know, they are and make sense 15 years in, what you really want is you want sort of a quick guide, and a sense of understanding, oh, that this would be served by a greedy algorithm, this would be dynamic, this is, you know, to sort of be able to look at a problem and understand what bucket it falls into. And then you can dive in and find the right one. I think that's the biggest takeaway beyond knowing that there's a ton of algorithms. I mean, for example, like when I explain algorithms to non programmers, I usually put it in the context of so there's searching and sorting algorithms. But at the end of the day, you almost always want to get to a binary search. So it's really all about sorting algorithms, I would say, which I do not use. I've never heard anyone say it like that. But okay, My take is that it's basically all about sorting. And then what's really cool is you have comparison sorts and you have non comparison sort. So you say, Well, if I don't have to be 100%, correct, I can be, you know, multiple faster in my sorting. So it's like, well, do I, you know, so you can ask for the architecture questions of like, well, is speed more important? Or is accuracy more important? What are the trade offs? And that's kind of what I would like to be able to get beginners thinking like that, even if they don't have all the math and writing memorized, because that's how that's how you and I would think about something right? It is all trade offs, right? We say it all depends. It all depends. But how do you get to that point where you can make a good decision?
Carlton Gibson 15:37
Right, but I think Yeah, okay. But I think this is where you do need just an amount of exposure.
Will Vincent 15:42
So yeah,
Carlton Gibson 15:44
you know, for instance, I don't know the design patterns books. Now. I will pay is sort of fallen out of fashion from when I started, but, you know, it was always worth as a junior sort of slogging through the design patterns book or slogging through the refactoring book, in order to give yourself a vocabulary to talk And then you come up to a problem and be like, Oh, this is a bit like the composite pattern, and then it would give you something to go and look up and it'll give you a solution. You'd be like, okay, I can model it like that. And then it may not have been the best software in the world, but it gave you a, an answer. And same with some algorithms, if you know, some algorithms or you know, you know, you know, if you're a beginner, the algorithms aren't the place to look, the place to go and read is the is the standard library. Yeah, manual, and just go through each of the modules and sort of have a look and see what functions are available. And then there is a great term book. Was it called the Python standard library, by example, it was Python module of the week was the blog that was originally Oh,
Will Vincent 16:42
yes, the AMA book.
Carlton Gibson 16:44
Standard Library, for example. It's a great book. And it's a really good way of learning some Python and see what's available and obvious Oh, you know, I need to do this. I will look there's a pretty print module and you can use it to grab it. Well, there's a diff module and you know, we But you'd never, you'd never even know to reach for it.
Will Vincent 17:03
How do you? How do you know to reach for it like foot? Let me give you an example. So I come from a liberal arts family and my family, people read the dictionary for fun. You know, so what you're describing of going through the Python, like standard library, that's like reading the dictionary for fun. I mean, I, I read the dictionary for fun. Honestly, I don't read the Python standard library for fun as much. But it is a similar thing. I think the question is more, you know, okay, if you're not already wired for that, usually, it's in the context of, there's some problem that comes up, maybe it's around time. And then how do you how do you get to the right resource, you know, this is where, you know, that's, you know, because time time is complicated. Python has some nice packages for it. But probably what you're going to do with your beginner is you're just going to go on Google, you're going to find a medium post, or something else, or StackOverflow. That gives you some code that sort of kind of works, and you're not going to understand it and it may not be the right solution, but it's like a bandaid on the You move on. And I think that's fine as a learning tool, but I guess we would encourage people to like go a little bit deeper, like see how Python see if there's a built in thing in the language, see how it's created?
Carlton Gibson 18:12
Yeah, at some point, you got to fill in the gaps, right? at some, it's okay, you know, you can google you can find a thing you can paste, copy it off, Stack Overflow, paste it in, and you can do that 1500 times and you begin you're getting it you're learning stuff, but at some point, you got to fill in the gap. So this is where things like, you know, if you're talking about Python, there's a book fluent Python, which
Yeah, super, you know,
amazing. It's, it's massive. It's like 1000 pages, and I read it on my mobile phone in on, you know, I never really, I just knew it was taking a long time, you know, but I was long.
Will Vincent 18:43
I have it Yeah,
Carlton Gibson 18:44
it's taking long bus journeys, and I was reading it took me months, you know, okay, fine, but I was learning loads of really cool stuff. Ah, Interesting. Interesting, interesting. And then I saw it in the physical copy and it's like, Wow, that's a doorstop. But it's such a good book because it kind of fills in the background of Everything you need to know. And then right when you come out of it. There's another couple of them flew in Python was one there was another one that
Will Vincent 19:07
was Python. I mean, I have actually a blog post on what I think are the best Python books we'll link to. There's what is Python cookbook? Yeah. Which is learning learning Python. That's the mark Lutz. I mean, I would say for whatsoever beginning Python to me, the top ones are the Python Crash Course and automate the boring stuff. There's other ones, those are the two kind of top ones and then the next step up. I would say it's fluent Python and the effective Python by Brett Slatkin is very concise, but just kind of mind blowing. In its quality. Okay, I'm really gonna think there's only so many non applied books that you can read, you kind of have to balance you know, okay, here's the theory. And then here's, let's build an Instagram clone in Python and Django in sort of apply and pick things up. I mean, this is what I think about as an educator, I think about getting someone there fast And then getting someone there. You know, I almost want to write a book that's like I could do a whole book on a blog app where it's just like chapter one, basic version chapter two, like you have 10 chapters and each time do it differently from scratch with more complexity, you know, sanitize inputs with bleach, do this do that. But I think you kind of need it needs to feel familiar before because if I just gave a complicated solution, it wouldn't have any context or someone
Carlton Gibson 20:26
Yeah, no, that's exactly it. You've got it. You've got to like Aristotle's got this line knowledge has to be worked into the living structure of the mind. And that's exactly programming. You can't just pick up the you know, the advanced solution and understanding that's the trouble with like the the Django cookie cookie cutter type, project starter projects, unless you are already there. They're too big. They're too too all encompassing. You can't grasp what's going on. And even if you do grasp it's probably got lots of things that you don't want that you're not entirely sure how to cut out. And
Will Vincent 20:54
yeah, well and this is you know, coming and coming to, you know, first principles and simplicity is you Advanced in your career. I mean, I see more and more. Yeah, just a basic authentication flow, I could teach it five different ways. And it might be the most beneficial thing to, to do that, like, let's just keep doing it a little bit more complex or a little bit different each time. Same thing with it with a crud app. It's, you know, at the end of the day, I mean, this is the the mindset that you and I have, you know, crud app, it's like, okay, what's the very first thing I think about? It's like, Well, okay, what are the what's the schema? Get the models, right? And then, okay, where's my ListView? Where's my detail view? Is there anything kind of tricky I need to do to get context data, save, you know, maybe, maybe not. And then, you know, toss in the templates, the URLs and good to go. But I can say that because I've, I don't worry about well, how do I set up Postgres? How do I configure my app structure, you know, all these little details, I guess it's the details that I I view is just very downstream from, you know, the schema and the architecture side, but you can't really get there until you've done it a bunch of times.
Carlton Gibson 22:01
Yeah, but oh yeah, and all that stuff. That's where the difficulty is. It's like, you know, a beginner can start off, they can create a model later, you know, they might go a bit slower, but they'll get all there. And then there comes a point where they accumulate the accumulated knowledge that you have to have to get this thing actually production worthy. Yeah. Yeah. He's just trying. And that just takes time. And then there's just time on the coalface.
Will Vincent 22:25
Right. And it's I mean, it's, I it's frustrating that it's not, there aren't more resources on it. And I kind of understand why because I mean, I wrote an entire book on this Jenga for professionals. But it could be 10 times as long as it is it's almost 400, almost 400 pages, you know, there's a lot of sections where I sort of take you as far as I can go and then say, well, and here's where to go further. But I guess it's that it's that 8020 I mean, in that book anyways, I tried to give you the ad and show you where the 20 is. It's I don't know it's deciding how much you want to polish the rock. That you're that is your your app. Yeah,
Carlton Gibson 22:58
and also For something like a book, if you want, there's no point going all the way to the complete finishing because that stuff changes. Whereas if you stick to the core stuff, which is relatively stable, it's like, Okay, this is going to be more or less the same in, you know, a year two years time. Whereas, if you go right to the thing, it's like, oh, but that's not the same. That's not the same. That's not the case. Right?
Will Vincent 23:18
Well, and this is why the, you know, foundational stuff becomes more and more appealing, you know, all the way to like just pure applied math. I mean, things that don't change that are eternal, have more and more appeal.
Carlton Gibson 23:30
Yeah, exactly. So which, which Am I gonna learn? Am I going to spend time learning the latest framework? Or am I going to turn spend time learning computer science fundamentals, you know, programming language fundamentals, always going to be programming fundamental language fundamentals, because that new frequency framework will have disappeared by the time Yeah, you know, and that was those fundamentals. They haven't changed ever.
Will Vincent 23:51
Right? But I think the problem the way it's taught, in my opinion, is that they give you all the what you and I excited about. They give that to you in your first like three or four courses, and you have no context for it, it's a little bit in one ear out the other. Whereas I think there should be some sort of mix or well, and actually, what happens is that you have a lot of people who in computer science programs have the, you know, an undergraduate level, half the folks have spent a number of years building crud apps and whatever. And they have a little bit of context so they can see how valuable it is. They have that repetition, and then half our true beginners. And it's just like, what is this? Do as a teacher, you know, you have to balance both those which is hard, but I, I'm a big favor. Big fan of context and theory together.
Carlton Gibson 24:39
Well, I just wanted I wanted to raise one more thing, right, because you you talked to the beginning. And this just ties back to what you were saying. You talked to the beginning about how how it feels and how beginners feel and how and how experts or more feels the same? Well, no, but how experts perhaps a more real realistic about No, maybe. And there's this there's this thing that I was just looking out to the Dreyfus model of skill acquisition, we start to know, and obviously you move to an advanced beginner. And then you become competent and proficient and finally an expert. And one thing that there is at the beginning of that, of, you know, the novice advanced beginner stages, you perhaps think that you're more advanced than you really are. Yeah. And I think, you know, once you get to a certain point, you start to realize how little you do know. And at that point, you're going to be more successful just because you're, you don't plow through blindly, you're more kind of aware,
Will Vincent 25:35
right? I mean, I've seen that, you know, you'll see tweets and stuff that's, you know, a year or two, it's like, I don't know, anything five years, and I know everything and then 10 years plus the rest of your career. It's like, I don't know anything. Yeah. So it's, yeah, but I, I guess I just want to, for beginners, I want to say that it's it's a constant beginner mindset profession. It's just the challenges, change a bit and the things that excite you and the things that excite me it's not building a prototype of something because I No, I can do that. It's these more foundational things are much more interesting. But they certainly wouldn't have been when I was starting out. And it's ultimately this knowledge, as you said that, you know, expert, almost anything we're dealing with can be solved, right? And especially the older I get, you know, life is not like that. So it's sort of nice that code is like that, that there is some sort of solution.
Carlton Gibson 26:20
But yeah, I did keep this. This is a great book that I recommend, everyone could send Zen mind, beginner's mind, and it's about keeping the mind of the beginner keeping open, keeping, you know, aware of your, that you're not done or not being self satisfied that you're there. And, for me, coding at its best is, you know, very experienced in that way, because it's like, yeah, I'm, I'm really pushing my limits constantly. And it's a lot it's an ongoing challenge. And it's an ongoing practice. You know, like Tai Chi or like, tea boring or like calligraphy or like any of these other arts that they practice in the eastern tradition. So you know, it's kind of broken Why drumming is meditation? You know?
Will Vincent 27:02
Yeah. Like, let go of it all, you don't know anything. I guess. Last point I would say is, I find that you know what? So what is it like being I'm almost 40 now. I mean, you're you're 40 What? 4041 4242? Well, you're 41 I, you know, again, I'll use a doctor example. Right? So doctors are highly educated, but they're kind of used to knowing what they're talking about. And it's interesting to see how I feel like, programming keeps my mind pretty plastic and that I'm constantly being humbled. I constantly have a beginner mindset. I just don't have any laurels to rest on. I don't I feel like I'm only as good as my next code. And maybe not doctors, but that's unusual as for as far as professions, but I think it's you know, I appreciate the challenge because it does, keeps me kind of childlike, right. It keeps me constantly frustrated, but also engaged and interested in a way that other careers at least for me, I would be bored and I don't know calcify a little bit. I think
Carlton Gibson 28:02
you know exactly for me, that's the, you know, that's the appeal.
Will Vincent 28:06
Yeah. All right. Well, I hope that's helpful for people a little bit of a different episode, but I think I wish I had heard something like that when I was starting out. So if it resonates, let us know at chat chango on Twitter, we're at Jango chat calm, and we'll see you all next week. Bye bye.