Life as a Software Developer.
We recently caught up with Mark Youngman to discuss Software Development, the power of mindfulness and much more...
- Episode
- 35
- Guest
- Mark Youngman
- Duration
- 19 mins
- Published
- 2023-07-05
Transcript
Tom: Welcome to episode 35 of the Make Things Better podcast. Today I'm joined by my colleague Mark Youngman from Hive IT. Welcome on the show Mark. How are you doing today?
Mark: I'm good, I'm good. Thank you.
Tom: Yeah, cheers for coming on. And in today's episode, we're going to talk a little bit about focusing and developing your skills as a software developer. So do you want to start off by giving us a bit of an introduction to yourself, like how you ended up working at Hive when you first got into programming and so on?
Mark: All right. Yeah. So the first thing that comes to mind is that I had a ZX Spectrum back when I was younger. So it's like literally cassette tapes put in, you put them down, you play it, it makes all of wacky like analog noises, like dial-up modems, which you probably also won't know about.
Tom: But you were really young right when you got into all of this.
Mark: Yeah, yeah. So I was like about eight or nine, I think, at a guess, but I can't really remember. And then so then the next thing that I remember, so my dad bought, got like a personal computer from work at a whopping 16 megabytes of RAM. Wow. What an amount of RAM, eh? You know. Anyway, so I used to play with that. And then my dad took me to like C programming, a C programming class. So that was kind of like my first proper introduction to programming.
Tom: And how old were you then?
Mark: So I was probably about 11 or 12, I think. But then I went home after that and I did a little bit of programming in C, but not a lot. It was just basic stuff like, oh, type in your name, type in your age. Oh, if you've typed in an age over 60, you know, I'm going to gloat about how old you are or something. So yeah. So then, so I think the next point is that I did a computer science degree, so I did that at Birmingham University.
Tom: So how did you find that?
Mark: Good, good. I mean, I don't know. You know, I'm a skeptic at heart, you know, so, but in public, I'll just say it's great. So yeah, I know, but I honestly learned a lot. And to be honest, like, funnily enough, coming into this job, I was like, at first I kind of thought, oh, you know, how important is the degree? You know, because I think like 50, only about 50% of developers have degrees. But now I'm kind of thankful for it, because I think it gives you that kind of broad overview of everything, which, you know, if you're just left to your own devices, you'd probably never study. So, yeah, no, I'm definitely glad I went through with that.
Tom: So you graduated from University in Birmingham, and then some years passed by, you were still working on your own sort of stuff. Do you want to tell us a bit about Raspberry Pi and what you were doing with that?
Mark: Yeah, so like, well, just before I got the job, so there was a few intervening years between, you know, me getting my degree and getting the job at heart. But before that, I was playing around with Raspberry Pis. I mean, like, the actual idea was actually to create a website that, like, provides instructions on, you know, just like, you know, helps people out if they're interested in Raspberry Pis, you know, or Arduinos, you know. So and basically, there's there's a specific chip on the Arduino that you can kind of program directly and I was interested in how that actually worked.
Like I think, you know, it's literally got, you know, so many legs to it, you know, that you pump ones and zeros to. And then, you know, like, I was interested in like, you know, how exactly, you know, what commands you can give it and, you know, that's kind of breaking that all down. That's actually still on, those articles are still on my website, if anyone should be interested. Little, little plug, you know.
Tom: What is your website called?
Mark: mark.youngman.info
Tom: We'll get that out there. And yeah, because you used to create some content yourself, didn't you?
Mark: What you mean, so on the Arduino side? Yeah, I can't remember what we called the website. We had a logo, I had a logo and everything, you know, and like, and, you know, I think it was going to be good. But I think, yeah, so, you know, yeah, so I was doing that. And I think that then I got the job and that all got left.
Tom: And you started off as a junior tester.
Mark: That's right, that's right.
Tom: And how have the last sort of six, seven years been at Hive?
Mark: Oh, well, great, great. I mean, you know, I think, you know, I always had kind of aspirations to be a developer. I mean, this is, I think, a common theme in the testers that Hive have hired, you know, secretly they've all wanted to be developers and quite a few of them have gone on to do it, myself included.
Tom: What's the journey been like to go from being like a junior software tester to being a developer?
Mark: I mean, so I mean, I always enjoyed testing. I was kind of fine with it. I enjoyed because like, while, you know, some testing, you know, admittedly can be monotonous, there is a skill in, you know, you're looking at the same website for the 50th time. And, you need to make sure you're switched on and spotting any errors. And on top of that, testing compared to development is a lot more like scatterbrained, like you're constantly switching from different things. So it's a very different challenge to development. But I enjoyed it, and I think it kind of set me up to start development quite well, because I was very interested in, first of all, understanding who the users were.
So if Marv was running a user research session, I'd always make sure to go along with that and try and understand, OK, what do the users want for the site? So even though I'm just testing it, looking for bugs, I'd still be thinking, yeah, but is this what the user would want? And if I thought I spotted something, I'd go, Marv, is this right? I don't know if a user would understand this. And I think that's a good foundation to start a career in development, because you're very much focused on the user. And history and government projects and all sorts of software projects have gone wrong, because they produce a piece of software, but they haven't properly consulted the users.
And then the whole thing fell apart, because they show it to the users, and they go, this isn't what we want. It doesn't solve the problem we've got. So yeah, so for that reason, I'm really grateful that I started off in testing, because I think that foundation is like, you know, it just gives you a, you know, when I'm doing development, I've still got an eye on that.
Tom: Yeah. Do you think some developers who haven't done any testing in the past, perhaps don't appreciate maybe like smaller things that you perhaps consider more if you've had that experience?
Mark: Well, I want to say yes, but I mean, it depends on the developer. I mean, like, you know, as I say, you know, I can think of at least a couple of developers here who kind of almost test their own stuff, anyway, their own work anyway. So, you know, like, you know, they're kind of, you know, just by, you know, doing that, they're kind of already bringing the kind of philosophy of a tester. But you know, and that it makes software more reliable by doing that, because, you know, by the time that the feature actually reaches the actual tester, it's, you know, it's already kind of, you know, got some solidity. So, you know, but then you just have to hope that if there is some really weird bug, the tester finds it. Nusrath's good though. She spotted a really weird bug in my code.
Tom: And what tips would you have for like going from being a tester to developer, if anyone did want to sort of go down that career path that you have?
Mark: Well, I don't know, because I kind of feel like I was always on the developer track, really, you know, because I kind of had the computer science degree. I was always interested in it. I'd already got ideas about, you know, how I was, you know, how I'd like to program and things like that.
So, so yeah, I'm not sure I'm qualified to answer, but I don't know. Yeah, how to, I guess, I think that, yeah, I'll say this. I think I kind of feel like, you know, one of the skills of a programmer is overcoming frustration, because especially in the current climate, there's so much to learn, like so much to learn that you just get overwhelmed by it. And I think everyone gets overwhelmed by it.
So what you've got to kind of do is kind of stop and just say, okay, I can't understand all this. So I'm just going to pick a little area. I'm going to learn that. And then maybe that reveals the problem. Maybe it doesn't. But in the long term, obviously, you're starting to build this kind of library of knowledge. So that's what I kind of, so I'd kind of say to people, just embrace the frustration, basically. Do you know what I mean? Except that's part of the journey of learning development. Like you've got, you know, I think everyone goes through it and you've just got to kind of say, you know, oh, it's not, you know, I'm not too dumb. I'm not, you know, anything. I just need, you know, this frustration is normal. I just need to persevere, really.
Tom: Yeah, that leads us nicely into talking a bit about maybe meditation, mindfulness. So when did you first start meditating? And do you think that's impacted your sort of skills and career and your work here at Hive?
Mark: Yeah, well, because like this thing, this kind of stuff is difficult to know, because, you know, you can never know the person I would have been without meditation..
And also, I'll also add the caveat that, you know, I don't consider myself an expert in this kind of stuff. So I kind of, I'll just kind of talk about my own experience. So I think I mean, so what I was, I got into meditation in a weird way. I was journaling a lot, basically. And it started off like a kind of journal where I used to write. So it happened at university and I was writing down, actually, yeah, university. And then I was just writing down like ideas I thought were cool or something. You know what I mean? I used to poke lots of people's insecurities by pulling out my journal while I was in the pub. In fact, I pulled my journal out once when I was in the Leadmill and I'm pretty sure the DJ thought, oh, he's the reviewer guy, you know, start putting on the moves.
Tom: So what were you doing with this journal?
Mark: Well, so first of all, it's just like this thing of like recording ideas, you know, that I thought were interesting. But slowly over time, it kind of evolved into this kind of recording, accurately recording what I've done with the day, you know, so like putting aside all my thoughts and interpretations of what happened, just recording what had actually happened.
Tom: So just being like really objective.
Mark: And then it evolved even further to the point where it was like, okay, I want to delve into, you know, kind of thought patterns I've got and sort of anything that might scare me or, you know, kind of create some kind of knee jerk response and try and trigger it through writing in the journal. And then I would kind of try and stay with it while I'm writing about it. Anyway, so I used to do, I was doing this for years, and it kind of evolved over time. And eventually, I can't remember when, but it kind of twigged that I was kind of meditating via, you know, like there are certain similarities between the two. So that's when I started like reading up about meditation. Yeah, so I think I was probably like, you know, when I properly started meditating, like was my early 20s, I'd guess. So, you know, almost probably almost like 20 years worth of meditation now.
Tom: Wow.
Mark: So yeah, but off and on, off and on. So I've done it a lot. And, you know, but I will also caveat with this, I mean, like, you know, I never really had a teacher or anything. You know, I never had any instruction. It was just me reading books. So like, for example, I think one of the things I, you know, and I think many people come to this kind of practice with this kind of thing, which is they're kind of like, they've got something, they don't want to, a kind of problem that they want to solve. And they think, oh, meditation is a tool that I can use, it'll solve the problem, and then I'll put it down, and then it will be done. And I, you know, and so I did that for probably a decade of my meditation. So, and now I think that's completely wrong, where I think meditation is a lifestyle change. It's a way, it's a different way of looking at the world. And it's actually about embracing what's happening now, rather than kind of rejecting it.
Tom: Yeah, and that lifestyle change, how have you applied any, maybe like mindfulness principles or anything like that to your work?
Mark: I think that was the original question, wasn't it? I think this is the one that's difficult. I mean, I think it definitely helped me. Because I think, you know, so I think, like, I'm not, I think one of the ways is that I don't, I'm not like overly concerned about being wrong, I don't think. And I think, and I think that can be a difficult thing for lots of people. And I think, you know, especially in development, I think there is a lot of insecurity, because I think the level of intelligence that programming asks for you is like, come beyond beyond what any one human can possess.
So therefore, you're always, there's always going to be this kind of insecurity of like, oh, am I good enough? You know, and I think lots of people can't deal with that. And yeah, I don't feel like I ever really have, you know, and it's not because I have like some super high opinion of myself. It's just that I just don't literally care, really, you know, like, I genuinely might be a terrible programmer. I mean, sometimes people have looked at my code and said something I go, damn it, they might be right.
Tom: Do you think you've managed to detach who you are as a person from the work that you do.
Mark: Yeah, yeah. No, I think that's a good way of putting it. I think the identification is an important component, because like people, you know, it can, you know, any job, you know, or anything you're good at, it can become like, oh, that's who I am. And therefore, if someone questions or attacks something you've done, so, and I'm sure development's full of like, you know, developers losing their cool over, you know, someone questions their code. And then, you know, that can sort of trigger a kind of emotion because, you know, it's not the code that's being questioned for them. It's their self worth. So I think that's one thing it can help. Or it has helped for me, I should say.
Tom: Yeah. Yeah. That's interesting. And in terms of like focusing as a developer, do you think it's helped you with that or like the sort of concentration side?
Mark: I mean, I think so, because so on the focus side, I think, because my personal view of how focus works is, I think there's a common perception of focus, which is like "in order to focus on a thing I need to push everything else away". Where I kind of view focus as "Actually thoughts and emotions arise all the time and you can't stop them from happening but you don't have to grasp onto them and interact with them, you can just let them pass by".
I like that scene in the film Pan's Labyrinth where a girl has to do some task but to do it she has to walk past this banquet of food and she has to walk past to do something and walk back but she gets tempted to eat the food and as soon as she eats this food, this monster awakens. And I feel like that's a great analogy for focus really, it's just so tempting when something comes into your head to think "I'm going to have a little trail of thought about it, rather than focus on the task at hand".
Tom: So do you think focus is the absence of engaging in things other than what you are meant to be focusing on if that makes sense?
Mark: Yeah, another analogy I've liked in the past is like a pianist. So if a pianist has got self-doubt then that means that self-doubt type thoughts are coming up and that's distracting their ability to play and they are more likely to make a mistake.
But then there's the other side of it which is where they have thoughts about how great they are. And then they are not playing the piece anymore, they are playing their interpretation of the piece, they are not an instrument for the music to present itself, it's more like a show where they get to show off. So I like that component of focus.
Like I don't think I achieve this but when I write a piece of code, I don't want people to think Oh Mark is clever, I don't even want them to think Mark at all, I want them to think oh that's what the problem was and that's how it was solved, or that's the correct way to solve it.
And I think the same way about the pianist, no one should be thinking about the pianist it should be the music just speaking itself.
Tom: And this is a more specific question but from your experience what tips would you have for anyone getting into software development?
Mark: Well, I guess the frustration thing. There's just a lot to learn. I guess there is a point to watching videos and seeing how other people do it. But, also you just have to do a lot of programming. I think one thing that's helped me a lot on the job is having other people criticise your code.
Tom: Is that because you learn from it?
Mark: Yeah, yeah.
Tom: Okay so the final question is what can people do to Make Things Better?
Mark: To Make Things Better? I am going to skip the question because there was a philosophy exam and the question was "What is courage?" and someone answered "This is.". So yeah I don't know, I don't know what's right I am just a confused person trying to make my way like everyone else.
Tom: Haha that's like the most honest answer, so where can people find you?
Mark: I am on Twitter but I don't remember my handle.
Tom: No worries I'll include it somewhere. So thanks a lot for coming on the podcast, thanks for watching, listening or reading and we hope you have an amazing rest of your day.
Links
Mark Youngman’s Website
Subscribe and keep up to date.
Each episode is available to stream from: