Pybites Podcast

#013 - The Mindset of a Developer

February 23, 2021 Julian Sequeira & Bob Belderbos
#013 - The Mindset of a Developer
Pybites Podcast
More Info
Pybites Podcast
#013 - The Mindset of a Developer
Feb 23, 2021
Julian Sequeira & Bob Belderbos

In this episode we have a wonderful conversation with Christo Olivier, one of our valued PyBites Community Members.

Christo joins us to talk about a very cool app he created while working with us. He also dives into the Mindset that makes a successful developer.

Everything Christo has achieved is totally doable by anyone as long as you have the right mindset.

You can learn more about the PyBites Developer Mindset (PDM) Program that Christo participated in here:

https://pybitesdevelopermindset.com/

Christo's Blog: https://www.christoolivier.com/
Christo's LinkedIn: https://www.linkedin.com/in/christoolivier/

Show Notes Transcript

In this episode we have a wonderful conversation with Christo Olivier, one of our valued PyBites Community Members.

Christo joins us to talk about a very cool app he created while working with us. He also dives into the Mindset that makes a successful developer.

Everything Christo has achieved is totally doable by anyone as long as you have the right mindset.

You can learn more about the PyBites Developer Mindset (PDM) Program that Christo participated in here:

https://pybitesdevelopermindset.com/

Christo's Blog: https://www.christoolivier.com/
Christo's LinkedIn: https://www.linkedin.com/in/christoolivier/

I think mindset makes all the difference. You can have the best technical skills in the world. If you can't approach problems, if you can't approach setbacks, if you can't get out of your own head, then you're not going to get where you want to be necessarily. 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 Valdebos. If you're looking to improve your python, your career, and learn the mindset for success, this is the podcast for you. Let's get started. Welcome to another Pibytes podcast episode. I'm Julian, and I am here with Bob. How you going, man? Hey, what's up? What's up? Good to be back. Yeah. I know it's been a long week, but I am super excited. It's Friday night, and this is going to be one of my favorite episodes, I think, because we have a special guest. Drum rolls. So we just a quick background before I introduce this gentleman. We worked with this guy. He was one of our clients in the pie bytes. Fell for mindset program, and he's just so animated. He has the greatest stories. He came to us just an average guy, and he's just achieved so many amazing things. I apologize for calling you average. He's just been a wonderful member of the community, and we couldn't help but want to interview him and talk to him and see what makes him tick and let him share what he's built. So, without further ado, introducing Christo. Olivier. Christo. Welcome, man. Hey, guys. Thank you very much for being on the podcast. Excited to have you here, man. Yeah, it's been a very long time coming. Those of you who are in the pie Bytes community, you might recognize Christo from the Slack channel and just. But the way he engages and supports everyone, so it's amazing. So we're really happy to have you here. Thank you for joining us. Yeah. So, Crystal, tell us a bit about yourself and what you do day to day. So, I normally struggle when I get asked this. The best way to describe what I do is I'm a data delinquent. I spent my entire life working out, building data solutions and data platforms, and what I do currently is work as an independent consultant, building out these solutions for my clients. And as you can imagine, there is a fairly hefty amount of python that goes into it. So that's how all of this started off and how it all came to be. So, yeah, that's me in a nutshell. That's cool. I'm picturing you walking into your clients places of business with a crowbar because you said data delinquent. Pretty good image. I like it. All right, so as I alluded to at the start, you worked with us in the PDM program. You know, your last summer, I believe it was, and you built something really cool, which was really impressive. And, you know, can you tell us a little bit about it? Tell everyone about it? Yeah, sure. So the thing that I ended up building during PDM was, as a lot of these things are sort of scratching my own itch, I built a solution that would crawl people's data lakes. And for people that aren't sort of versed in the data lingo, it ends up being a place where you store a lot of data that's unstructured as it comes from sources before you start turning it into information that the business can use. So it's sort of. It very easily becomes a data dumping ground. And in order to avoid that, it's really important that you've got a handle over who's putting what in your data lake, what the naming conventions are that they need to adhere to, the sort of folder structures, all of that stuff. And I built a solution that would actually allow you to specify your rules. It had a nice front end, which was super scary for me to get into, and we'll probably touch on that a bit later. And then this would actually monitor what was going on and flag up and alert you if anything that falls outside of your rules, end up make it into the lake. Because these things get really large, extremely large for bigger organizations. And once things are being inserted into it or copied into it from multiple teams, and you don't have a proper handle on it, it's very easy for stuff to get lost in there because you just don't know what's going on until you go and look for it. And then you realize all of a sudden what they've done makes it very difficult to work with it, very difficult to discover that sort of thing. So I built the solution. And it was an enormous amount of fun. It was an unbelievable learning experience. It really was. And the program was just fantastic for facilitating this. So that's what I ended up doing during my tenure with PDM. That's awesome. And what did you use for the stack? I went against my nerdy inclinations, wanting to go into the minute details of everything in control. Absolutely all of it. We ended up using Django, a combination of Django and some. What was it? I did some infrastructure as code stuff with Pulumi. It was, yeah, that's, that's pretty much what we used to start off with. And in the true spirit of PDM, sort of getting stuck in and getting going more than sort of analysis paralysis and trying to figure out everything to the absolute nth degree before you commit any code. And it really served me well. It was good enough to get an MVP going and to learn a tremendous amount, not just about working with Django and web frameworks and stuff like that, but also for proving out some of the things that I had not thought out as well for the actual application. And that was really valuable. That's great to hear. So going back to the start of that project and the program, where were you when we started that endeavor? I was the proud owner of many unfinished projects, many unfinished side projects. And as you can imagine, when people talk about being a developer, you've got so much that forms part of that term. Right. I'd been working in data for 15 years. I've done a lot of python on the data and platform side, but web development or building an application in Python was something completely new to me. Probably shouldn't if I spent all of my waking hours just sort of coding and trying to build things. But we've all got lives as well. We need to stay sane, too. So I didn't, I've never got into the web development part, so when I started off, I had all of this platform and data experience, but I didn't have any web development experience. Nothing that you could call true experience. And that's. That's sort of where this whole thing started. That is awesome. It's such a similar story that we hear from a lot of people. Right? Like, I've never built a full app before, so I just don't think I do it. I don't think I have what it takes, don't think I can do it. And a lot of the time it just takes starting. Right. So on that note, you know, I guess, did you, were you stuck, you know, before you did any of this, you knew Python, as you mentioned. Right. But where were you stuck? So many places. I think the first place that I was stuck in was, and I don't want to sound like a broken record because I, I think when you in PDM and you speak to people that are, that come to PDM, you hear the same thing over and over. I did a lot of tutorials. Okay, great. That's the first place I was stuck. I was stuck I was, in my own way, I was thinking that I need to know more in order to get going than I actually needed. I mistook needing to know a lot of things in order to build an apple the starting point and didn't realize that actually I just need to get going. So I was completely standing in my own way. That was the first thing. The second thing was it's. It's daunting when you set out on the journey of building something like this when you don't have someone more senior or more experienced to sense check things with. So that was another thing that was difficult. And as I could have probably wrote in some old colleagues of mine or friends, but it then becomes more of a casual thing than a dedicated thing. We had driven and I think that was the third thing I needed to make the commitment and I needed people to hold me accountable, which PDM provided all of those things, which was why I really enjoyed my time with PDM in doing this. So that's why I reckon I was really stuck thinking through. It was. Yeah, I just didn't get going because I was in tutorial paralysis. I didn't have the accountability and I really needed to have people to actually bounce the ideas off and just send checks. How do you actually start doing that? Just that little bit of it was really good. Awesome. And accountability there was. Yeah, that's what it. Most definitely. Big time. Big time accountability. The sort of accountability that gets you out of bed in the morning, early. Very early. Yeah. Want to share what time you got up? So for the three months that I did it because I've got a young son and I tend to want to spend a lot of time with him in the. In the evenings and in the afternoons, I decided that the only way to get this done was to do it early.

So I got up at 05:

00 every morning. Now that's not to brag, because believe me, I don't want to do that again for three months. But I just knew if I was going to do this, I need to do it before my day starts. Because being a freelancer or independent consultant, as I like to call it, you don't know how your day progresses. So there might be something that happens at the end of the day or you might have such a hectic,

hectic day that comes six or 07:

00, there is nothing left in the tank and you don't want to give the thing that you're actually doing to push yourself forward half effort or sort of half of your attention. So I just got up early. I lied to myself and said, I'm going to go to bed early every night so I can do the early mornings. That happened very, very infrequently. So there was a lot of coffee consumed. I think pretty much that application was basically me turning caffeine into code. Is the old joke about developers. Go. But yeah, that's how it happened. I think that's true of all of us. I mean, my deadline for working was ten minutes ago, so you're worth it. Worth it, man. It's okay. That's really good. So actually, we did find that very admirable that you pushed through. I mean, because, you know, Bob and I both have kids,

so the 05:

00 a.m. Wake up is barely tolerable when your kids doing it, let alone having to get up to code. And a lot of credit goes to my son for being a good sleeper. Right. And to my wife that supported me in this. Like, it's not. It's not something that you actually. The circumstances could have easily been different and I would have just been a zombie and none of it would have happened. So it's not. It's not all of my own making by any stretch of the imagination. Yeah, well, it goes to show that consistency is king. And in spite of a busy schedule, you got some. Some major app out there. Yeah, exactly. Feels great, right? It does. It feels fantastic. And actually that even. Even on the days where I realized a. I overslept because I'm just too damn tired. Even if I just did 40 minutes instead of the 2 hours that I set aside each morning, even if I only did 40 minutes doing the 40 minutes consistently, not breaking that streak of doing stuff made a massive difference. Way better than sitting down for 8 hours every three weeks trying to do something. Yes, we like to say it's better to do two workouts than to dream about doing four and not doing any. Exactly. Exactly. You have to drop that perfectionism. There's some good tips. Love it. All right. All right, so let's fast forward now. You've hit the end of the program. You've been out of it for a little bit now. Have your skills improved? How do you feel things have changed for you after the ten weeks in the program? After doing it the pie bytes way for a bit, interestingly, it made a massive difference. I think a lot of the times people think that these are sort of boot camp like things and you come out with a broad set of things that you touched upon, but really sort of just the knowledge on it. I think what happened for me with PDM was the nature of it forces you to get comfortable with doing the things that you are uncomfortable with. So for me, with the web development side of it, I came to the realization that at the end of the day, it's no different than the things that I've ended up learning over my career in data. So the same things apply. Go read the documentation, go code, the demo app, go get in and do something that you want to do, whether to go and apply what you've learned. And all of a sudden you realize, but it's all logic, right? Like, it's not, it's not some dark magic, it's not something that you need to be, that you need to be taught. You can actually go off and get into it and learn and you get comfortable with the fact that being uncomfortable about a topic is a temporary situation until such time as you put in the work to learn it. And what it's done for me after PDM is I've taken on a lot more things that I would have previously thought that's maybe a little bit scary. Am I really going to be able to pull that off? I don't have that problem anymore. Since PDM, I've started a. A really interesting piece of work that I know we've talked about it in the past and the amount of things that I had to pick up, not on the fly. So the client knew what my background was. They knew they brought me in for a specific reason, but they were also really pushing the envelope with what they were doing and knew that there would be learning involved in there in order to get to where they wanted to be. They're not going to find someone just off the street that knows all of these things. It's given me the confidence to just absolutely storm it, just smash it and get in amongst it. Learn the stuff that I needed to learn that I would previously had a lot of anxiety about, will I be able to do it? That's not there anymore. I'm very, very comfortable now picking up those things and saying, you know what, give me x amount of time, I'll have it done. Because I know how to get there. I know how to do this. I've done it previously. And I just retraced that same sort of pattern, that same process that I went through. And the PDm process is really key for me to that. I wouldn't have previously gotten that comfortable with it if I didn't go through what we did in PDM. Wow. So I honestly had no idea what your answers to these were going to be so. That's really touching, man. I really appreciate that. And Bob, I know you do too, but I just wanted to call out there that it amazes me how much a little bit of confidence, like how far some confidence can take you. You know, you got that wind in your sails after working through PDM. I mean, you put in all the effort, right? And now it's just given you this, I don't know, just this confidence that you take to all your future stuff and it's just blows my mind. And honestly, I think there's such impostor syndrome in our industry that a lot of the times people look at what's going on and they think, oh, hang on, I must be this amazing developer to get stuff done. And we put people like you hold up people as being just savants at this stuff. And granted, there are people that are absolutely just. They were born to do this, Bob. And no, you've got people that have put in lifetimes of effort. No one sees that, right? You just see the end result. You see this person that is just an absolute sort of genius level, knocking out stuff, tackling hard problems. Two things that happen for me is a, you feel discouraged that you are not at that level. You think everyone needs to be there and that everyone, more specifically everyone, is at that level, which is a big fat lie. And secondly, you don't realize that that perceived ease with which they are tackling these problems is hard won't. It's many, many hours of dedicating themselves to solving problems, to bumping their heads against the table when they didn't get it. And that's something that you get knocked out of you really quickly. On PDM, you realize you need to commit code, you need to ship, you need to get stuff done. It's up to you to do it. And good enough is good enough. We're not building the 7th wonder of the world here or the 8th, I don't know, 10th wonder of the world? Like, no, it's software. It needs to work. There's a certain level of quality that you need to adhere to. But I've never met anyone that started the PDM program that actually weren't all capable of doing it before they started PDM. And that's what makes it kind of special, right? We've got all of these people that have got the talent, that have got the natural, not even natural, but they've got the learned ability to do this. But somehow we're all held back by our own beliefs and when you start engaging with PDM, that's the bit that you get that you, that you don't see on the sticker price, right. You don't. That's not the bit that you, you think about is actually going to make the difference and that's the thing that does the biggest to me. So not only did you earn practical developer skills like technical, there was also a big mindset shift there then. Right. How important is mindset in all this? So as someone that loves to sort of stand in his own way in a lot of ways, I think the mindset shift makes the absolute biggest difference. The technical skills you can learn, it's stuff you can, that you can pick up. Right. There's so much content out there, provided you don't go into sort of a tutorial paralysis situation. But to actually come to those realizations that you need to start looking at things differently and to realize that you may be not as, not as bad as you thought you were, or maybe you realize, heck, I actually don't know as much as I think I do, which is an equally valuable realization to come to. I think mindset makes all the difference. You can have the best technical skills in the world. If you can't approach problems, if you can't approach setbacks, if you can't get out of your own head, then you're not going to, you're not going to get where you want to be necessarily. Yeah, those are good tips. And actually it's a mic drop micro right now. Well, good. Actually, no, pick the mic back up for a second if you, I mean, you've mentioned quite a few things there. Right. But let's say you had to choose three top skills for any developer to be effective. Right? What would they be? And I know it's putting you on the spot a little bit, but what do you think they'd be? It's that, that's a really difficult, difficult question to answer, so, and I'm going to try and answer off the top of my head as these things come up. So they're probably going to be raw, a bit raw and unpolished, I think the ability to learn, because this is not a profession in which the things you did ten years ago is going to be current anymore. They would serve as a foundation that you can build off of and that you can pick up other things faster, but the industry changes all the time, so you need to have the ability to learn and learn fast. The other thing is you need to be comfortable with being uncomfortable. You are always going to be uncomfortable because you are solving problems and problems that involve people. So software and tech is half of what we do. The other half is engaging with the businesses and the people that actually rely on what we, what we create and for whom we are solving those problems. So you're going to be in uncomfortable situations from a people point of view where you need to deal with a client or your, or your company or a boss that's demanding certain things or expecting certain things, you need to be able to navigate that. But also from a holy crap, how do I solve this problem? This is a pretty big problem and I feel overwhelmed by it. And then be able, and that leads sort of to the third thing that pops into my head is be able to systematically break things down to smaller parts. If you can do that, then no matter how big the thing is you're trying to achieve, if you can systematically break that down into the smaller part you need to achieve in order to build out that whole, then you'll be able to get anything built or any solution created that you need to need to do in order to solve a problem. So those would be the three things that come to mind for me. And it's probably telling that I'm not putting in there knowing framework X, it's because I've been doing this for a long time and framework X has come and gone 20 times for me already. And it's actually, I'm laughing a lot these days because there are stuff that's popping up and this shows my age than anything else. There's stuff that's popping up now where people in the data community are solving problems and massive blog posts and conference talks are being held about it, where if you speak to people that have been doing this for a long time, they'll go, yeah, that's a solved problem, right? With all of the new tech that you've introduced and some of the new things that you've new route you've gone down, you've just arrived at a place where you are now experiencing the problem that was solved sometimes in the seventies, right? And you realize that there are some fundamental things that as much as you want to change the flavor, you're going to arrive at this point and then there's a way to solve it. And just because everyone around you has never encountered it, doesn't mean that it's never been encountered. So I'm not a big fan of getting hung up on I need to learn tool x or framework X or pick those things up. If you can learn fast, you'll pick them up. If you understand the fundamentals, you can break things down to first principles. You're going to be able to do a lot better than someone that just blinds you. Learn a particular thing at tech or technology or a framework, and if you are comfortable with being uncomfortable, then you'll have the perseverance to sit it through and actually get to the other side. And that's why. That's why those things really are the most important for me. That's an awesome piece of advice. But the second one you mentioned there is also extremely important. I just want to point that out from my experience as well, is being able to navigate the workplace. And if you stick your head in the code and do nothing else with managing expectations of your stakeholders, your management and so on and so forth, there is no success there. There just is no success. You need to be able to work on a team, work to deadlines, meet their expectations and balance it all out. So. Totally a really, really great point. Definitely. And I think a lot of the times we've got this silly idea that there's this, there's this one developer that basically carries the world on his shoulders, right? He's like a one man dev army. Everything we tackle today is bigger than what one person can actually pull off in the timeframes that we need to have pulled off. And you've got multidisciplinary skills that you require in order to build good stuff today. So gone are the days of, of just sort of CLI tools. And no, no front ends, no ux. If you want to put something polished out there, you're going to have to deal with other people and going to have to work together with other people. So it is really, it's at least 50% people as well. And yeah, if you want to be successful at this, you need to also be good on the people side. Leadership skills, right? Yeah, leadership skills. And I think a bit of emotional intelligence to understand that we're all people. Yeah. I think that the worst thing you can do for your career is sort of just be this obnoxious, know it all technical person that no one wants to actually go and speak to because you're going to get sidelined. You're not going to be working on the interesting problems because the interesting problems are probably not going to be purely technical problems for other technical people. So if you want to be able to do something in a marketing organization or in supply chain or in education, you're going to have to speak to people that aren't technical and you're going to have to learn to be good at that and put yourself in their shoes and make sure that the software you write that impacts other people are done in a way that is a net positive for them. Yep, totally. All right, we've come to the end of the interview, so final shout out and where can people find you, follow you, get in touch with you? That is a very good question. I am known to sometimes be found on Twitter. I'm not super big into social media just because I'm too busy with other stuff, so that. But I do respond and I can be found there. And we'll probably link some of these things in the show notes so I don't have to spell out things on air. And I've got a blog that is very infrequently updated where you can also find a lot of my details. But started off blogging a long time ago and then as things happen, other things got more important. But those are probably the best places to get a hold of me. We have to hold you accountable to update that blog. I would welcome the accountability on that. Well, there you have it. Nice. All right. Well, Christo, thank you so much for sharing all of that. I don't even know where to begin. There was so many amazing tips that you threw in there and value for people, so we really appreciate you and also everything you've done to support pie bytes and just the way you help out the community and stuff, it's just. It's inspiring, it's amazing and we truly appreciate you. So thank you for coming on and talking with us. Thanks, Chris, though it's a lot of value here for our audience, so really thank you for sharing that. Thank you very much, guys, for having me on and for having created the community. That is something that I know I benefit from immensely and I enjoy unbelievably. And without that, we would definitely have been poorer as a development community. Awesome. Thanks, man. And we appreciate that. I'll also call out for everyone who's listening. We're talking between the UK, Spain and Australia right now, which is pretty freaking cool. I think that's awesome. It's like a normal Zoom call or something. All right, well, thanks, everyone. This has been a great, great episode. You guys take care and we'll catch up soon. 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 Pybytes community. That's Pibit es, forward slash community. We hope to see you there and catch you in the next episode.