Roger Gentry - Perseverance and Problem Solving
Season 5, Episode 5 | April 21, 2022
In today's episode, Dan and Bekah talk to Roger Gentry about his love of solving problems and how he's brought that with him into tech.
Roger Gentry
Roger has managed the security and compliance for clients across the United States. Providing CTO/CSO level consulting to a variety of industries, Roger has worked with customers to achieve successful compliance certifications from PCI, ISO, SOC, and more.
Show Notes:
This week Bekah and Dan sat down with Roger Gentry, who has spent a lot of his career managing security and compliance for clients across the United States, about his passion for problem-solving and what to do when you get stuck. We're all going to run into frustrations during our tech journeys, but knowing how to navigate through them is one of the key skills you'll need.
Sponsor Virtual Coffee!
Your support is incredibly valuable to us. Direct financial support will help us to continue serving the Virtual Coffee community.
Please visit our sponsorship page on GitHub for more information - you can even sponsor an episode of the podcast!
Virtual Coffee:
- Virtual Coffee: virtualcoffee.io
- Podcast Contact: podcast@virtualcoffee.io
- Bekah: dev.to/bekahhw, Twitter: https://twitter.com/bekahhw, Instagram: bekahhw
- Dan: dtott.com, Twitter: @danieltott
Transcript:
- Bekah Hawrot Weigel:
Hello, and welcome to Season 5, Episode 5 of the Virtual Coffee Podcast. I'm Bekah. And this is a podcast that features members of the Virtual Coffee community. Virtual Coffee is an intimate group of developers at all stages of their coding journey. And they're here on this podcast, sharing their stories and what they've learned. And we're here to share it with you. Here with me today is my cohost, Dan.
- Dan Ott:
Hey, Bekah. Today we're talking with Roger Gentry. Roger has spent a lot of his career managing security and compliance for clients across the United States. And this episode, you'll hear from Roger about perseverance, his drive to solve problems, and his process for finding solutions. He shares some tips for working through frustrations and how to ask for help.
- Bekah:
We start every episode of the podcast like we start every Virtual Coffee. We introduce ourselves with our name, where we're from, what we do, and a random check-in question. We hope you enjoy this episode. Today's random check-in question is, if you could be an article of clothing, what would it be? My name is Bekah. I am a technical community builder from a small town in Ohio. And if I could be any article clothing, it'd probably be a sweatshirt, like a hoodie. Because I have a collection of them since the pandemic started. I just keep buying them. I can't stop. They're very comfortable and I like them. So, I'll go with hoodie.
- Dan:
Yeah. Hoodies are good. Hi, I'm Dan. I am a web developer from Cleveland, Ohio. And, yeah, if I could be an article of clothing ... I- I mean, hoodie was like, up there. I think- I think I'm gonna go with like a- a rain shell. So, like a rain- yeah, raincoat. So I say shell, cuz it's like -- that's- [chuckles] that's what you call it when it's camping, right? So shell is something that can go --
- Bekah:
Nobody calls it that.
- Dan:
Yeah, yeah, yeah. People- people who know, who know. And- and if you don't know them, that's fine too. But it's, like, it's called a shell because you can put it on top of, you know, if you have a hoodie or whatever, you can still wear it, you know, your raincoat. It keeps you protected. But you can wear it in summer and stuff too. But raincoat --
- Bekah:
It goes over your raincoat?
- Dan:
No, no, no. It's a raincoat, but like, not like a fancy raincoat that looks nice. It's like a raincoat that is, you know, a utility. You call it a shell because you can put it over, you know, you can, like, [laughs] bring the same raincoat camping in the summer, in the winter, in whatever, you know? So, in the winter, I just put it over top of all my layers. And in the summer, put over top of the t-shirt or whatever. That's why it called a shell.
- Bekah:
I would like it to look like a turtle shell.
- Dan:
[Chuckles] Okay. Well, you can have the turtle shell, rain- rain shell, [laughs] and that'd be fine too.
- Roger Gentry:
Hi, everyone. My name's Roger, and I'm a full stack developer in sunny Southern California. And if I was an article of clothing, I'd have to be a zip-up hoodie. Specifically, a zip-up hoodie. Because everything else just sort of a you get caught in the- in the web of the- the sweater. But the zip-up, you can just go quickly from hot to cold. And, you know, I love that.
- Bekah:
Yeah. I- I like the zip-up hoodie too. It just depends on my mood. But also, like, sometimes it's hot and sometimes it's cold. And it's much easier to remove one that has a zipper.
- Dan:
Yeah. I mean, zip-up hoodies are clearly better than pullover, it seems [??]. There's- [chuckles] there's- there's no contest.
- Bekah:
Not all the time. I mean, zippers are cold too. So, if it's cold outside, and they touch your skin, then it's cold. Roger, thanks for being here. We're very glad to have you on the podcast. And when we start the podcast, everyone, we like to get people's origin stories. So, how -- what brought you to where you are today in life?
- Roger:
You know, it's kind of funny. I- I kind of remember the first time that I saw somebody building a website, and it was some friends of mine in the school library. And they just -- we're having fun. And I wanted to do that as well. So, I kind of acquired a free computer and just set that up in my room. Like, you know, this is ... I can't even remember the year. Early two thousands. So, you know, it wasn't that ... I advanced to have a laptop quite yet for me. And once I kind of figured out how I could build a website with HTML, and CSS, and Notepad on the Windows, I kind of was hooked. And it just sort of became almost like a hobby that just kept me going all the time. And I took that skill set and immediately did the thing that I've done, kind of forever now, is turned it into a way to make money, which I did by going to just the businesses that were in my town, and finding the one that just had a terrible website, and convincing them that they needed a new one, and I could be the person to build it. Kind of -- as I went along in school, and eventually high school, I had an opportunity to take kind of a- a multimedia course, which taught me a lot of like Photoshop, Illustrator, just a lot of photo editing and video editing skills that I kind of combined into this, you know, love of code with the web design side of things. And, you know, that kind of propelled me forward and I've always had a knack for fixing things. So, I kind of landed in this weird place of fixing a lot more things than I was building. But then, using the skill set of being, you know, a developer at heart to build a solutions to solve problems in ways that people weren't thinking about. And that excited me more and more, and, you know, I'm kind of a- a person in necessity. If I- if I see something that I- I really need, I'll figure out a way to get it. And I wanted to build a SaaS product for fun. I -- and then kind of managed to make that possible with a- a company I was working at, and we- we had a lot of fun putting it together. But then I kind of found I had a lot more fun building kind of the prototype, and understanding the code, and coming up with the methodologies, and how we were gonna do things. And looking back, I kind of have always been a, like, a web developer, but it was at that point where I was putting together this weird little cloud service that I really saw a need to become on everything developer because, you know, there was so much more that was missing from what I wanted to put together. And that led me to just to kind of absorb into building iOS and Android applications, and then, a web backend and, you know, combining everything together and finding the glue that works the best. Which, surprisingly, there's no really good fit all solution despite any of the marketing that you'll see on anybody's products. And getting everything together, and finally seeing, like, an API that I wrote, and connect to the apps that I helped build with the website that I put together for a customer that I sold an idea to, like, that was the moment that I really kind of found, like, the group that I liked to exist in, and it- it's always propelled me to have ideas and projects that I like working on. But, you know, going back, I still think of the dorky kid that was sitting in his room, reading the "HTML and CSS For Dummies" book that he bought at the thrift store for 50 cents. And, you know, that's propelled me into a lifelong period of not only learning, but also figuring things out and solving problems in just a different way. Because you know, I've come from a- a place where I've been building out a necessity. And if you tell me if that there's a problem, I'll figure out a way to fix it. The way to fix it might not be the best way. But it's working.
- Dan:
I love that. I- I love that you're -- and- and like, I- I think ... maybe not where you ended up in your career path, but the beginnings of [chuckles] your career started off, this very similar to mine, right? I think I had that exact same for dummies book that I bought at the thrift store as well. And, yeah, that -- I mean, like, the- the- the cool thing that -- for me is- is that, like, how- how you ... sort of organically followed, right, what you- what you found interesting, what you saw, you know, need -- like, you saw there- there was a need for different pieces to different puzzles, right? And the idea that you don't have to stay in one lane, or- or- or one specialty, or anything like that, right? I mean, fu- full stack developer's a pretty common phrase these days, I think. But I-I-I think that- I think that my favorite part about that — the full stack ideas — is- is the idea that, like, you- you have the power -- I mean, like, any person has the power to [chuckles] kinda go and- and chase down, you know, something that they wanna -- that they find interesting and wanna- and wanna build, or wanna fix, or wanna solve. Like, that's really cool.
- Roger:
Something that would happen when I was working as a technician is, you know, I'd come in and I'd fix a- a problem that for the user was really, really difficult. And I made it seem impossibly easy. And a lot of them would say, "Wow, you're a wizard. You fix it like magic." And when you sit in front of, you know, a- a- a terminal for the first time, so to speak, and you run that code, and it does the thing that you told it to, like, it feels like magic. It feels like you cast a spell and something cool happened. And, you know, I feel like that- that magic is captivating for- for a lot of people. And like, once you- once you see it, once you realize that you can cast that spell and make that magic happen, like, it's almost an addiction. Like, you're like, "Oh, what other things can I do?" It's like, "Oh, yeah. This doorbell is no longer supported. Let's see if we can, you know, hack it and make it something- something useful again." Like, it's just, you find solutions to problems that, you know, you didn't even know were problems because now, you know the magic behind how it all works.
- Bekah:
Yeah, I love how you talk so much about the- the magic and the problem solving. And I think, that's one of the things that interest so many people about being in tech, and it's simultaneously one of the most frustrating things about being in tech, right? Like, it can get hard and you're stuck on those problems in ... it -- sometimes, it causes feelings of self-doubt, like, "Oh, what kind of programmer am I? I can't figure this out." So, how do you approach problem solving and- and maybe avoid those feelings? Or do you have tips on how to avoid those feelings?
- Roger:
You know, so much of what I've been able to figure out has been a, "Let me just change this line of code, refresh, and see if it fixes the problem." And, you know, I come from a background of fixing a lot of weird problems that I never had a- a -- say, in creating. And so, a lot of the times, it was like, "Okay, this was doing a thing correctly ... before, and this is how we got to there. Now, when I try to do these steps, this is what happens. Well, now, I know how to replicate the problem. And I gonna just work backwards from there and try to figure out why it's failing in that step. And okay. Well, now we know it's this problem. Let's search around and see if we can figure out if there's a solution for this somewhere that we can use or if we just keep having to dig further down." So, it's kind of more of a beat it with a hammer until it shows you, like, something that's useful, and then, you take that little spec and it's like, "Okay, let's analyze this, and go down a rabbit hole, and solve that problem, and then move on to the next error." And eventually, you'll find kind of the answer. And then, once you have, like, that experiences to that one problem, you- you know that that networking piece equip- of equipment in the closet was actually the faulty, you know, problem the whole thing. And it was a bad ethernet cable that somebody, you know, broken the door that caused everybody's issues for the day. And now, in the future, when you're sitting in there looking at that similar, you know, problem, you know, your mind is thinking about these things as well, whereas before, it may have taken you hours to get there. Well, now I know I can overcome that because I had to do it in a time of crisis. And I can -- if I can overcome that, this little error that I'm dealing with I'll figure out eventually. And it's the same thing with programming. Like, I was dealing with, like, just ... some data formats that I wasn't familiar with. And I wanted to just sort of see if I could figure it out. It took a little while, but eventually, you know, I put enough pieces to the puzzle together and I got the answer I needed. And, like, it- it was one of those moments where it's like, I overcame something that was only existed because the way that I formatted the first time wasn't necessarily the correct way to parse that data. But then once I figured out the right way, it, like, it worked. And then I'm sitting there, being like, "Ha! And now it works." And instantly, I was trying to find the next problem to solve.
- Dan:
Yeah. That dopamine rush from actually solving the thing, right? And it- it- it's, like, greater -- I feel like, for me, at least, most of the time, anyway [chuckles], it's- it's greater. The harder it is, you know, the- the deeper down the rabbit hole you go, right? There's sometimes where ... I get all the way down and I figured it out. But it's just taken me so long, [chuckles] that- that I'm just, like, "I- I just hate this." Like, "Finally, it's -- this bug is squashed," you know? [Laughs] But I think, lots of times, I get that- I get that same- that same, like, spike of just feels good. I'm like, "Okay, let's find out what's next," you know? I think it's so cool.
- Roger:
I've had times where I spent a- a lot of the night in networking closet, trying to solve some weird networking problem, and trying to get something that was on the network that was working before I got there wasn't working now, to back to that working state. And it's hot, and it's terrible, and I'm hungry. And so, anytime that I'm sitting in front of my computer working on a hard coding problem, I think back. I think back to myself and the networking closet. And remember, I'm not there, and I can't eat something, and I can't step away, and it is fine. Because I will figure it out. And it's- it's kind of, like, the sense of encouragement that I tell myself when I'm dealing with the hard problem. Just knowing that eventually it will be solved one way or another. And there's only so much I can worry about with it right now. And eventually, you just have to say enough's enough, walk away, and come back to it later. And you're like, "Oh, yeah! You know what? I don't know why this is so hard earlier. I was just grumpy."
- Dan:
I think that's great advice. And I- I like -- I wanna reiterate that cuz that's the -- one of the hardest things to remember. And it's so easy to get stuck in that. Like, it's- it's so easy -- it's- it's like when you're down in some hole, you know, trying to figure something out and nothing makes sense. It's hard to step away. It's -- at least for me, it's hard. I ca- I have a hard time stepping away. And -- but you're right, Roger. Like, every time that I do, it's helpful. Like, it's always helpful. And I'm always like, "Why didn't I just do this an hour ago?" [Chuckles] Like, "Why didn't I just go walk around the building, or go get it -- you know, across the street, get a cup of coffee or something?" Like, that- that -- it -- every time -- you know, not every time, but it- it happens to me so often, you know? And it- it's like, I don't know, almost physically hard to- to get myself to step away. I'm like, "I know I can get this if I just --"
- Bekah:
I always get annoyed when people are like, "Just step up-
- Dan:
Yeah. Right.
- Bekah:
-you just need to go for a walk." I'm like, "You just don't need to tell me what to do," right? And then, like an hour and a half later, I'm doing it. I'm like, "Oh, go- okay. Fine." Like, "Yes, now I- I get it." Like [laughs] --
- Roger:
I think, part of that is you know that there's, like, that dopamine rush when you're gonna solve the problem. And so, you're like, "I -- if I just do this a little bit longer, it will be solved, and I'm gonna feel good about it. So, you're- you're- you're so in the middle of, like, that frustrating piece where you just, like, you know the payoff is gonna be so much better than more frustrated at the problem that you're gonna -- you are, that you just wanna finish it. And stepping away is almost like a sign of defeat into yourself. No one else cares. But you- but you do. At -- but even so, like, that- that step away is what you need. And yet, doing it is so f-frustratingly difficult.
- Bekah:
Yeah. There's -- I was working on this problem last week. And I knew that I was close, right? Like, I could feel it, there's something wrong. And I- I just needed to spend more time going over line by line, which I had already done. I had already done with other people too. And then, finally, I -- well, then I go into this mode of, "All right. I know that one of these things is wrong." And then I just start, like, throwing code at it, chaotically. It just not what you should do [chuckles]. Because somewhere in there, I had the right piece. But then, I messed up the other piece that connected it, and so -- then, it still didn't work. And then I- I was debugging it with a coworker. And they're -- they said, "Oh, yeah. It's this thing. This is what I expected it was," you know? "You- you forgot to ..." I was like, "I did have that. I had it at one point. I just deleted it, okay?" And- and so, instead, I had this mess of a- a codebase that -- that's not what you want. So, like, taking, I think, that -- taking that advice of walking away, thinking through the problem, rather than just, like, throwing all of the things at it is a- a skill I need to learn, maybe? [Chuckles]
- Roger:
Yeah. Other approach that I like to the mingled codebase is the burn it all to the ground, take what we know is good, and let's just start over for a little bit. Cuz we learned a lot and throwing all of this spaghetti against the wall, but yet nothing really stucks. But we've learned some stuff in the process. So we gonna take what the good bits that we know, go back to where we know the data is good, and try to do what fit, what we want. And probably, starting over with a fresh slate is gonna give us the answers we need, because we were not good when we were writing that other code. We were frustrated.
- Dan:
Yeah. And I think that's great advice and- and it helps sort of isolate, you know, you can still add things a bit at a time, you know? So, starting from that fresh -- the fresh, like ... the fresh, like, you know, add things step by step, you know? And- and you- you very, like, you know how you want it to work. So, maybe the- the route will be a little bit more straight forward this way, right? Cuz you have, like, a plan in your head. But it'll help you sort of isolate the problem too. And that's good advice. The spaghetti on the wall method, right? [Chuckles]
- Bekah:
My favorite method. So, one of the things that we talk a lot about at Virtual Coffee is asking questions. And I think that this kind of goes along with the conversation about, you know, how do you ask questions? How do you ask for help? Like, what is the right approach to doing that? And it can be in your codebase, it could be when you're interviewing for a job, but what do you think is a good approach to asking questions or asking for support or help for finding it?
- Roger:
So, it kind of- kind of depends on the problem, right? If you're talking about, you know, you're sitting on an interview and you wanna know if they do X, Y, or Z, right? You just ask. And like, it seems scary at first, but every company that I've been in the first interview with, and I've been like, "So, what kind of like hardware stack are we dealing with?" They're always like, "Wait. Why do you care?" Like, "You're interviewing for this role." And it's like, "Well, no. I genuinely wanna make sure it's something that I'm gonna be interested in dealing with, before, like, I get excited and we waste everybody's time, and then I get to the job, and it's not exciting." Like -- and each time that I've asked, like, weird, difficult questions or just something that I was just curious about, i-it's always needed a good result in the interview. Like, I remember in one, where I asked the ... founder of the company, where he sees himself in the organization in five years. And that was a- that was a fun question to see the last on [??] all of the other managers, where they're just like ... [chuckles]. But the answer that he gave me was more about the vision of the company and where they wanted to take it, which was really exciting. And so you- you kind of take that same approach when you're dealing with code, right? If you have a problem, you look at your message. And I just start by taking your message, copying and pasting to the search engine, and then say, "Stack Overflow, give me the great answers to my problem." And combining that with whatever language you're writing it in, and what you're trying to do, typically nets somebody else on the internet who has the same problem. And there's probably an XKCD that's relevant to that exact topic because I've s-s-s -- [Dan chuckles] linked to it many times. And it's just -- it's kind of that. Like, you know, it doesn't matter what the problem you're dealing with, there- there's an answer out there somewhere. Somebody knows that answer to the problem you're dealing with. And it's just how do we get there? And sometimes, the answer is you need to call the vendor or email the person that wrote it. And it seems terrifying the first dozen times that you email somebody that wrote some piece of code, but something that I've learned about developers and people that work in technology is given an opportunity to talk about something nerdy. We're gonna waste as much time as we possibly can, because it's so rare that we get somebody who's, like, excited about the same thing that we're doing. And then, it's just like, "Okay. Yeah. That took so much effort to write that email. But now, like, I know this guy and we're gonna totally meet for drinks when he's at this conference, because, like, that's the connection we made." And it's just about asking the questions, and just finding the right person. And ... everybody's got an email address on their code, or you can message them in Twitter, which is still a weird experience, just to be able to message some random company and being like, "Hey, I have this thing. Would you be interested?" And then next thing you know, you on a meeting to, you know, meet the person that posted that tweet. And ... that's kind of the whole power that we have today where we didn't have life [??] in -- like, when I got started in technology, there was- there was no Facebook, there was no MySpace. It seems like a weird time because I'm not that old. But in the- in the age of tech, you know, you -- it moves at such a rapid pace that you are ... [chuckles] you get dated very quickly if you haven't paying attention. And at that time period, like, finding information was a lot harder. But now, it's just ... at -- it just depends on how persistent you are and how bad you want that thing or ... in that answer. If you really, really want the answer to the question, you'll find it. It just might take some time.
- Bekah:
Sorry. I was- I was-
- Dan:
Yeah [chuckles].
- Bekah:
-I was thinking. I was deep in thought [laughs].
- Dan:
I don't know. Yeah. I was just reminiscing back when there was no Stack Overflow [laughs].
- Bekah:
My kids like to refer to that as the olden days. We watched the s- "The Amazing Spider-Man", the one with Andrew Garfield this weekend. And they're like, "Oh, we didn't know that you had movies with this good CGI back in the olden days." I was like, "It's not even that old!" [Chuckles]
- Dan:
[Chuckles] Kids.
- Bekah:
Yeah, well, okay. And so, I think that making those connections is so important and then like asking- asking informed questions too, right? Because when you're DM-ing someone or emailing someone, you- you let them know what you've been working on or how you've been approaching that thing. Or, you know, I -- one of the things that I like about our Virtual Coffee repository is we have issue templates, we have PR templates, or ... is that what they're called? Templates? Forms?
- Dan:
Tem-
- Bekah:
Issue forms?
- Dan:
-plates? [Laughs]
- Bekah:
Oh. Templates? Am- am I saying it wrong? Well, I dunno. I wasn't asking the-
- Dan:
I don't get that -- I don't think-
- Bekah:
-correct choice to say it. I was just been wondering-
- Dan:
-I don't think that's a wrong-
- Bekah:
-if they are called templates.
- Dan:
-right/wrong situation. But ... I think that's more of a local dialect situation [laughs].
- Bekah:
It's not what I was asking [laughs]. Forms issue?
- Dan:
Issue form. Yeah, forms. Issue forms. That's what they're called [inaudible]. Well, I dunno. They started as templates and the other, forms. That's it. Yeah.
- Bekah:
[Laughs] Well, one of them is a form, right?
- Dan:
Right. Right. No, that's -- I mean, that, the issue ones. Yeah. They use- they used to be -- we used to have issue templates, and now we converted them to the issue forms.
- Roger:
And now he just has an issues everywhere.
- Dan:
Now there's just -- [laughs] I mean, lots of issues.
- Bekah:
But it breaks -- it kind of, like, breaks down how to ask questions. And because we work with so many developers at all stages of the journey, it- it's nice to kind of create a methodical process for question asking, or helping people to go through this process of, "This is what I see. This is what I've done. This is what I want to see done," you know? And providing some evidence for that. Because sometimes, you have a random question, and ... it feels exhausting or overwhelming to try and answer a question if there's no context there, right? If you already have a full slate of work on your desk and somebody asks you, "Hey, have you ..." I don't- don't know. I can't think of a good example right now. But like, "Did I use this thing right?" "Okay. Well, walk me through your code," right? And I think that that's one of those things that kind of -- it's a skill that takes time to develop that question asking ability. And a-another reason why I love the- the coworking room too, because you have the time to have those conversations. And Roger, I know that you've spent some time in the coworking room as well.
- Roger:
Yeah. It's -- I- I always love just kind of hanging out in there cuz you never know what kind of conversations are going to have. And it definitely feels like you're at work, and these are your coworkers. Because, you know, there's- there's a sense of- of community to it. But at the same time, you know, like, the conversations aren't going to take a- a weird turn. They're gonna typically stay around a- a centralized set of topics. And it- it's comforting to be able -- to be just around other people who are programmers, and nerds, and just generally interested in pretty much the same thing as you are. And just being like, "Hey, I'm working on this, like, weird code. Like, is there anybody that wants to jump in and, like, give me some advice on what I'm doing wrong or how I can make it better?" And, you know, it's kind of exciting just to see the problem solving that other people go through. And sometimes, it's just the patients that some people have mentoring people. It- it's really amazing and- and kind of, you know, a l- a lead by example in some places where you see these things happen and you're just like, "Wow! I wanna- I wanna improve how I instruct people based off of, like, what I just kinda saw." And it's just kind of a cool place just to meet people from kind of all around the world who just are hanging out, just wanting to -- just chill for a few minutes, and just talk about whatever- whatever you're talking about, jumping into the conversation, and jump out. It's- it's really, like, been a great sense of community since, you know, honestly, I found Virtual Coffee when the pandemic kind of was going on and, like, I dived into there and I became kind of ... a lot of the close friendships that I had. Because it was just always open and you meet a lot of really cool, interesting people. And actually, my current- my current job, I was actually interviewed, originally, in the coworking room, which led me to being interviewed by the company and accepting the role with their -- so, I always think that's a- that's a fun little story with the Virtual Coffee, because, you know, there's so many of these people that joined looking for a job and -- or hoping to find something. But sometimes, you end up finding something in the same room that you're just hanging out with. And then for fun, sharing just some project that you had an idea about or passionate about. So --
- Bekah:
I love that. That's such a fun story. Okay. So, you -- I -- we're talking about problem solving and- and ... navigating through -- like, enjoying that part -- that aspect of coding. So, what is the ... maybe strangest or most complicated problem you've had navigate?
- Roger:
So, I think this goes back to the days when I was working in a support role at a managed service provider, which means, we ran their whole help desk. And this is one of my favorite stories to tell because it's just so weird. So, the customer I was supporting is a company that does -- that paints boats. When I'm talking about boats, I'm talking about big ships that are, you know, the- the- the ships that they have at Disneyland type size. And they have an oven that is the size of a literal warehouse, where they put these boats and to have the paint cure. And all of this data from all of these temperature sensors from all around that warehouse get fed into one computer. And what happened is that aging desktop, which was running ... probably Windows 98 or something similar, and some version of Excel, it died. And suddenly, their whole business wasn't able to operate because the computer that ran the sensors that gave them the data to certify all of their work wasn't working. And I remember trying everything that I could to build a virtual machine that had that operating system to run this thing and just constant problems. And eventually, I solved that problem by getting it stood up with a new version of Windows and everything working inside it. And- and a version of Excel that I found on an abandoned ware website that was like a release candidate that they didn't put any product activations in. And it was the least to the current version of Excel that I could find to run the macro that this business relied on to capture this data from the sensor. It was- it was a lot! We had adapters with the serial cables pulling in this data into a macro and an excited [??] Excel. And eventually, this all got ran- ran into a Windows 10 box, eventually, and virtualized, and ran indefinitely, but it was just the- the amount of sheer ... what is going on and how are we gonna fix this, like, to get over the finish line? It was just astronomical. And like, I look back and I think to myself, like, "You know, if I could fix a boat of him, none of these other problems seem that hard. A little figure it out." Like, it's the same thing about being in a network closet. Like, that's -- that -- you just remember, like, all of these problems have solutions. You're gonna get there eventually. It's just a matter of [chuckles] what ridiculous thing you're gonna need to get it across the finish line in the moment. And I- I feel like, when programming, it's a lot of ... more -- a lot more critical thinking, and sometimes, you just need more information. And just like, if you dealing with the problem with databases you can't really figure out what the heck you're doing, stop and, like, go look at some completed databases. And then, you're like, "Oh, that's what I was do it. Gronk [??]." And suddenly, things click into place. And, you know, I just remember so many times as a technician where there wasn't documentation or somebody to ask. It was figure it out to the best that you can. Because they're -- the vendor that built this system went out of business before you were born. And ... [Dan chuckles] and that's- and that's a fun- that's a fun place to exist. But the thing that I've learned the most about programming, and programming languages specifically, is once you learn the basics, they all start to kind of merge together. And if you know how an if loop and a while loop works well, you can pretty much program like 90% of the crap you need to get the job done. A-and that's really what it takes. Like, a few- a few if statements, and you've got most of the programs that are running some of the largest systems are just simple things. And when you can look at a coding language that's written in something that some random developer came up with and you're just able to read thoroughly and understand it because -- not because you understand the programming language, but because you understand that a loop's going to keep going back through these things, and eventually it's gonna do this, so now I'm looking for this problem, you can pretty much go down any rabbit hole and find what you're looking for. Just as long as you're just willing to keep ... looking. It's the same thing with the boat [unintelligible]. I just kept looking and then I found -- eventually found a way to fix it.
- Dan:
Yeah. I love that. And I- and I think that -- and I feel like I've said this, probably, before. But that's, like, one of the biggest things that separates somebody that has more experience from somebody who is more starting out is not necessarily the knowledge accrued, but more the sort of confidence that you can do the thing. You -- like -- that- that, like, you can probably solve pretty much anything given, you know, enough time, I suppose. But like, you know, like- like you said, like that -- if you- if you have less experience, you just have less plack- practice reading code and being used to loops, and- and if statements, and stuff. Then jumping -- trying to read some other code in a different language that you're not used to is gonna seem ... probably a lot more daunting, you know? But having done it for a long time, it's -- i-is a sec- that- that's a practice, you know? The practice of just, like ... [chuckles] yeah, I mean, it's just like you said, you know? Like, I have solved this huge bug in the -- in- in- in the past. So I just kind of know that any other bug that comes up, I'm gonna be fine, [laughs] right?
- Roger:
Or, on the- on the other side of it is, like, "I know I've taken down production once."
- Dan:
[Chuckles] Oh, god.
- Roger:
"So if I do it again, I- I know what to expect." It's sort of like, "I've been chewed out. Let's just get chewed out again." [Dan laughs]
- Bekah:
It's all-
- Dan:
Yeah.
- Bekah:
-feel like terrifying experience to me [laughs].
- Dan:
Have- have you done it live on a Twitch stream though? [Laughs]
- Roger:
There's still time. There's still time.
- Bekah:
[Laughs] No. No, thank you.
- Dan:
Yeah. That was ... not my best moment. But I got through it, right? [Laughs]
- Bekah:
You- you did. You -- I think I would just ... I ... want to crawl under the bed and-
- Dan:
Yeah. Mm.
- Bekah:
-stay there.
- Roger:
I- I think this is a good point to mention how important backups and version control are. And don't be afraid to commit that code, even if you're not quite ready for it. Just having like something in there that you can go back and look at and be like, "That's what I did four and half hours ago."
- Dan:
Yes.
- Roger:
It's still helpful. It's so helpful.
- Dan:
Yes.
- Bekah:
Yeah. Even like that project that I was just talking about, I was talking through it with Kirk one day. He's like, "Well, you know, have you committed recently?" And I was like, "I don- I don't have any commits [laughs]." But just like, you know, I -- it wasn't going to be a big project. I thought that I could do it really quickly and get it done. And then, it was like, "Ooh."
- Dan:
Yeah.
- Bekah:
"This was a mistake." Yeah. That would have been that -- for sure, would have been useful.
- Dan:
Yeah, no. That's very good advice too. I-it's, like, at the times that I've done it, it's been- it's been super helpful. And it helps with that -- and it gives you more confidence with that -- the approach of just kind of trying stuff out, right? Throwing stuff at the problem. Because, you know, that -- it -- I mean, it's easy- it's easy to go back, right? It's easy to throw things out, it's easy to go and look at your history. And you can always, like, if you're embarassed by that [chuckles], the commits or the commi- like, you know, it's just kind of squashed them, right, into -- like, once you finally solve it into one commit, you know? But I- I mean, I'll have commits that are just like, "Well, let's try this, try this, try this. That didn't work. Try this, try this," you know? [Chuckles] And that's, like, that's not what you wanna push up ... ultimately. But it's perfectly fine when you're in your -- when you're like, you know, trying to work your way through- through a problem. At least- at least I think it is. I don't know [chuckles]. Other people might disagree with me. But --
- Roger:
I am definitely afraid to commit until, like, the code is per- perfect, just because I feel like so many people are gonna be judging me based off of what they're saying. But at the same time, that causes me to forget to commit my changes. And I have a habit of doing that frequently, which the best part about being a developer is you can always automate solutions to your problems. One of mine has been every 15 minutes, take a git commit, and just go ahead, and just save that with the timestamp. And I've written that as a bash script, because that was the easiest, lowest hanging fruit that I could do. And it works marvelously. And I've used that for a number of other projects where I wrote a whole- a whole set of scripts that took and used them as a note-taking application with an auto-save and sync functionality powered by git and bash that just was a few hours of just starting things together because I was annoyed that I forgot to save something important into the thing that I was using as a notepad. So I'm like, "I'm never gonna do this again!" And it, you know, you solve a problem, and you just use the tools that were available, and ... yeah.
- Dan:
I love that.
- Bekah:
Do you have a blog post or a tutorial on the things that you've done? Cuz that would be super [unintelligible].
- Roger:
I definitely should write this one up because I think I had intended to, but then I, again, got distracted and forgot to complete it, which I- I- I could say that a lot about a lot of the domains that I purchased. It's about being like, "Hey, this is an idea." "Ooh, the domain's available." "Oh, I should build this." And then, I get the renewal notice a year later.
- Bekah:
You have-
- Dan:
[Chuckles] That's alright.
- Bekah:
-a domain with an emoji in it, right?
- Roger:
So, I am actually the proud owner of the email emoji.fm. And I have been trying to figure out the best way to create an emoji base, social networking, email platform around that. That is just purely nothing but emojis. But amazingly enough, it is a surprisingly difficult to get emails delivered that contain emojis. So, I have been trying to overcome a lot of fun technical problems getting that service spun up. But ... yeah. That's- that's a lot of [laughs] entertainment in itself. It is just, "Hey, go check out this emoji email and -- or domain." And you're just like, "I didn't even know emojis could be domains." And ... it- it causes a lot of things that you shouldn't be buying two interior ... credit card bill.
- Bekah:
I love that. I always ... love hearing stories. You tell stories about the things that you're doing, because like, one, they're super entertaining, but then also, you come out with stuff like that. Like, "Yeah, I've bought an emoji domain [chuckles] that never would have crossed my mind to even try doing."
- Roger:
I don't just have one. I have a- a specific one that I've been putting together for a authentication service that is themed about a wizard. And it -- the link is literally the link emoji with the magic wand because they're magic links. And so the whole idea is making a- a- a single sign on magic link service that uses emojis as the links, just because, like -- in- in the right audience, it's- it's really entertaining. But it- it's also, you know, a lot harder the -- to forge those because, you know, how many people are gonna be using emojis in their thing? [Chuckles]
- Bekah:
Well-
- Dan:
[Chuckles] That's pretty cool.
- Bekah:
-once you- you get investors, everybody's gonna be using it. It's gonna be the next big thing. It won't- it won't be something of the olden days. It'll be of the newen days.
- Roger:
Well, the thing that I love about emojis is — especially like in Virtual Coffee — it's a good example. We have an international community of developers that come together. But the thing that is most universal is the wave emoji. Like, everybody knows what that means. Everybody can react and, like, emojis in- in themself almost a universal language. Doesn't matter which one you speak or read, the emojis are pretty much being the same thing.
- Bekah:
Okay. So- so you have -- I was gonna ask, one- one of my questions was, like, what is the- the coolest problem that you want to solve? And you're- you're talking about some cool things. So I dunno if you've already mentioned it, or if you've got another big idea you wanna share.
- Roger:
I think- I think the one that when I talked about the- the eyes light up of behind everybody being like, "Why I didn't even know that that was, like, something that people were thinking about?" And it's kind of one of the things that I found, like, that I first love of communities and it- it surrounds zombies actually, which is kind of, like, what makes everybody laugh. And I want -- and I am building a whole platform that does, essentially, a distributed network of servers that cash basically a copy of, like, the internet archive, the public domain knowledge. And stores them in kind of a way that makes it accessible in, like -- the idea behind it is this- this whole nonprofit in self-sufficiency, rebuilding, and being resourceful with just what you have. And part of it comes from my desire just to wanna host what I call Zombie Con and where you got a junk pile of computers and a challenge. And you throw a bunch of nerds that say, "Okay, rebuild the internet. And here's what you get to use for it." Because I think, when you're building out of necessity, the solutions that you come to problems become so much different than when you have the luxury of both time and resources. And I feel like something special will come out of that, that I don't even realize. But I just -- every time that I kinda talk about that particular side of things, like, it gets people excited because, you know, there's a sense in all of us that I feel like you want that dopamine effect of being like, "I did it," whether it's solving a problem with your code, it's fixing a server, or if it's, like, just simpling -- simple as patching that drywall, and looking back, and be like, "You can't even tell!" [Bekah and Dan laugh] It's that sense of pride and, like, accomplishment that you get out of, like, the work that you do that drives all of us. And the- the thing that I've really wanted to build is the -- just the way that we can share that and, like, make these things being like, "This is how you patch a drywall, and open sourcing those, and making them available as many people that are interested in it." And just trying to figure out ways to, again, make it accessible and last through the apocalypse. Because I feel like that's the hardest challenge you could ever possibly think about. And ... thinking about ways to solve that, to just make your ... I don't know. It just keeps me up at night [chuckles].
- Bekah:
Yeah. That's really interesting.
- Roger:
Like, our most valuable resource is our knowledge. And if we have to start over, losing our knowledge base as a humanity would be the most detrimental thing. And so, the more that we work through figure out a way to not only maintain that, but also use that data. And- and part of what drives the fun on this is, like, you can download the entirety of Stack Overflow as a SQL database to your computer. And now you have the entirety of all of the question and answers that you've needed to fix your programming at your fingertips. It's only up to you to figure out how to query that data to find the answers you need. And I think, like, doing that offline, where you don't have connection to the internet, like, makes you more resourceful and, like, you- you solve the problems in a different way. And I feel like, just -- I feel so excited when I do it on my own. So, I just, like, trying to build the platforms, and giving the people the encouragement, and, like, the support to know that, like, all of this stuff's possible. Here- here's the way to get started.
- Dan:
That's awesome.
- Roger:
Like I said, it causes- causes everybody to just go down that rabbit hole, and you start thinking about these things, and you're just like, "Man, I don't even know how to store p- you know, flower for longer than a couple of days." Like, "How am I gonna store for years?" And there- there different problems you have to try to solve.
- Dan:
Yeah.
- Bekah:
Yeah. I've -- I really liked that idea about things get done differently if it's out of necessity. There's a very different approach and a lot of ... I don't know- I don't know if I wanna say like innovation that comes out of it, but, you know, when you have to do something, you're going to think about it in a different way. And you- and you are going to change ... things to make sure that it gets accomplished. At -- that -- I feel -- [chuckles] in my mind, I'm building, like, a scientific trial on what that looks like, you know? Like, "Let's make these people do it out of necessity. And then, these people can brainstorm." How does that turn out?
- Dan:
I -- yeah. But I mean, I think that's a -- it's a really interesting point. And i-it's one of the, like, sort of through lines of the way you've been talking, you know? Especially about your career and, you know, the choice you made, right? Is- is that- is that doing by necessity? And it's a much different ... learning path than school, like a norm- like a sort of traditional school or even a bootcamp, right, where you're learning because somebody told you to learn this thing, right? So, maybe somebody that comes out of -- if there was some f-f-f- -- I don't know if there is these days or not, a front-end development, like, actual degree, these -- [chuckles] I -- who knows? But, you know, like, somebody who graduated school with that sort of thing will have a ... sort of a -- maybe a different knowledge set than somebody who was working for four years, right, in- in that field. And there's gonna be things that they do know, that the other person doesn't, and vice versa, you know? But that necessity ... driving force is- is ... I don't know. It's an important and interesting- interesting thing.
- Roger:
You know, absolutely. And- and I started- I started in my call [??] career before I feel, like, bootca- camps were a thing. I- I tried going to school to learn IT. But by that point, I understood more than they were trying to teach me. And I- I couldn't -- it was- it was- it was a difficult time. And when I realized that I can just sort of get the job without needing anything more than being able to do it, like, that just caused me just to, "Oh, I'm gonna learn this. Okay. Yeah, I can do that." And it just, for me, it's self-propelled. Because I always had the tools to figure it out, because that's how I started. I started, you know, not having the luxury of being able to search the internet for something cuz I didn't have the internet to search. I had "HTML and CSS For Dummies". I had to find it in that book and you use that resource. And so, going from that to- to now, like, and having to be able to figure things out, out of necessity, because there are people that couldn't work because their technology wasn't working and you're responsible to fix it, to being like, "Okay. Now we have these massive sets of problems. How can we resolve all of them with automation? Or how can we solve an unknown problem or build new problems with code?" And that's- that's kind of exciting because like, for me, I never learned the fundamentals like you would in school. And, like, there's great benefit to going through because, like, different people learn different ways. And I feel like I had an understanding from what I learned on how- how all the programming language kind of overlapped. But when you're in school or you go through bootcamp, you learn those same things. You get that same sense of encouragement that, you know, "I had to go through and overcome kind of in the life- in the life field, where there were real consequences if things didn't work out." But going through a traditional or going through a school or a bootcamp, you know, you get kind of battle-tested early on because they're shifting you through all of these ideas and concepts, and you learn fundamentally how all these things work, which gives you enough confidence to sort of jumpstart where you need to be. Because you go from having no idea how any of this technology works, to being like, "I know how magic works, and I will figure out how to cast a spell. Dagnabbit." And- and that in itself is power.
- Dan:
It is power. It's awesome. It's such a good feeling, right, whether -- it doesn't matter how you- how you learn, like, that- that feeling of- of knowing how to do the thing, knowing how to cast the magic spell. I lo- I- I love it.
- Bekah:
I's great. Well, Roger, we're just about out of time. So I wanna thank you for being here. Is there any last bits of advice or things you want our listeners to hear?
- Roger:
Ooh. I never -- I didn't think about this. I should have come prepared. I- I just think, like, i-if you're looking at something and you feel ... out of place, or you feel like you can't do it, or you're not good enough, or what have you, like, don't feel discouraged. Because at some point, everybody has been at that point [??], and has looked through, and has gotten over it. And i-it's just a matter of you getting to it. You just have to do it. And then once you've done it, it's easy. And I try to avoid saying things are easy because it wasn't easy for me when I started. But once I did it, it became easy. And so, just remembering, like, getting over that first hurdle and having the confidence of doing the thing, doesn't matter what that thing is, eventually you're going to do it. Doesn't matter how long you wait to do it. But you'll get over that hurdle, and it's gonna get easier from there. Because once you do it, you figured it out. You can't un-figure it out. It only goes one direction. It's a one-way street. Once you start walking it, that's it. You're just gonna keep figuring things out. And when you start- when you start out, I feel like everything is overwhelming and ... you know, there's just a lot of information coming in. And when you first sit down and you're falling all of these, you know, tutorials like, "Hey, it works!" But then, when you try to do it on your own and it doesn't, that's frustrating. Cuz you're like, "I should be able to have this thing do the thing." And it's not that you're ever wrong. It's just that you have to take a little bit more time to figure out which step that you missed in the process because it's somewhere. And when you do it once, you can do it again. And once you've done it a dozen times, suddenly they're calling you a senior developer. And that's just how it goes. It just takes time and persistence. And eventually, you'll overcome everything.
- Bekah:
Love that. It's a great way to end. Thanks so much, Roger, for being here with us.
- Dan:
Yeah. Thanks, Roger.
- Roger:
Thanks for having me.
- Bekah:
Bye.
- Dan:
Thank you for listening to this episode of the Virtual Coffee Podcast. This episode was produced by Dan Ott and Bekah Hawrot Weigel. If you have questions or comments, you can hit us up on Twitter at VirtualCoffeeIO, or email us at podcast@virtualcoffee.io. You can find the show notes, sign up for the newsletter, check out any of our other resources on our website, virtualcoffee.io. If you're interested in sponsoring Virtual Coffee, you can find out more information on our website at virtualcoffee.io/sponsorship. Please subscribe to our podcast and be sure to leave us a review. Thanks for listening, and we'll see you next week!
The Virtual Coffee Podcast is produced by Dan Ott and Bekah Hawrot Weigel and edited by Dan Ott.