Description
In this episode, we talk about how to think like a CTO with Joel Beasley, author of Modern CTO, and host of the Modern CTO podcast. Joel talks about getting hit by a car when he was younger and using that rehabilitation period to learn how to code, selling his first technology at the age of 18 for one million dollars, and what he’s learned from interviewing so many CTO’s.
Show Notes
Transcript
[00:00:05] SY: Welcome to the CodeNewbie Podcast where we talk to people on their coding journey in hopes of helping you on yours. I’m your host, Saron, and today, we’re talking about how to think like a CTO with Joel Beasley, Author of Modern CTO and Host of the Modern CTO Podcast.
[00:00:20] JB: The software feature I’m building, how does that actually connect to revenue for the company? You start asking questions like that, and you’ll learn a lot really fast.
[00:00:30] SY: Joel talks about getting hit by a car when he was younger and using that rehabilitation period to learn how to code, selling his first technology at the age of 18 for one million dollars, and what he’s learned from interviewing so many CTOs after this.
[MUSIC BREAK]
[00:00:56] SY: Thanks so much for being here.
[00:00:57] JB: Oh, I’m so excited. Thanks for having me.
[00:01:00] SY: So Joel, you are a very accomplished individual, fellow podcaster, also accomplished business person. You started writing code at the age of 13 and sold your first technology just five years later at 18 for $1 million. So you became a millionaire before the rest of us graduated college, which was very impressive. Take us all the way back. Take us back to 13 years old. What got you into coding in the first place?
[00:01:26] JB: My dad is an engineer in the Air Force. They put the GPS system into the B-32 stealth bomber.
[00:01:31] SY: Wow!
[00:01:31] JB: And so that’s where he learned hardware and software development. And then when he came out of the Air Force, he would do a lot of freelancing, nights and weekends type stuff. People were getting their first computer systems installed in their businesses. So he would take me with him after work because I had some siblings and my mom was like, “Hey, just take one of the kids with you.” So that ended up being me a lot. So I got to experience many different office environments, many different types of technologies, computer systems. And so I got into it like as a hobby or an interest like around age 8. And then it wasn’t until I got hit by a car around age 13 and I came out of school for two years and was in a wheelchair and I had to go through the process of learning how to walk again.
[00:02:12] SY: Wow!
[00:02:12] JB: I took that free time that I had outside of school, and I found out you could make money on like script-lance and some different websites and they didn’t care that I was 12, 13 sitting at home.
[00:02:23] SY: Do they even know?
[00:02:24] JB: No. No. So I figured out how to make money and then my mom and my stepdad were both real estate agents. So later in high school, I would hang out at their real estate office after school and I would hear different agents complaining or having issues or desires. And I would just build little softwares. Those eventually turned into a larger application, which I then partnered and then grew it and sold it.
[00:02:48] SY: That is so interesting. What helped you go from, “I’m hanging out with my dad and I’m hanging out at home, having fun, coding, learning these skills,” to, “I’m going to make a million dollars”? That feels like a big leap for that age. Right? Like I think that most of us don’t consider business as a real opportunity or making products that become startups and businesses until much later. How did you kind of make that connection so young?
[00:03:16] JB: I don’t know.
[00:03:17] SY: Okay.
[00:03:18] JB: I liked money when I was young.
[00:03:20] SY: Cool. Yeah.
[00:03:20] JB: And one of the first projects that I tried to do, because I was sitting at home all the time, I was only able to really order pizza when I was laid up with my broken leg. And so I got sick of it. And I wanted to order from Outback Steakhouse or Chili’s or something. And there were no food service type companies then. So I had the phone company, a cell phone jack in my room so I could take calls. And my first call was to the newspaper to place an ad for a delivery driver because I figured I’d make a little business out of it and they laughed at me trying to make the ad because they could tell, now being 34, you can tell when it’s a 12-year-old boy.
[00:03:56] SY: Yeah. I got a high little voice, hasn’t quite matured yet. Yeah.
[00:04:00] JB: Yeah. They laughed at me. And then in that whole process, I was going to build a little web app to help me with the orders and everything. And that’s when I just found out this is way easier. I can just make some money and I ended up just making money, writing code for people. And then it was really about solving the problem. It wasn’t setting out to make a million dollars. And trust me, I tried to do it multiple times after and failed. So it’s not easy to do that. But I thought it was because my first experience was pretty easy, but then I pretty much blew that whole amount of money. I mean, what do you think would happen if you give that much money to an 18-year-old?
[00:04:35] SY: That’s a good point. Wait, where did you spend it all? At 18, did you buy a nice car? How did that happen?
[00:04:41] JB: No comment.
[00:04:47] SY: Okay, fair enough. Okay. So at that point, why did it feel so easy? You said that the million dollars just kind of happened and you realized when you try to do it later over the years, it was a lot harder. Why do you think it was so easy at that point?
[00:05:00] JB: Yeah. So the first time I was doing something really successful that I didn’t realize was what you’re supposed to do. And I was spending a lot of time with the customers because I was in that real estate office and I was hearing them and I’d build something and I could see them use it because we were all in the same room and that created a really great product. And then later, the next product I tried to do was like an isolation and that didn’t work out super well. And then and I started reading and educating myself better on product development and figuring out that that’s actually a really key part. So then I connected those dots on making better products, being really close to the end user.
[00:05:39] SY: That makes a lot of sense. Yeah, I totally get that. Tell me a little bit more about what that real estate software looked like. What did it do? What problem was it solving? Tell me about that.
[00:05:49] JB: So it did too many things. It did a lot of things. And I ended up building a total of four different real estate softwares over the course of five years. I mean, honestly, it’s a cool one to talk about because it was like the first big one, but as far as technologically cool, it was not. It was like super basic marketing listings. And the one after that, that I did, which was financial software and portfolio allocation and predictive analysis and all of those types of cool things, that was way more fun from like a nerd standard, projecting someone’s portfolio over the course of their lifetime, given different tax brackets and all that stuff. And then I went into a fitness project, built some fitness software and then did a second financial software. And then after that, my mom got sick and she passed away within like two weeks.
[00:06:44] SY: Oh, I'm sorry to hear that.
[00:06:45] JB: So it was like a big surprise to all of us. She randomly found out she had leukemia and they’re like, “Oh, she’s got a year or two.” And then like a few weeks later she passed away. And so that was like a big moment for me. And I decided that I’m going to try harder because until then I hadn’t really tried super hard. And that’s when I started to like write the book and the book turned into a podcast and then the podcast got popular. And so it’s been probably about three years since I’ve been writing code. The first two years of the podcast, because it’s five years old, the first two years I was still writing code. We were building a leadership development platform. So I haven’t been writing code full-time for like the past three years, just been doing the podcast.
[00:07:24] SY: When you were building these apps and learning how to code, what did the learn to code environment look like at that point? Because these days it feels like there are so many resources, free resources, paid, cheap, premium. There are so many different ways to learn, but back then, what did it look like?
[00:07:44] JB: Kids these days are spoiled. Right?
[00:07:45] SY: Yeah.
[00:07:48] JB: The way it looked like is you went to Barnes & Noble and bought a book.
[00:07:52] SY: Yup.
[00:07:52] JB: I didn’t figure out I could even do that until much later. Basically, the first couple things I wanted to do, I just looked at the documentation of the language I had been programming in and just tried to figure it out and trial and error and like a lot of trial and error. And then at some point, I went on a trip and I was at a bookstore and I saw that they had books on programming, like very specific things, like principles and testing. And I was like, “What is all this stuff? What is testing? What are these design patterns and dry principles and all of this stuff?” And I learned a whole lot. So I just started buying a lot of books. And so that was probably several years in the programming that I figured out you could buy these books and learn and you could go a lot faster, but the first several years were just digging through documentation and trial and error.
[00:08:44] SY: If you were learning to code today, right? You discovered code for the first time today, knowing what you know now, having a lot of experience over a decade of experience, how would you approach it? How would you approach your learning journey given the resources that are available today?
[00:09:00] JB: Well, see, now there are so many different niches too.
[00:09:03] SY: That’s true.
[00:09:03] JB: So I’d figure out wherever I wanted to be. Like if I wanted to be in data science, I’d probably go to like data camp. If I didn’t know what I was wanting to do and I wanted to play a bunch of stuff, I’d probably go like Pluralsight or something. I guess that’s probably what I’d do is I’d go there and then I’d find a friend or somebody to talk about it with in-person or audibly, even if you’re remote, because for several years I was programming and I didn’t talk about it to anybody. I mean, I typed it out to people I was working with and whatnot, but actually verbally speaking about code and objects and memory and saying those words aloud actually was kind of hard for me. If I would have started it from the beginning, it would’ve been a lot easier for me to pick up conversational so I could talk to other programmers in person. So I would do that sooner by connecting with somebody and talking more about what I was doing and why I was doing it, sort of like pair programming kind of.
[00:09:55] SY: Why is talking important?
[00:09:57] JB: Like when you grow your team, you have to be able to talk with the people about it. You have to be able to interview. And if you’re an individual contributor and you’re working on a project by yourself, it’s not really that important, but the moment you start working with people, and now, today, that’s the other thing. More and more and more, you’re just having to work with more people because there are more specialties.
[00:10:19] SY: That’s true.
[00:10:20] SB: There were a lot of know-it-alls in the ’80s and the ’90s. Those people have kind of died off because you can’t know it all. There’s way too many areas to be an expert and you just can’t possibly do it.
[00:10:31] SY: I think that’s one of the things that makes coding so much more intimidating these days is it’s grown so much, the industry has become very specialized, and there are so many more things you can do than ever before. And I know that a lot of people who are starting their coding journey just get really overwhelmed. They get that paralysis of, “Oh my goodness! Where do I start? Where do I go? How do I know what to pick and all of that?” Do you have any advice for people like that who are trying to start on step one and are seeing just so many options, so many different certificates and languages and frameworks and fields and specialties they can go in?
[00:11:12] JB: So I get people at reach out a lot from the podcast and ask me questions like that. And one gentleman specifically was asking me, “I want to learn machine learning,” and came up with a couple of different projects and they sounded kind of boring to me. And I was like, “Those sound kind of boring. Is that really what you’re interested in?” They’re like, “No, but I think that that’s going to be the best for me professionally.” And I said, “Well, what do you care about?” And he’s like, “Oh, I’m really into music.” I was like, “Okay. What type of music?” And I think it was like metal or something. And I was like, “Okay. So you’re really into metal music.” And I was like, “Why don’t you find a data source that has all the music and maybe process their lyrics and find some patterns there or process their chord progressions to see similarities? Find something to do with the data that’s in an area that you’re interested in.” You’ll be far more excited about that than loving metal music, being 17 and trying to process accounting data. You know?
[00:12:11] SY: Yeah.
[00:12:12] JB: I’d also get a code mentor. There are all types of people. There’s actually a site called Codementor, but there’s all types of people on it. I did it for fun for about two years or so, just mentoring people that were coming out of code camps all over the world. My goal was to help them cut down their curve from where they are coming out bright-eyed and bushy-tailed from a code camp to figuring out like all those fake projects they essentially booted up and cloned. Like, “What are you supposed to be doing with them and how do you get from where you’re at today to actually passing a job interview and joining a team?” So back to my advice, to my past self, I’d say that I would find a mentor and it doesn’t have to be on Codementor. You definitely want a peer that you can talk to about and then you want a mentor that can help guide you in the right direction. And then as quickly as possible, I would say you should get someone under you to teach you. It’s like the moment you’ve got Hello World and you’re like kind of pass that, start volunteering and helping people that don’t even know how to install the language onto their computer because then you would start developing that teaching skill and that tends to be important if you want to go into either management or if you want to be the best in your field. I haven’t found anybody in all the conferences and all the people I know. I haven’t found anyone that’s like the best in their field that don’t have like the ability to teach.
[00:13:36] SY: That’s a really good point because I hear all the time this advice of, “If you really want to make sure you know something, teach it.” Right? Teaching is the way to kind of double down and really make sure that you know what you’re talking about. But I don’t know if I’ve heard someone say, “But also that’s a skill of a manager. That’s a skill of an expert.”
[00:13:56] JB: Well, a good one.
[00:13:57] SY: Yeah, a good one. Yeah, fair, fair. Fair. And so if your goal is to become a manager, move up in your organization, in your career, that’s probably a good skill to start working on, start practicing.
[00:14:11] JB: Yeah. I saw a lot of people, like when the whole thing came popular of, “Oh, there’s a management track and there’s an engineering track.” I saw a good amount of people sort of use that as an excuse to not connect with other people and try to grow themselves farther. And I want to tell them, like tap them on the shoulder and say, “Hey, the people who will go farthest on the expert track, you still have to have these skills to go to the end.” It’s like interstate highway, you can just keep going or some people just get off at Exit 3 and they don’t go to Exit 100.
[MUSIC BREAK]
[00:15:06] SY: So let’s dig into just this idea of a CTO. How would you describe what a CTO does?
[00:15:14] JB: So it’s going to be different based off of the company. So a lot of people will ask me, “Oh, what’s the roles and responsibilities?” This guy, Eric Weiss, put together something that I’m a huge fan of and I’m including it in my next book. I asked him if I could because I saw him give a talk on it and it’s called the CTO Maturity Model. And it shows at what stages of growth and personnel like from revenue and personnel and product, these different maturity levels in what the CTOs focuses at each specific level and it changes as the company grows. In general, the CTO is the person at the company who is responsible for the technology. Typically, outward facing, you’ll find CIOs will typically do the inward facing technology, internal networks, internal allocation of equipment, all those types of things. And then you’ll find a CTO is generally deal with outside stuff, the products that are being developed, things like that.
[00:16:10] SY: I think that at least when I think about a CTO, the CTO is usually the highest person in the organization on the tech side of things. Right? They’re the Chief Technology Officer. And so I guess I’ve just kind of always made this assumption. I don’t know if it’s right or wrong and I’m curious to hear your take on it, that the CTO, by virtue of being the highest person in the org chart, is also the most expert and the most knowledgeable. How true is that? How much does the CTO actually know compared to the senior engineers or other people on the tech team?
[00:16:46] JB: Well, from the aspect of the role of CTO, they probably know it the best because they have the most experience of the responsibilities of the CTO. As far as the technology goes, you definitely don’t want to be the smartest person. You want to hire people that are far smarter than you.
[00:17:02] SY: Tell me more about that. What is the relationship, I guess, between the CTO and the engineering team? The engineering team is kind of the technical experts. What does that relationship look like?
[00:17:11] JB: It’s different at different companies in different sizes. I’m not trying to not give you a straight answer, but typically what the CTO is going to be doing, and all this is prefaced with like a good CTO, right? I’m sure there’s at least one person listening that has a bad one. They’re like, “That’s not true.”
[00:17:27] SY: “That’s not my CTO.” Yeah.
[00:17:28] JB: Right? The first thing you’ll have to do as a CTO with your team is you have to find out what drives the individual and then what you need for that position, for that role. So I need these attributes from that role and then this is where that person is driving towards. And then if they’re aligned, that’s a good thing because sometimes they’re not aligned and then it’s not fair to you or to them. So understanding what your team member wants versus what you need out of them, how that meshes together, whether it does or it doesn’t, that’s a skill that good CTOs will have. And so they’ll have all the people rowing in the same direction and on a common mission. And that’s super important because that’s how you’re going to get the best work environment. You’re going to get the best product. You’re going to get the best of everything, if you have a really talented people who are all pushing in the same direction.
[00:18:26] SY: Would you say there is a particular personality type or disposition that good CTOs have? Or do they come in different personalities and temperaments?
[00:18:39] JB: Well, they absolutely do.
[00:18:40] SY: Yeah. Tell me about that.
[00:18:41] JB: So you can be quiet and be a good leader. You can be loud and be a good leader. You can be quiet and be a bad one. You can be loud and be a bad one. I found all different shapes, sizes, colors, attributes, everything, it’s really what they focus on because you can be quiet and you can focus on what’s best for your team and you can be loud and focus what’s best for your team. Right? So it’s really about what actions are they taking, where are they spending their time, how aware of the culture they are, and if they’re happy with what their culture is.
[00:19:14] SY: What are some patterns that you’ve noticed amongst the good ones, the good CTOs, the ones that are effective and impactful at their job? What did they have in common?
[00:19:25] JB: The first one that comes to mind is Cody. He was the CIO of T-Mobile for 20 years or something. And he was one of my earlier interviews that sort of made the podcast popular. So I’m very grateful to him for that. But he had said something along the lines of it’s all about the people. And at the time, I knew that was kind of important, but I thought that was like 20% of it. And I’ve come to realize that’s like 80 plus percent of it.
[00:19:53] SY: Wow! Okay.
[00:19:54] JB: That was a real big one. Another one, Mary Beth Westmoreland. She’s one of my favorite CTOs. I think she left Blackbaud and I think she’s over at Amazon now, but she’s fantastic. She had said something that stuck with me, “Don’t shop hungry,” and it was in reference to hiring. She goes, “If you go to the grocery store and you’re really hungry, you’re going to grab whatever you can grab. You’re going to walk out that grocery store, look at that cart. It’s going to be full of junk food.” I’m like, “Yup.” And she goes, “If you’re hiring and you have some sort of hiring quota or you have to bring these amount of people in and you’re hungry and you’re desperate, you’re going to end up bringing in a lot of junk and that’s going to slow you down.” So she said, “Don’t shop hungry. Take your time with finding the right people and wait for them.”
[00:20:35] SY: Yeah. I’ve always heard the advice, “Be slow to hire and quick to fire,” which, as someone who’s hired people, I find very difficult to follow because when you want to hire people, you want them now. You want to get to work and start doing it. Then when you have to let people go, you’re like, “Oh, but maybe we can work it out.” So I find that advice very difficult, but I do agree that it’s really powerful and really true.
[00:21:00] JB: So I’m slow to confidence. It takes me a long time. I start out, my base level is like highly shy. So when I meet new people, I’m typically the quiet one until I figure out like what’s going on. So because I’m shy, it was really hard for me the first time having to fire people. And it was even harder when they were older than me. You know?
[00:21:19] SY: Oh, yeah, that’s awkward.
[00:21:21] JB: That’s even worse. My business partner had taken me into the room and I thought he was going to let him go, and he was like, “Do it.” And I was just like, “Oh, no!”
[00:21:30] SY: Oh, surprise!
[00:21:32] JB: Yeah. Yeah.
[00:21:34] SY: Oh, that’s painful. Yeah.
[00:21:35] JB: Yeah. It was painful. And then it didn’t get easier, like the second one or the third one. After like 20 people, it got easier. So I kind of want to share something that I learned. The first thing is that your natural instinct is to not want to fire people. Right? Because you’re empathetic and we’re humans and we don’t want to do that to somebody. You need some perspective. So for example, let’s say you perceive them to know more about what they needed to know about when you hired them, right? And then they get into the role and they're way under skilled for what you need. Well, you would find the perspective of why this needs to happen or why it’s a good thing or how it will benefit them. So for example, I could tell that person, “Hey, it’s my mistake. We didn’t vet this position closer. We needed somebody that has several years more experience than you currently have in this. And let’s say for argument’s sake, we don’t have any other position to move you to that’s less skilled. So we can’t have you on the team or we have to let you go.” And I would focus on sharing some insight with them later at a later point where they would be better off like at a company that's willing to teach, like look for that or help them based off of wherever their skill level is currently. But what I want the takeaway to be from this is you have to find out how it’s beneficial for them for you to let them go and then own any part of it that was your fault and make your processes better so it doesn’t happen again.
[00:23:03] SY: Yup.
[00:23:04] JB: Yeah, but I would also say another thing I learned that’s really, really important is there’s a time for storytelling when you want to sell ideas. Storytelling is great. I’m going to bring you on this journey, how I came to this decision. I love telling stories. Right? Big fan of it. Blows up in your face if you try to tell a story when you’re firing somebody. So they think you’re explaining to them something because you often talk with them. Right? And they’re trying to like, “Wait, am I being fired?” After that happened a couple of times, I started talking to some other people and I realized that bring them in and simply say, “We’re letting you go. Today will be your last day.” And then their whole world is going to implode. And so they’re usually either going to be quiet and say, “Okay, thanks. I knew this wasn’t a good fit.” Or they’re usually going to yell and be upset, which is understandable human reaction. You just want to be really, really clear and not tell a long story. They don’t care really why they’re being fired. They might ask and stuff. That’s another thing too. Sometimes they’ll ask or they’ll want to be combative and say, “Oh, what was it?” They’ll try to find a specific point and then maybe defend it or whatnot. Don’t get into that dance at all. “This is going to be your last day. Thank you so much. Appreciate it.” Here’s how you do exit, but this is firsthand Joel experience. This isn’t something I learned from somebody else.
[00:24:22] SY: Yeah. Yeah. Yeah.
[00:24:23] JB: It’s way different when it’s your money too. So I was really shy until I was going broke because I was hiring bad people. And then I was like, “I’m sorry, I can’t go broke. I have to get the right people in here and I have to do it fast.”
[00:24:37] SY: So you mentioned earlier that it is all about the people and that you thought maybe it’s 20%, but really it’s like 80%. What does it mean when someone says it’s all about the people? What does that actually mean? What does that look like?
[00:24:50] JB: I mean, people make the product and people buy the product. If you didn’t have people buying the product, there wouldn’t be money to make the product. So just by those two arguments alone, it’s mostly about people. The technology is a small piece in there, that’s like a transitionary piece that you’re leveraging. It’s like a hammer. It’s like, “Here’s the hammer.” People don’t want to buy a piece of wood with nails on it. They want to buy a house. You know?
[00:25:17] SY: That is such a great way to put that. I love that. I’m going to steal that from now on. I just have to explain.
[00:25:21] JB: Yeah. That is not for me. That is a butchered version of some other smart person.
[00:25:25] SY: Okay. That’s a good butchered version.
[00:25:28] JB: I know. Right? I was like, “It came out okay.”
[00:25:30] SY: Yeah. Yeah. I like that. That is so interesting. It took me a while to kind of appreciate that reality, just in terms of building a business and building a product is that people don’t actually care. Maybe developers care, like your hardcore developers who want to know what tool are you using and what tech stack. Maybe they care. But for the most part, customers don’t really care. They care about if you solve a problem and if you are addressing their needs and if you’re helping them do a particular job. The implementation details are just details and that’s not really what you’re there for. It took me a while to kind of appreciate that.
[00:26:06] JB: Yeah. I mean, humans spend money to solve a problem.
[00:26:08] SY: Yup.
[00:26:09] JB: I can’t find an example of somebody spending money that’s not to solve a problem by luck. So I guess one of the things I would wish I would have done earlier as an engineer was figure out the software feature I’m building, how does that actually connect to revenue for the company? You start asking questions like that and you’ll learn a lot really fast. It’s like, “How does me doing this connect to revenue and how many hops away is the task that you’re doing from actually generating revenue?” If you get too far out there, this is more of a management thing too. When you’re trying to do resource allocation, obviously you’re going to cut off the projects that are super far from revenue, and you’re going to focus more on the features and development pipelines or things that are closer and tighter to revenue.
[00:26:58] SY: Going back to this idea of it being all about the people, when a CTO, a good CTO implements that thinking, that perspective, that philosophy, what does it look like? How do you translate that concept into actions, into culture, into your work? What does it mean for a CTO to make decisions, create an environment where it’s all about the people?
[00:27:24] JB: What’s running through my mind right now is a little bit off from answering your question exactly, but I think it’ll help.
[00:27:30] SY: Okay.
[00:27:31] JB: If I had to go into a time machine and go back to myself and I had 15 seconds and I had to give like the best stuff to my former self and I only had that amount of time, the knowledge that would help me the most in all of the areas would be like become a better person. Just always figure out how to become a better human being than you were the day before. Because, look, really great people, magnetic leaders, I mean, you meet these people all the time, right? These humans, they’re really great humans. And when you got really great humans and somebody who’s constantly trying to grow themselves and improve themselves, all the other stuff sort of takes care of itself. You’re going to be around good people because that’s the environment you have to be in in order to grow yourself. You’re going to have good relationships and things are going to be running smooth because those are prerequisites to having enough energy and time to grow yourself. You have to make sure your environment is stable and productive. And so the root of things are just be a really, really great person and treat people with respect. It’s all the clichés really. Oh, that’s another thing too. Clichés are things that people don’t like because they’re true. And when I found that out, I was like, “Oh my goodness. So if you just need wisdom, just go to the clichés.” The clichés are like the best sources of wisdom and every generation simply repeats the same principles of the cliché with their own language. And I was like, “Oh, okay, cool. So if I want the knowledge of an entire generation, all I have to do is look at the clichés of the ’80s, ’90s, and 2000s. And now that’s just going to repeat forever, just with different words in different contexts. But yeah. I heard this guy, Jim Rohn, when I was broke at the time. So I made a lot of money and then I was broke and then I figured out how to make money and manage it and then grow a business. But I was really frustrated and I was thinking to myself, I was like, “Why? This sucks.” The position I was in really was not good. My house was in foreclosure. The repo man was banging on the door. I had lit candles because my electricity was out and I learned that you don’t like scented candles for light because you wake up in the morning and is all over your face.
[00:29:48] SY: Oh my goodness!
[00:29:49] JB: The next day, I just somehow came across this YouTube video of this motivational speaker guy from the ’80s and ’90s named Jim Rohn. And he said the sentence that is burned into my mind and I never have to write it down because it just imprinted itself on my brain. And it’s the most frustrating thing in the world is expecting above average results without being an above average person. And I'm just like, “Boom!”
[00:30:15] SY: Oh, I love that. Oh my goodness!
[00:30:18] JB: That’s why I was so upset. I was thinking I should have highlight real celebrity level of success, but I wasn’t putting in the work to be an above average person. And so I was conflicted internally and frustrated. That moment was like my first attempt to like, “All right, I’m going to be an above average person.”
[00:30:35] SY: What does that look like in the context of being a CTO, being a developer, being in tech in general, this idea of being an above average person?
[00:30:46] JB: So people respect things that are difficult to do. I don’t question it. I just observed it. Right? So for example, everyone’s always like, oh”, you wake up at 5:00 AM?” It’s like, “Yeah.” But I mean, it’s all relative because if I were on a different time zone, 1:00 PM could be 5:00 AM. Right? So that’s why it doesn’t make sense. It’s not that you’re getting up at a specific time. It’s that you’re doing something that other people are unwilling to do that’s difficult. Doing those difficult things creates discipline and discipline bleeds across your entire life. So the discipline I get from waking up at a specific time or going to the gym is equal to the discipline that I’m going to write the code correctly the first time or I’m going to write tests and do everything right and not cut corners. So discipline, you can’t compartmentalize, “I’m disciplined in these areas of my life,” and then I’m just completely off the rails and all the others. You probably could improve some discipline, but you’re raising that bar of discipline across all areas of your life when you do it. So people will ask me for advice when I give talks and things like, “Oh, how do I become a better CTO? What books do I read?” And I was like, “Do you go to the gym four times a week? No? Do that.” That will make you a better person. We are human and our consciousness is stored inside this organic computer and it has properties and we need to maintain it. We need to take care of it, like maintenance our car, we have to take care of it because it directly affects your ability to think and process. That’s one thing that I learned that was really important. I take it to the extreme now. I could tell you, this morning I had 29 grams of oats for breakfast with three ounces of ham, two blueberry waffles, and four ounces of jam and 18 grapes.
[00:32:32] SY: That sounds like a really good meal. I’m not going to lie, that sounds delicious. Nice balance. You got some sweet. You got some salty. That’s a great combination. So how do you know that you are ready for a CTO position? The CTO person is not necessarily the most expertise or not necessarily the person who’s been coding the longest or knows the most. How do you know that you’re ready to apply for that type of job or seek that type of position?
[00:33:07] JB: I think maybe if you know, you waited too long. If you have a desire to do it, go do it. People ask me, “How do I become a CTO?” I said, “Go pay $195 to your state, file an LLC, and give yourself the title of CTO. You can do it this afternoon.”
[00:33:21] SY: Amen.
[00:33:22] JB: So I’d say like why should you go for CTO? You should go for CTO if you like big picture thing and you like people or you want to be a CTO so bad, you’re willing to learn skills you don’t have to become it because you’re really that excited about it. You can use just raw interest in having the title, but you have to learn a lot of skills to be it. I went from quiet, shy, introverted engineer to this, and it’s a very painful path. It would have been a lot less painful if I just stayed in my technology space and mastered a specific style of technology and never given any talks and always have been a team member or something, but it’s a lot more painful, but it’s also a lot more rewarding to do.
[00:34:13] SY: Coming up next, Joel talks about what he looks for in a good CTO and how people can attain those skills to become one after this.
[MUSIC BREAK]
[00:34:33] SY: So if you were to start a new company or maybe hire a CTO right now for an organization, what would you look for? What kinds of things catch your eye, get you excited about a particular candidate when you’re hiring for that role?
[00:34:50] JB: I really like when they understand the market. So when they understand the market and they understand how this product fits into the market, that’s really useful. Aside from all the great leadership things you communicate well, admit what they don’t know, like be a great person, try to be a growing those types of things, really care about your people. I don’t know how to give a test for people who have the right energy for the team, but a lot of people say, “Oh, you want really high energy positive people? What type of person do you want?” And I say, “Well, the team in the company and the culture dictates that. Right? So it’s not like one’s better than the other. I would say one’s better than the other in context. If you have a team of very mild engineers and you put a loud, great engineer on there, that might create some conflict. Who knows? I wouldn’t do it. I would try to keep the team similarly balanced of course with diversity of thought.
[00:35:47] SY: So how might someone attain these skills? Because one thing that I’m kind of appreciating in our conversation today about what a CTO does and what role they play, what makes a good CTO. I don’t know if it requires a team, but if we’re talking about leadership skills and management skills being so integral, you got to have people to lead. You got people around you to delete, help make decisions, support, that kind of thing. So if you are hoping to get that CTO title one day at an organization maybe that you really respect or you want to be a part of, what are some ways that you can kind of work on those skills? What are some ways you can attain those skills before you feel like you’re ready to apply?
[00:36:30] JB: So it’s super easy and everyone can do it today. All you have to do is you are the first person to lead yourself. You look at yourself like a project and lead yourself, shape yourself, give yourself feedback, grow yourself, watch yourself grow, learn what doesn’t work to motivate you and does work to motivate you. Learn how you feel about the feedback you give yourself. Use yourself first because you cannot lead other people until you can lead yourself. You can get promoted to a position where you’re leading other people, but you can’t effectively lead people at a world-class level without leading yourself. So that’s what I would say. I’d say start with yourself. And then let’s say you’ve got that going, right? Let’s say you’re an engineer. You’re a healthy person. You’re active. You got a good emotional structure in your life, right? You have relationships and people you care about and you’re a part of community. So you’ve got all those bases covered and you’re an engineer. So you’re leading yourself well. Right? And now you want to show people maybe that, “Hey, I can lead myself, but I can also lead other people.” You don’t need the title. Leadership is influence, right? That’s the basis of it. You can go develop influence with people. It’s like how do you develop influence with people? Provide them something of value. You’re useful to them in some sort of way. You have their respect in some sort of way. So you can go around and start developing influence with other people, within your team, and within your organization. Do the things that you want to do for the position you want to be. And it’s like the cliché, dress for the job you want, not for the one you have.
[00:38:05] SY: Do the job you want.
[00:38:08] JB: With the one abstract that I have had people that do this, they come back to me and they’re like, “This didn’t work.” And so I like to pass this along. Don’t actually take someone else’s responsibilities away from them and you can’t actually let people go if you can’t actually let people go. So it definitely takes some base level intelligence to implement this advice.
[00:38:29] SY: Yes.
[00:38:29] JB: But if you’re one of those people that are listening and you can read the room, you know what that means, and you’ve got a high emotional intelligence, you can simply go as far as you want, because that is one of the things that’s the hardest in the world to teach and it’s one of the things that holds people back that even want to do it the most.
[00:38:55] SY: Now at the end of every episode, we ask our guests to fill in the blanks of some very important questions. Joel, are you ready to fill in the blanks?
[00:39:01] JB: Let’s do it.
[00:39:03] SY: Number one, worst advice I’ve ever received is?
[00:39:06] JB: Advice that lacks context.
[00:39:10] SY: Oh, interesting.
[00:39:10] JB: So it’s like the worst style of advice. You’ll hear advice and you’ll hear some speaker give it, and it’ll be like a one-liner, but if you don’t have the context in which they were giving that advice, like maybe the story and how they came to learn that, you’re in for some hurt. You have to understand if you’re taking advice from people or take advice only from people that have done what you’re specifically trying to do. Ignore everything else. So if I want to learn how to do something, I typically go on Google and find who the smartest person in the world is that’s alive in that area and I send them an email. And people are like, “Well, you could do that. Now you have the podcast.” I did that before I had the podcast.
[00:39:50] SY: Yeah.
[00:39:51] JB: And it works. People will respond to you.
[00:39:52] SY: Cold emailed at 22.
[00:39:54] JB: Yeah. Hey, when we got the CTO of Verizon on…
[00:39:57] SY: Wow!
[00:39:58] JB: You know how we did this? So I literally sent an email to the CTO of Verizon and within five minutes he calls me back. His name’s Hans. He goes, “Hey, got your email. I definitely would love to come on your show, but it’s not public knowledge yet, but in a couple of weeks I’m going to become the CEO. So I don’t think I should be booked on your show, but this guy, Kyle, he’s going to take my position as CTO and I think you should have him on.” And I was like, “Cool!” T-Mobile and Verizon were two of our first big guests.
[00:40:24] SY: Wow!
[00:40:25] JB: I was really surprised at how quickly he called back.
[00:40:29] SY: Number two, best advice I’ve ever received is?
[00:40:32] JB: That would be Kyle’s advice. I do that. I actually implemented it. I have a recurring event in my calendar every quarter and I do that. Inevitably, the moment I get the little doo-doo-doo-doo, I have forgotten the advice and I remember the advice by seeing that notification. And then I sit down, I spend five minutes doing it and I almost always hire somebody or change someone’s role. I always make changes. I’ve never gotten to the point where I’m like… actually one time I got to the point where I was cool with it, like one of the times, and I said, “This is a problem because I’m not growing.” For my specific scenario, I hadn’t been growing. I was taking it kind of easy that quarter. I upped it to do something more difficult the next quarter. Basically, I did the how you want to spend your time, but then I added how I have to spend my time to grow myself in there. And that’s also how I want to spend my time. You don’t want to be stagnant. That’s how you go backwards, which sucks.
[00:41:25] SY: Number three, my first coding project was about?
[00:41:28] JB: All right. So as a kid, I thought my dad was really teaching me how to code. As an adult, I realized he was giving you busy work to keep me busy so he could get his work done. I know. I know. He was having to run through all these like DOS commands, like IP type stuff, and reporting back the information to him. And basically just all like diagnostic stuff. And I found out you could actually write scripts. So you press a button and it ran all the routines and when he found out that I learned how to do that. So he’s like, “Oh, tonight, for the next four hours, you're going to run these 20 commands,” and it happened to be the same ones that were from the previous night. And I read the script and like whoop and he’s like, “How’d you get that done so fast?”
[00:42:11] SY: He’s like, “Oh, no!”
[00:42:12] JB: “Oh, no!” So that was the first technical piece of code that I wrote. Yeah.
[00:42:19] SY: Number four, one thing I wish I knew when I first started to code is?
[00:42:24] JB: So people do this thing where they will hop around different languages, and I think it’s harder to do it that way. I think if you dive a mile deep on one language to understand it completely and fully, you can pick up other languages super fast because you understand the core principles. So I’d say there’s too many things. You definitely want to understand core principles of programming that transcend languages.
[00:42:49] SY: Well, thank you again so much for joining us, Joel.
[00:42:52] JB: Thank you for having me. I really appreciate it.
[00:43:00] SY: This show is produced and mixed by Levi Sharpe. You can reach out to us on Twitter at CodeNewbies or send me an email, hello@codenewbie.org. For more info on the podcast, check out www.codenewbie.org/podcast. Thanks for listening. See you next week.
Thank you to these sponsors for supporting the show!