[00:00:20] Kate Martin: Welcome to the apprenticeship.io podcast, where we gather the courageous leaders, the tech industry needs to talk about education, equity, job hunts, hiring in tech and you guessed it apprenticeships, whether you're considering a career switch to tech currently studying or working and leading in tech, we hope to show you stories, ideas, and tactics to inspire you and equip you to make the tech industry, and our future together, a more equitable place for all of us. Let's get to know today's guest.
[00:00:50] Kamrin Klauschie: Ian Caroll is a Senior Software Engineer at 8th Light, a software design development, and consulting company focused on building beautiful, durable software through deep care for craft. He now mentors new apprentices at 8th Light while he consults with and builds custom software for client companies. Ian is self-taught, and fueled his learning in software engineering, using SCRUM while working at Barnes and Noble, selling and repairing Nook tablets. He collaborated with other engineers in his learning journey by attending meetups, like Fullstack LA, where he contributed to open-source projects. Ian studied Theater in college and Daoist and East Asian philosophy for 8 years after that, and can tell you more than you care to know about tea. When he's not coding, he's improvising full length plays made up on the spot at the Improv Studio in LA and at Outpost 13.
[00:01:41] This interview was recorded in December 2020.
[00:01:44] Hey Ian, welcome to the podcast.
[00:01:47] Ian Carroll: Hey, happy to be here.
[00:01:48] Kamrin Klauschie: Thanks for joining us. I ask everybody the same question to kick off the podcast and it is deliberately broad, you can go wide and open on this one. What was the educational upbringing of your childhood?
[00:02:02] Ian Carroll: Both of my parents are teachers and because of that, I never got out of class ever. My mom taught world history and philosophy in high school and my dad taught elementary school science. Both of them were really big on trying to get me to think critically and to see the world is a wonderful place. My relationship with teachers was oftentimes very similar. Having a theater teacher in high school who was really committed to what I was doing was great. Having somebody there to support me. Still, I ended up doing a lot of question-asking on my own and a lot of fiddling with stuff on my own. My dad taught me some aerodynamics, using paper airplanes, and it was a class that he used to teach. I would just make my own paper airplanes, and then experiment and make them over and over again, and got really good with origami as well. I liked making things with my hands, and I played a lot in the woods as well. I was in Boy Scouts. Also there was this thing called Odyssey of the Mind, which was a program that combined engineering and performance, and what we would do is we were given a problem of you have a hundred dollars, you need to build a robot. It needs to do these different things. It needs to be incorporated into a funny and entertaining skit. I usually was the one who ended up giving a lot of theatrical elements to it, just because that was my nature. Other people on the team were much better at the engineering side of things and they would make things work. I didn't really see myself as exactly that person, because there was always somebody who is a little bit more on the engineering side than on the theatrical and performance side. But I got a taste of both and how they could work together.
[00:03:51] Kamrin Klauschie: It's amazing. My mom is also an educator, so I'm familiar with all the joys and pains of having parents who are teachers. A lot of my memories from childhood revolve around tromping through the woods in goulash boots or whatever they're called, and so the image in my mind when you were talking about being out in the wilderness, it's being in a stream in the woods and building mud structures out of stuff. A lot of nostalgia. I miss it.
[00:04:20] Ian Carroll: My house had some woods just behind it and my dad was the kind of person who would find box turtles that were trying to cross the street. And instead of having them get run over by the cars, he would stop the car, pick it up and bring it to the backyard, and he had constructed a turtle sanctuary there, where there were rocks and spots for them to hide and a water fountain. He would recoup them and then release them into the stream behind the house.
[00:04:48] Kamrin Klauschie: That is so cool. I love that. My mom and I were very passionate animal rescuers. I have memories of chasing dogs down the street, very dangerously, that had escaped. We were really passionate about making sure that stray animals would find a home again. That's too funny. Childhood, man.
[00:05:07] Ian Carroll: Yeah. Turtles are a lot less aggressive and won't run away from you quite as fast as the dog will.
[00:05:13] Kamrin Klauschie: That is certain, they will not run away. That is very true. Did you like turtles when you were a kid or was this just something that your dad did and you rolled your eyes?
[00:05:24] Ian Carroll: Oh, no, it was fascinating to me. I don't know why it was. I was that kid who just was completely, entranced by what their parents were doing. The turtles, of course, when you give them a nice little habitat like that, they will make good use of it. So we would end up with a lot of turtle eggs and young turtles. We would raise those turtles until they were of age and then release them into the woods as well. I grew up feeling the shells of box turtles and the sort of sounds the turtle makes when it pulls itself into the shell. And then, once it feels like it's safe enough, like you're not going to do anything really weird, it starts pulling itself out of the shell and then trying to claw your hands away–that feeling–I still remember it.
[00:06:06] Kamrin Klauschie: That's amazing. I don't know that I know the sound a turtle makes when its head goes back from its shell, but that's so cool. What a memory from childhood. And you mentioned that you were in this program that mixed theater and engineering–was that your first exposure to the world of theater?
[00:06:25] Ian Carroll: You know what? My real first exposure was just riding tricycles in the yard at the preschool that I was a part of and I kept knocking my tricycle over, and so the people there were thinking that I had some sort of motor problem, like I couldn't keep myself straight. But in fact I was just doing it for laughs for the other kids. That was really my first bit of showmanship. After that, my mom decided to enroll me in that program, called Odyssey of the Mind. It was performance, but it was also engineering and problem solving and working as a team, which turns out to be all the skills you need in order to be an engineer.
[00:07:07] Kamrin Klauschie: Was it something that was unique to you in terms of theater being just one of your natural interests or did you have other family members who had a history of doing that?
[00:07:18] Ian Carroll: Now that I think about, I guess I was just some sort of mutant, most of my relatives were not into that.
[00:07:24] Kamrin Klauschie: Are there any clear parallels for you or experiences that feel the same when you're doing software development and theater? Are they similar or different?
[00:07:34] Ian Carroll: You'd think they'd be really different. In fact, most people would not think twice about those are two completely different things, but for me, no, they're not that different how I approach it. It has to do with process. In theater, you have this very well-defined process for how you go about creating the story. If you're going to write the story, if you're tackling a work of Shakespeare, then your work is trying to figure out how it's relevant to you and how it could be relevant to the audience. You discover that not so much by trying to figure it out in your head and then perform it flat - you just try it, and then you try it again and you try it again and you try it again. Each time it's a little bit different and you learn something more about it as you go. That rehearsal process is not too different from the iterative process you use when you're using test driven development or for that matter, the iterative process for agile development practices. They're both about using a feedback loop that starts with actually trying the thing, and not being too worried about whether or not there is such a thing as success or failure. It's just exploration. There's no failure, all information, it's all learning. You're just learning. There's eventually a point where it's like, "Oh, that's done," and that's an instant, but that's not where you live. You live in that process of constantly trying new things. There's no such thing as getting it done. In fact, I remember once I went to the Royal Academy of Dramatic Art for a summer, in London, and I remember one of the teachers there saying that they had done Richard the III and at the end of the whole run of shows, like the last show, they suddenly realized that Richard the III was essentially a drug addict and they could have played him like that and really dived into that, but the show was over. They could have kept going, and that's very much like art, and also like software. There's no such thing as an app that's done. It's just an app that's abandoned, and the same thing goes with art as well. It's never finished. It's just, you just stop at some point and it's really arbitrary when you do, but that's a moment, that's not the life. The living of it is in the development of it. That's what's the same in both of them.
[00:09:48] Kamrin Klauschie: It's so beautiful, the idea that you fall in love with the craft, you fall in love with the process. My experience has been primarily more on the consumption side of art and hearing you talk about the process of creating it, really it's inspiring. The process sounds like it is very immersive and inspiring for you. At what point did you decide that you wanted to study theater in college and do it professionally?
[00:10:21] Ian Carroll: It was my theater teacher in high school who did that. He also happened to be a nature kind of person. He was a beekeeper when he wasn't doing theater or teaching English, 'cause if you're a theater teacher in high school it's basically an English teacher. I often thought of theater as simply applied to English. I remember I wanted to either be an actor or an architect. And I remember the moment when I went up to him and said, "Hey, Mr., I think I'd like to do theater as my major in college. What would you think about that?" And he was a very soft-spoken guy, all he said was, "yeah, I think that's a good idea." And that was it. That's all he said. You mean, you never said like more than five words at a time. I'm still in awe of that. I can't do that.
[00:11:07] Kamrin Klauschie: Was your dream to be on TV or go into Broadway? What was the vision for your theater career at the time?
[00:11:19] Ian Carroll: I didn't really think about any of those things. I was thinking more in terms of being part of an ensemble. I liked being part of a team that was creating something that was going to inspire people around me and would inspire myself. It didn't occur to me that I might just be doing a whole bunch of commercials or something like that instead. I was in love with the process. Wow. This is really making me think that I always really was in love with the process. That kind of explains a few things about how I approach software as well.
[00:11:47] Kamrin Klauschie: You're a craftsman?
[00:11:48] Ian Carroll: Yeah, so I work for a company called 8th Light and 8th Light is famous for calling it's software consultants, who are our engineers, we're called Software Crafters. We used to be called craftsmen, but the term is a little limiting. It's called "the man in the middle problem" if you've ever heard that phrase, so we changed it to crafter instead. So now it's not craftsmanship now, it's just software craft, and we are crafters.
[00:12:14] Kamrin Klauschie: Yeah. That makes a lot of sense. I'm curious before we dive into your work history and things deeper, is there anything that you'd want folks to know about you and your life story that they might not see from what's online, like on social media?
[00:12:31] Ian Carroll: I spent about 10 years after graduating from theater school, where I didn't know exactly what I wanted to do with myself because the world didn't really have the same idea about what an actor was, and I couldn't find any work. In that time I found a master of Daoist philosophy. I'm originally from Baltimore, so I flew to the other side of the country, didn't know a single person out here, and randomly stumbled into this person and the group of people who were learning from him. I studied Daoist philosophy, East Asian philosophy, the Tao Te Ching, I-Ching, along with Zen philosophy, Buddhist philosophy, and applied philosophy. And so while I struggled to survive as best I could out here, I was learning the principles of East Asian philosophy. I even worked in a bookstore for a while and I remember I had a book on Korean history and I was reading that because I was just interested in learning more about the veins of where Daoist philosophy gets applied. I remember the manager there just saying, "why are you even going to do with that?" And it didn't occur to me that I was going to do anything with it, I was just interested and it was just more to learn. I did that in a way that you couldn't possibly put it on a resume, but that is definitely a part of who I am.
[00:14:00] Kamrin Klauschie: That's really interesting. So what are some of the gems of your studies and your exploration there that might help us understand what you were working through?
[00:14:10] Ian Carroll: Oh, the first chapter in the Tao Te Ching says the Dao that can be spoken is not the eternal Dao. So how am I going to explain it? How am I going to talk about it? What I learned is that my thoughts are not myself, that how I think about a thing and how I'm feeling about it are entirely separate from what is actually happening around me. I am in complete control of what those are so long as I am aware of the fact that they're there. In a lot of ways, when I encounter problems in software, things that seem completely unsolvable or just inexplicably, like "This should be working, why isn't this working?" I go and I fall back to that tradition of meditation and self-analysis . It's all just not real. I'm just seeing a mirror reflection of my own feelings bounced back to me through the terminal. That anxiety is just in me, and it's funny how reflective a computer can be about our own feelings. But yeah, I'd say that's one big thing that I learned that applies to software, besides that God only knows, it infuses every ounce of my being. I don't even know what I'm doing anymore that doesn't have to do with it.
[00:15:22] Kamrin Klauschie: It sounds like it gave you tools for the state of existence.
[00:15:27] Ian Carroll: Yeah, it did. You just be, you don't think about the results you're here right now, living in this moment and those things that you're thinking or feeling, you don't let them carry you away, but they're part of you and they're as real as anything else around you, but you're not that. That isn't who you are.
[00:15:47] Kamrin Klauschie: Separating your identity from your existence. It's deep.
[00:15:51] Ian Carroll: It can be obnoxious too. I've had people get really irritated with me.
[00:15:54] Kamrin Klauschie: I love it. I studied philosophy actually pretty aggressively. I sought out a philosophy course while I was still in high school at the local community college, so we have that in common. Yeah. The interest in philosophy and how does the world work?
[00:16:11] Ian Carroll: I know quite a few software engineers who are into philosophy in one way or another. I don't think you can really wrap your head around the concepts that you have to work in software without diving a little bit into the meaning of existence and what does it mean to have consciousness and a million other questions of how do these things impact the people around you? You're really creating stuff. Maybe that philosophical background is just important to being a good engineer.
[00:16:41] Kamrin Klauschie: I definitely think so. I think there's been some really strong voices in the area of ethics and more humane technology.
[00:16:48] Ian Carroll: If we ignore ethics, when we're working in software, we are going to code ourselves into a nightmare world and it will be our fault. It will entirely be our fault. No one else codes this but us. If we don't think, if we don't consider, if we're not vigilant around that, if you're not really working on who you are as a person and what you're about and what you want the world to be... I would say that it might be better if you just stay away from software, you might end up hurting yourself or others.
[00:17:19] Kamrin Klauschie: It's true. It's very true. It's a field that requires a lot of self-awareness and ethics. What I heard you say there was that, when I looked at your LinkedIn I thought you had a two year work experience gap, but what you're saying is you studied Eastern philosophy and there's an even larger gap than maybe what I previously understood from just reading your LinkedIn. One of the things I really wanted to chat with you about is how much anxiety and fear I see in candidates who want to get into software engineering, and really being afraid that everyone and their mom in the tech industry will judge them over any sort of work experience gaps. What do you think about these gaps on your own resume? What advice would you give for others who are looking to transition careers and who are worried?
[00:18:10] Ian Carroll: For one thing, you can't change the past, nor should you. Now keep in mind that I didn't put every single odd job I ever did on my LinkedIn resume. If I did, maybe I could fill that space up, but even that is a lie. It's not like I'm just constantly working all the time anyway. There was a period of time when I first came out to LA where I was actually homeless. I had spent all my money and I didn't have any real means of getting a job at that moment, so I ended up losing my apartment and I slept in my car for a little while and someone took pity on me and let me crash on their couch. Then their boss let me deliver pizzas for them under the table for a little bit. I don't put that on my resume, but that's part of living, and that is actually something that is a benefit to me now. That's how I phrase it to myself, because it's also the truth. Now, how someone judges you based off of having the two year gap in your work history, you can't stop them from doing that, but I would pause it to say that a company that, or a culture and a company that would judge you for that is not a company you want to work for anyway. That comes across probably from a very privileged point of view though, because I've been in the place where I don't have enough to live and I need a job. You need to write your own story about what that gap means, and don't assume that people are judging you for it, and don't assume they're even going to bring it up. If they really do judge you for that, you don't want to work for them. Find someone who doesn't care about that. There are plenty of companies out there, who would not care about gaps in an employment history. Besides, if you're learning software, like the way that I did where I just taught myself it without having a degree or anyone who I really knew who was part of the whole software industry, you're not expected to have that. They expect it, then they're just looking for the wrong candidate. They're looking for a CS degree person and that's valuable, you have something to offer too. That is something that is unique. How many software engineers have been homeless? I don't know, but probably not as many as there should be, because that experience creates empathy for what kinds of people are going to be using your product. Not everybody is going to be someone who makes the same amount of money that you do that lives in a really nice, furnished house with your slightest whim you can just buy whatever you like. If only those people are the ones writing our software, our world is going to be terrible. We need every point of view, which means that your experience, regardless of whether there's a gap in your work history or not, is valuable, very valuable and needed in software. I would say that it's imperative that you do learn software and that you do find your way into this industry. For that reason, we don't have enough people who have gaps in their work history. I think that diversity of points of view rather than always checking every single box that an employer is expecting to have is bad for software. And on top of that, the differences in skills and experiences that someone has is very valuable because there isn't enough of it.
[00:21:29] Kamrin Klauschie: I love that. I feel like that's brilliant. The other thing that you said earlier that I thought was really a gem is the idea that especially for non-traditional engineers, we have to own our stories and we can't let anyone jump to conclusions about why things have happened the way they have, or what they mean to us. It's a very core component and a major skill to be able to own your story and to tell it the way that you experienced it rather than to have someone else take it from you.
[00:22:03] Ian Carroll: That's hard by the way, that is not an easy thing to do. It's really challenging to say, no, that's not how I'm going to see myself and I'm going to do the opposite. I'm rewriting my own narrative and I'm going to say, this is what that's about.
[00:22:18] Kamrin Klauschie: That can be some of the hardest work that we do. And so continuing down that line, I have often seen folks worry about unusual work histories as well.
[00:22:29] Ian Carroll: You don't want that. You want unusual work histories. I want to see what kinds of random stuff on people's resumes. When I see that I'm like, "Oh good. This is great." It's exciting when somebody hasn't just been doing the same thing that you expect from every other person, but, I'm sorry, I jumped over your question. Go ahead.
[00:22:46] Kamrin Klauschie: I find it extremely relatable also and some of the most fascinating conversations can come from that. I've been a bus driver before and I always make sure to make a point to, when I can at least, to make sure that's something that folks know about me, as long as it's not too awkward to just insert it, but I think we all have these interesting work histories. A lot of folks are worried about being judged. When I was looking at your LinkedIn, I saw that you've sold tea and you've been a garden docent at a local library, and you and I have chatted about how you've fixed Barnes and Noble Nook tablets, which all to me are so relatable and so human and so important, I'm sure, to the development and who you are today. My question for you is how did you talk about these work experiences when you were transitioning into software and how do you think about those experiences now that you're a senior software engineer?
[00:23:51] Ian Carroll: I remember feeling, when I was first going into software, nervous about that. I was like, "Oh, I'm only a retail salesperson." I had a marvelous mentor who said to me, "No, you can't think of it that way. You don't understand how few people have that skill, how few people have that knowledge. That is valuable," and I was foolish enough to believe them, because I had two teachers who were parents. It took me a while to figure it out that I could use that as a strength, as a selling point, not as a weakness. I would suggest going back through your work history and trying to figure out how this work history makes you stand out. You don't want to just fit in. You want to be someone who's going to bring something new to the table. And granted, you've got plenty to learn just like everybody else does, and especially if you're new, you want to show that you have potential. So like selling Nooks, so many customers came in that were just like, "Oh, my Nook is not working. Can you help me?" And my managers were not interested in helping me help them. I had to figure it out on my own, but in figuring that out and learning that skill of trying to figure it out and look like you're figuring it out for them, because sometimes they're not as pleasant as that. Sometimes they're really angry at you and you have to show that you're working hard in order for them to finally go, "No, it's okay. It's okay. You got it. I'll buy another one," or whatever else. Those skills are absolutely valuable to you working as a software engineer, if you've been lifting boxes at Amazon like a fulfillment center or something like that is also valuable. All of those things can be used and all of them are experiences that are going to help you. You feel that you feel that internally and you don't let anyone take that away from you. It's a great talking point of just being like, "Yeah, I spent three years working at a Japanese tea company, I've tried about 500 different kinds of tea. Can tell you a lot about the different estates in Darjeeling, and their flavor profiles." It's just fun to be able to have something random to talk about.
[00:25:53] Kamrin Klauschie: Absolutely. I was making jokes the other day randomly about air brakes and how you have to test them in the morning and the noises that everybody driving a bus knows, which is that sound of, at least if you've driven an air brakes bus, the sound that is a pre-trip inspection. There's ways to connect on the most random of things. I love tea. I would love to talk to you for a while about tea recommendations. That sounds like something we should follow up on.
[00:26:24] Ian Carroll: Oh yeah. We must. I took that job because of the fact that I was studying Daoist philosophy and tea is inextricably linked to the philosophical traditions of the culture that produces it. The tea ceremonies, there's several different ones by the way, not just one, and they all have something to say about how you treat other people. That's what I think tea is really about, that is also true about software too. It's how you write software is how you treat other people. You know what, a lot of the things that I've learned really have come from the jobs that have nothing to do with software, and I think that's what makes me stand out as an engineer as well. If you're just starting on this path, don't discount those things.
[00:27:04] Kamrin Klauschie: I think what I'm hearing from you, it's a very clear line between all of this, is how you treat everything, like a craft, and how you enjoyed the process of learning more, and the journey to mastery. Anyone listening is going to be able to hear it really clearly.
[00:27:21] Ian Carroll: My God, you nearly, quoted a famous theater theoretician Anne Bogart who said "How you do anything is how you do everything."
[00:27:31] Kamrin Klauschie: Exactly. That's exactly what I'm thinking when you're speaking about how these things all connect for you.
[00:27:39] Ian Carroll: So it looks like the Dao that could not be spoken was just transmitted somehow.
[00:27:45] Kamrin Klauschie: It's happening. How does that translate to how you interview junior engineers now? You obviously are in that position of power as a senior software engineer. What do you think is important in the position you're in and what do you know now that you wish you knew then?
[00:28:06] Ian Carroll: My way of interviewing someone hasn't really changed very much. It's mostly about figuring out whether or not they're going to put in the work, and whether they are inquisitive. I don't need them to get things right, I need them to be able to demonstrate that they can learn. If they make an error, I want to see how they go about dealing with the error. I want to know whether or not they can learn from the error and then not repeat it. Better yet, just make a different error. Never make the same error twice. If you make an error, sit back and go, why did that happen? I want to see whether or not I can work with them, whether or not they're genuinely interested in this craft, whether or not I have something I can in fact teach them, and whether they're ready for it. I hesitate to broadcast this, my policy is to teach anybody who asks and I'll teach them as long as they put in their own effort.
[00:29:08] Kamrin Klauschie: Wow. I have a feeling people are going to ask you to deliver on that one.
[00:29:13] Ian Carroll: I might have to develop infrastructure rather than just doing it one-on-one. It's surprising how few people actually come up and will actually ask, and how few of those will actually follow through. The only thing that matters is whether or not you keep putting one foot in front of the other, regardless of what else is going on, and the people I have seen succeed are the ones who do that. It doesn't matter how brilliant or talented you are, how skilled you are at interviewing or anything else, if you don't put one foot in front of the other and you don't just keep working, then it's not going to make any difference, right?
[00:29:52] Kamrin Klauschie: To paraphrase one of my favorite quotes, "it's not the decision you make. It's the commitment with which you make the decision."
[00:30:00] Ian Carroll: I want to see people who are doing things. I want to see them demonstrating it. I want to see them sharing what they know. I want to see blog posts about the things that they did wrong. I want to see someone who is unafraid to show their work in public and prove that they're learning and consistently do it. That's what I'd like to see, and when I do see that, I'm like, "Oh yeah, this is something that I want to mentor."
[00:30:26] Kamrin Klauschie: I mean, Ian, this means that I can't sit and watch Douglas Crockford and Kyle Simpson passive aggressively argue with each other about JavaScript on Front End Masters every day, like I can't just watch that.
[00:30:39] Ian Carroll: If there's any hope, you'll get bored of that and try and actually do things, too, but it's important to be part of the world of software. You got to listen to the people who are around and read blog posts and that's part of your work. The world of software is a vast multidimensional ocean, and there are an infinite number of directions you can move in and an infinite number of skills you can learn, and some of those are more valuable than others, right? Part of teaching yourself is about identifying which of those things are important right now and what you're really going to focus on.
[00:31:14] Kamrin Klauschie: Spoken like a true self-taught engineer, man, that laser focus is. There it is. Wham.
[00:31:21] Ian Carroll: I used a good tool. It's called Scrum. I taught myself software engineering by learning Scrum, and then using the Scrum methodology to frame everything that I did in software, and then I would even do scrum on things that had nothing to do with software. Like I would Scrum how I was managing other employees at Barnes and Noble for selling gift cards. I really understood what it felt like to do it. The way that scrum works, it allows you opportunities to change your focus and to make sure that what you're doing is the most valuable thing you could be doing right now. That's the secret to my success, although I've never really seen anybody else try it. I'm sure there are other people out there, but, there are few and far between.
[00:32:03] Kamrin Klauschie: So yeah, let's dig into how you structured your time and accountability because I'm certainly curious. I know, it is a mighty skill to be able to self-direct and self-manage, and also self validate. I actually see a lot of folks struggle the most with the process of not getting any validation for their progress. Can you talk to us a little bit about what resources you used, how you knew that you were on the right track, and that you were making progress in a meaningful way when it came to, learning the skills of programming?
[00:32:44] Ian Carroll: I'll need to frame it a little bit with what the circumstances for me learning was. So at the time I was married and at the time, my spouse was abusive. That's hard for me to say, even now. It's been three years. It was another lifetime, but, I was in a lot of pain when I was learning software and I was learning software because I was determined that I was going to make things change, one way or another. I had nothing in my life going for me at the time, besides going to work, working in retail and then coming home and hoping that my spouse was not there so that I could get work done. I used scrum to help keep my focus, keep me from becoming so completely bogged down with despair that I couldn't move, just saying okay, Today, I'm going to start by writing my daily standup yesterday. I did this today. I'm going to do this. These are the blockers and the blockers would sometimes be, my spouse might come in and being honest about that while I was doing it meant that I could start to see patterns and I could start to learn when I had opportunities to learn, and when my most productive time was. I would get about 10 and 20 hours a week to really sit down and focus on learning something with software. I would also use meetups. Whenever there was a meetup for some technology that I was interested in, whether it'd be, Ruby or Python or Java JavaScript. Find those groups. Find other people who know more than you, surround yourself with people who know more than you do, and just soak in the goodness because there's nowhere for you to go, but up when you're surrounded by people who are better than you. Be the worst in the room and dare to show up, and that's what I would do, I would just show up and I would always do the things. Whenever someone told me to do something, I would actually do it. By the way, that's 90% of my success is just actually doing the thing that someone says. It's surprising how often that doesn't happen, especially from the other end as a mentor. Like you say, Oh yeah, you should do this. And they just don't do it. That's the thing to do. There's only so much you can do. You're not there to carry them. They're carrying themselves. All you're doing is pointing the way. And I would use those meetups, to gauge how I was doing, and to get feedback from the senior engineers and recruiters. I would learn, "Oh, this skill is valuable. Oh, I need to learn this. I need to learn test driven development. Oh, I need to understand what object oriented design means. I need to understand what single responsibility means." I'm going to go and look at those things now, instead of getting lost in the weeds about building a Linux set up, never actually learning anything about coding or developing any skills that anybody else could see. By using the combination of meetups and that time on my own, and also the unique conditions of being seriously in pain, I was able to push through. I think part of it was actually that pain, as horrible as that sounds, I was uncomfortable enough to do it.
[00:35:54] Kamrin Klauschie: I want to acknowledge that and say thank you that you're willing to be vulnerable with us and share the circumstances that really drove you to improve yourself and to make changes in your life. I think that a lot of people are going to empathize with that story and with your experience. Because at least, for me even, I think the things that have driven me to make change or that have inspired me to do hard things, has often been either pain or anger or both. I think it's a difficult thing to express, especially, in a vulnerable manner to people who you may not know. But, a lot of us, I think, are trying to make big changes in our lives because we're not happy with what is currently happening in our lives. I definitely want to thank you for that.
[00:36:50] Ian Carroll: I know that the pain that I felt was not the worst pain in the universe, there are people who suffer even more. and I'm seeing the hopes that if somebody out there is in a similar position that you can get through it, you just have to keep putting one foot in front of the other and just keep going. Don't stop and you can do that. And another thing is that if you're in that position, you are valuable. The things that you can bring to software because of the fact that you have suffered that way are going to be very important. And in fact, that's the whole reason I mentor anybody is because all I am doing is reaching down to my past self and helping my past self out again, because I seriously needed a hand up and I was blessed to have mentors who were there, who are able to do it. And so to not do that would be to deny what they did for me, and also to deny myself the fact that I was worth it. I was worth having someone reach down and grab me.
[00:37:51] Kamrin Klauschie: The other thing that you said that really stuck out for me was the idea that people don't do the things that you ask them to do, that are the best thing that they can do for themselves. I cannot imagine anything more resonating with a career coach than what you said in regards to people not doing the best thing for themselves or doing the thing that's hard. Another thing that I wanted to chat with you about is just, the tech industry at large, especially for me closer to the Bay Area is super obsessed with Computer Science degrees. I'm curious if you can really articulate for folks the value of not having a Computer Science degree, from your perspective, and if you could also reflect on any advantages or benefits that you think people overlook?
[00:38:48] Ian Carroll: Oh, yeah, there are tons. Let me caveat what I'm about to say, because I'm going to say it from my point of view. The first thing I'm going to say before I start ranting is that CS degrees are valuable, and that the skills and theory that you learn in a CS degree, has a lot of value in software because you can go into those theories and pick apart a problem in a way that I don't have the context to be able to do. That being said, CS degrees also limit who gets to be in the conversation about creating software. I'm a perfectly capable software engineer. I have proven this because I am now a senior software engineer, but my degree was in theater, which has nothing to do with software. Why is it that so many computer science degrees require that you have Calculus in order to do Computer Science? You don't need calculus to be a software engineer, and that was one of the reasons why I didn't become like something like a computer science major. Maybe I could have, maybe I would have really enjoyed it. I clearly enjoy it because I'm doing it now all the time. But because of the fact that the university system is built, the way that it is, it starts acculturating people by saying computer science is a division of math, not a division of the arts, when in fact I think it should be that computer science should be for everybody. Because of that, it means that certain kinds of people will take the computer science degree course. And only those people who choose to do it, number one, and number two are put in a position where they can even try, and there are plenty of people who can't because they either can't get into college. They can't afford it or their background doesn't allow for that or they're just not really interested in learning about computer science. Maybe they want to learn about philosophy, maybe want to learn about psychology, behavioral science, for that matter, music, arts, english. The best engineers I know are the ones who have a strong relationship with music or with language, and those things are not emphasized in a computer science degree course, and it's not the only skill you need. It's not that someone who doesn't have that skill is not valuable. I would say that you need a balance. It doesn't mean that everyone in the team needs to have that same knowledge. Ultimately, what matters is that you're able to do the thing. Nobody knows software, nobody knows how. As software engineers, we don't know the answer to the question. We're just very good at figuring out how to answer the question, and we are very happy living in a world where we don't know.
[00:41:29] Kamrin Klauschie: Oh my gosh, Ian, louder for the people in the back. Truly, I have never heard someone so articulately make clear the idea that Computer Science is so owned by math and the traditional education system. And when you were talking about calculus, that's exactly my journey as well, that's the stopping point.
[00:41:54] Ian Carroll: That stops a lot of people from becoming engineers.
[00:41:56] Kamrin Klauschie: It's so fascinating to me. It's the other story that I hear most commonly, especially from women is, editing their profiles on Myspace having utter silence from any mentor, teacher, parent about that being a legitimate career and writing code. That's a story I've heard being in the space of non-traditional engineers for a long time.
[00:42:23] Ian Carroll: That is garbage. You're perfectly capable of doing this. In fact, I would say that maybe a dirty secret of the software engineering community is that anyone can do this. Tamagotchi is another one that I heard about. Those are totally valid, beginning experiences with software and they very much matter.
[00:42:42] Kamrin Klauschie: Totally agree. It's been like clawing and fighting back into its journey, but I think if you just continue and take the, either silence from people, or them trying to turn you away, as further fuel to keep going, then you'll do really well.
[00:43:01] Ian Carroll: I think that's one of the things that I need to remember for myself, because maybe it's because of the fact that I am, Straight, white and male, no one ever really did that to me. I gotta hand it to somebody who has to deal with that. My God, and you must be really strong.
[00:43:19] Kamrin Klauschie: There's immense strength in a lot of the folks, myself included, from underrepresented groups who find our way either into or back into software engineering. Thanks. How did you end up finding out about 8th Light and the apprenticeship? You're on this self-taught journey and at what point do you decide "I'm ready to start applying"?
[00:43:45] Ian Carroll: One of the meetups that I would go to all the time was one called Fullstack LA. It was a meetup where you would get together with other people and you would pair program on open-source software issues that were on GitHub. It was a real way of learning new code all the time, getting the skills of developing git, pair programming, test-driven development, agile methods for learning software. I dug all of that because I was really into being part of an ensemble, part of a team. It was being hosted at 8th Light's office and a lot of meetups get hosted at tech places, offices, because they want to contribute to the community, but they are also using it as a low key way of recruiting. I had heard about the idea that they have an apprenticeship program and I just thought, wow. Being part of that apprenticeship program, you get paid to do it. You just learn, you have a mentor. They're going to teach you the very best skills that you possibly can have in software. I thought It was magical, like Hogwarts. If you could only go there. The Director for the LA office was there, his name's Dave Moore and he was fielding questions about the apprenticeship. I would just ask him questions about software more often than I would ask him anything about the apprenticeship. He would answer my questions and I would try to do the thing that he was asking me to do. Knowing about the meetups meant that I know about the conferences, and so I went to their 8th Light conference and I finally got the courage to ask him about the apprenticeship. He said, yeah, go ahead and apply. That application process took six months. It was grueling. It was an apprenticeship all on its own. I learned so much just from applying, but yeah, I found out about them by going to meetups and by doing the work and by asking questions and finding the smartest person in the room and asking them something that I didn't know about.
[00:45:26] Kamrin Klauschie: Relationships, people.
[00:45:28] Ian Carroll: Let me tell you what never works for me ever was applying cold online. No one ever responded to anything I wrote online, no feedback, zero. The only way I ever got any kind of interview from anyone at all was if I was there in the room with them, or they knew one of the people that I had. So go and meet people. It didn't work for me at all, and I've got some privileged things going on here. Go meet people, be bold. Be that be the one who asks that embarrassing question.
[00:46:00] Kamrin Klauschie: This is another one of those like louder for them, people in the back situations. I think 90% of my job is telling people not to apply cold and figuring out every possible tactic that will demonstrate either logically or emotionally that cold applications are a waste of time. Following the feedback sounds like it's super valuable.
[00:46:26] Ian Carroll: And don't go around with an obvious need to get a job. Of course you need a job, but your primary job right now is to learn and demonstrate that you do learn and to develop the skills and let the skills speak for themselves. Don't try to go around asking people for jobs. Ask them for their expertise.
[00:46:47] Kamrin Klauschie: I wish you could see the giggles of joy that are hidden behind the silence. Oh my God.
[00:46:56] Ian Carroll: I'm not saying anything that anyone doesn't already know. I'm pretty sure this is all pretty stock stuff, but I'll say it because it's true. I will say that focus on developing the skills, don't focus on the result, focus on the process, not the result of the process. The result will take care of itself. If you have that process, right?
[00:47:17] Kamrin Klauschie: This is the key. This is truly like, this is the way Mandalorian. So can you talk about some of the benefits that come from this culture and mindset around apprenticeship that maybe is not directly obvious to folks who are just thinking about the dollars and cents?
[00:47:39] Ian Carroll: It doesn't look intuitive. It flies in the face of common sense and that is one of the reasons why it's hard to sell. But, I will say, as an apprentice, I did not get a full developer salary. However, it was plenty for me. It was enough for me to live. The industry has a problem because everyone is fighting for those like five experienced engineers, and nobody is willing to put in any resources into anybody else. There's always a dearth of engineers, but if you are the company that is willing to go ahead and invest in the next generation by having an apprenticeship program like this, it doesn't cost you as much as you think. You're probably gonna end up spending more on engineers, that you have to compete with every other company out there in order to acquire them, because everybody is just constantly throwing money at those five people. Instead, you get a group of people who are very talented, very dedicated, passionate about what they're doing, willing to learn and they're always trying to improve. It creates a very high trust high, high productivity environment and on top of that, they're the engineers who go through that program and mentor the next generation are also, going to have their heart continually reinvested into your company, and you can always make more of them because you have this apprenticeship program. A culture that is self-driven, interested in innovation for its own sake, and passionate, fiercely loyal. You won't get that if your culture is just assholes, hiring other assholes and then weeding out the assholes who are not strong enough to deal with the other assholes. And besides who wants to live like that truly?
[00:49:27] Kamrin Klauschie: So do you have any last words of wisdom or advice for other non-traditional engineers out there either, learning to program slogging through the job hunt?
[00:49:40] Ian Carroll: Oh, your own story. Hold that tight to yourself. You don't need to tell everyone your story, but you ought to have your own story. After that, it's all about doing. Don't focus on trying to get a thousand miles away. Focus on putting one foot in front of the other foot. And if you do that and you forget about everything else, you'll find yourself there before you even know it.
[00:50:11] Kamrin Klauschie: Beautiful. It's amazing. Round of applause. Thank you so much, thank you for also tolerating my incredibly poor WiFi connection here in Brazil. You are amazing. So inspiring. And you and I haven't even really known each other that long and we're also internet friends. You know, I did cold outreach to you.
[00:50:32] Ian Carroll: It's the only friend you can have right now.
[00:50:34] Kamrin Klauschie: This is true. We only have our internet friends. Good point.
[00:50:37] Kate Martin: Thanks so much for listening to this episode of the apprenticeship.io podcast. You can learn more about apprenticeships and find us online at www.apprenticeship.io. Don't forget to follow us on Spotify, and subscribe on Apple podcasts or wherever you get your podcasts.
[00:50:55] Want to get a shout out on the podcast or support our work? Become a patron at www.patreon.com/apprenticeshipio.