Episode 57 - April 19, 2021

Who's This Guy ft. Alex Riviere

00:00 / 00:00

Shownotes

Overview:

One would assume that the world of theater and the world of computer programming don’t have many (or any) points of commonality. However, after spending 15 years in the theater industry before moving into web development, Alex Riviere, Enjoy the Vue’s brand-new panel member, has some insights to share on the intersections between the two worlds. We discuss Alex’s early introduction to programming, why traditional schooling didn’t suit him, what encouraged him to make the transition from theater to development, and why he thinks it’s important to read other peoples’ code. Alex explains the chance encounter that led him to fall in love with Vue, and he shares how his work helps him to fulfill his desire to help people and solve problems. Although he may not know who Kelly Clarkson is, he certainly knows a lot about many other topics, and you won’t be disappointed if you take the time to listen to his story!

Key Points From This Episode:

  • An introduction to Alex, the brand-new panel member.
  • Why traditional education did not suit Alex, and his introduction to programming.
  • Alex’s 15-year stint in the theater space and what led him back to development.
  • The moment that Alex started to think of himself as a developer.
  • How reframing his resume made people in the development world take notice of Alex.
  • Learnings that Alex had in his first job as purely a developer, and his first experience with Vue.
  • Alex’s childhood dreams, and what he discovered later on in life that he really wanted to do.
  • How Alex became the organizer of two Vue meetups in the space of one month.
  • Benefits of web development, compared to more traditional programming jobs.
  • A major difference between theater and other art forms and how this links to the programming world.
  • “Debugging” in the world of theater.
  • The value in reading other peoples’ code.
  • Picks of the week from the whole cast; reaction videos, video games and series included.

Tweetables:

  • “In a week, I'm having to cram enough information to understand how to write JavaScript to make these things. The interesting feedback I got in that interview was, ‘Well, you're doing things, but with an older style.’” — @EnjoyTheVueCast [0:17:25]
  • “Instead, I fell in love with Vue. Vue is the thing that made me stop hating JavaScript. Because of Vue, it actually made me a better developer.” — @EnjoyTheVueCast [0:20:15]
  • “I had been working for years and years trying to figure out what it was that I wanted. I really wanted to be able to help people and solve problems.” — @EnjoyTheVueCast [0:23:15]
  • “If web has proven anything, is that if this is something you want to do and you want to be in, there's room for you.” — @EnjoyTheVueCast [0:28:03]
  • “The only stupid questions are the ones that you don't ask.” — @EnjoyTheVueCast [0:28:31]

Resources mentioned:

Transcript

EPISODE 57

[INTRO]

[00:00:09] BH: Hello, everyone. Welcome to Enjoy the Vue. I’m Ben. Today on our panel, we have Ari.

[00:00:14] AC: Hello.

[00:00:16] BH: And Tessa.

[00:00:17] T: Hi.

[00:00:18] BH: I'm really excited, because I get to have the honor of announcing that we have a brand-new panelist joining the crew. Alex Riviere. Alex, say hello to everyone.

[00:00:28] AR: Hello.

[00:00:30] T: Hi.

[00:00:32] AR: Hello.

[00:00:34] BH: Whoo! Celebration sound effects. As far as letting people get a chance to know you, I think it's always fun to dive into the origin story, because I think a lot of us who are in front-end development don't typically enter it in through the standard com sci degree and so forth so start us back. Where does the story of Alex begin?

[00:00:57] AR: I was a mild-mannered teenager.

[00:00:59] AC: It was a dark and stormy night.

[00:01:01] AR: It was a dark and stormy night. I got bitten by a radioactive spider.

[00:01:06] T: Oh, thank God. Because that was my story, too. Then when Ben said we had different origin stories, I felt so –

[00:01:13] AR: No, that's not true. That's not true at all. I started doing developer-y things back in high school.

[00:01:23] BH: What was the first developer-y thing that you did?

[00:01:27] AR: I'm going to both simultaneously age myself and I'm going to simultaneously completely destroy any cool credibility that I have. My first experience with programming was doing basic and HTML 3 at computer camp in about 1999. It's been a little while that I've been playing with web development and stuff like that.

[00:01:59] BH: What are you talking about? That sounds awesome to me. I would have loved to have gone to computer camp as a kid.

[00:02:04] AC: Yeah, I'm jealous as well.

[00:02:07] T: I also went to computer camp.

[00:02:09] AR: Yay.

[00:02:11] AC: I guess, we only have half cool kids here.

[00:02:14] AR: We've always had computers in the house. My father was a computer programmer, so we've always had computers in the house. I did not grow up with video game consoles, we always had some sort of computer. It's one of those where, getting interested in programming and I was – or getting more into computers and stuff like that. My parents looked up a computer camp. Dad was like, “This one looks good, because it has stuff that I recognize.” Went there. I learned basic and I learned some simple web development stuff. We made little websites. That's all gone at this point but that was my first introduction to programming. I remember I made some form of Duck Hunt, where a duck flies across the screen and you try to click it, and you’re –

[00:02:58] BH: Oh, snap.

[00:02:59] AC: That’s advanced.

[00:03:00] AR: Doing graphics animation, where you draw the duck and then you overlay the duck with a white duck to make it disappear. Then you redraw the duck, so that rather than trying to clear the entire screen. That was years ago. That was two decades ago at this point.

[00:03:14] T: Three, if you include the pandemic.

[00:03:18] AR: Don't make me older than I am. Please. I started doing just developer-y stuff. Then, I went to computer camp a couple more times over the next couple of years. I learned some C++. I learned some other stuff. In high school, I started messing around with Perl and PHP, which were the hot thing at the time. You know, the way that React and Vue are today, that is what PHP was.

PHP 4 was the hot new thing that everybody was using, it changed some stuff from PHP 3. What are we on, PHP 8 now? This is the technology that I was using at the time. Also, at the time, around the time that I was graduating high school, I had taken an AP Computer Science course. I was developing – I was helping develop open source software, with games that no longer exist. I was doing a lot of stuff.

Simultaneously, while in high school, I was also doing theater. Both of these activities were taking up all of my time. Just all of it. I reached a point where after graduating, I had a conversation with my parents and school was not a thing for me. It was not a good place for me. I do not do well in educational systems because they say, “You have to learn these things.” I go, “No, I'm not interested in those things.” So I don't learn those things. Instead, I focus on whatever it is that I want to focus on, which is all over the place.

[00:04:48] T: Maybe if there was a school camp.

[00:04:50] AR: Right? Yeah, if I could take all of biology in two weeks, maybe. There are definitely some things that I now regret by not having learned in high school. Let me just put it that way. There are some things that I wish I had paid more attention to in high school.

[00:05:02] T: How many years until we have GED boot camps?

[00:05:04] AC: Oh, my God.

[00:05:06] AR: When I was discussing it with my parents, they were like, “You know, you can drop out of high school, right? If you really want to, you can drop out of high school, get a GED and just –”

[00:05:13] AC: Your parents sound way cooler than most parents.

[00:05:17] AR: My parents are super cool. I just want to throw that out there right now. I have super awesome parents. I am a white guy in tech. I am very privileged. My parents are super, super awesome. I love them. They are my greatest supporters. They're fantastic.

I was stressing out in high school pretty badly. They were like, “You don't have to go to college.” Suddenly, this huge burden was taken off of me. That was the year that I actually started doing theater professionally. I got my first paying gig. From there, I started focusing a little bit more on theater. Then people started being like, “Hey, do you want to do theater stuff? Can you run a lighting console?” I was like, “I have no idea how to run a lighting console.” They were like, “See this button that says go? You press that button.” I said, “Seems simple enough. I can do that. Sure.”

[00:06:08] BH: I can press a button.

[00:06:09] AR: Yeah. Then stuff like that. The next one, they were like, “Can you run sound?” I was like, “I don't know how to run sound.” They were like, “See this play button? When I say go, press the play button.” “Yeah, I can do that. I can probably figure that out.” Just people started, randomly from around town, I live in Atlanta, people from around town started calling me. I stopped doing as much computer programming, because suddenly, my life was becoming theater. I became a theater professional for 15 years. That is my intro to programming.

I had this whirlwind, four years of early web technologies. When I was graduating high school and I was at the end of that first bit, they had this hot new thing that everybody was using. It was this really weird acronym. It was Asynchronous JavaScript and XML. There was this new email service from Google called Gmail. It was crazy. They offered you 2 gigabytes of storage. 2 gigabytes. My harddrive was 40 gigabytes at that point. They were offering me 2 gigabytes of space. It was amazing.

[00:07:19] T: My harddrive was 15.

[00:07:23] AR: I think I had a 4 gigabyte also at that point, too.

[00:07:27] AC: I want to say, I had at least a 100 at that point.

[00:07:29] BH: I have no idea what I had at that point.

[00:07:31] AC: I was privileged and had nice computers.

[00:07:34] T: I don't remember if mine was megabytes or gigabytes.

[00:07:36] AC: Around that time, I also had a harddrive commit suicide.

[00:07:41] AR: Oh, yeah. Well, let me tell you about, that was my first experience with Linux was, “Oh, yeah, I'm going to dual boot this.” And it completely wiped the drive. All of my music was gone along with it.

[00:07:59] AC: I was lucky, I had started backing mine up a week before it died. I had all my music, but all my photos were gone. It was devastating.

[00:08:08] AR: Yeah. That was my first foray into Linux.

[00:08:11] T: This is reminding me of when we used to have to worry about R versus RW and is it the dash, or is it the plus? I don't want to think about it.

[00:08:22] AR: Yeah. That's my foray into development. Then I did theater for 15 years. That's the short version of that.

[00:08:30] BH: I mean, the question I have is, well, I mean, having done theater, what then brought you back into the foray of development? You seem like, obviously, you have some well-known for [inaudible 00:08:38]?

[00:08:40] AR: Do you want the idealist reason? Or do you want the pessimist reason? Because I can go with either.

[00:08:47] AC: Both.

[00:08:47] AR: Both? The idealist reason is I had been moving up the management chain, and I just really wasn't happy with it. What I really wanted to do was that I wanted to be doing problem solving. I was solving some stuff at work by making some databases, and all this sort of stuff. People were like, “You're really good at this.” That's my idealist happy view.

The pessimist and slightly more real answer is money.

[00:09:16] T: Yeah. I feel like, we talked about this, and it sounded like you were saving money for the company, but you were not saving money.

[00:09:23] AR: Yeah. I developed a scheduling system for the company. I was scheduling people. They handed me a Word document. They said, “Hey, schedule on this for 50 part-timers and this is for the month.”

[00:09:36] AC: Not even in Excel? Oh, my God.

[00:09:38] AR: Yeah. No. Not even Excel. Once I stopped screaming, because it was just like, if you can imagine the most just painful scream coming out of somebody, that was about what it sounded like. I said, this is why we have databases. I looked up software for scheduling and managing people and stuff and I saw several different options. I found one and I was like, “We need to use this one.” They were like, “We don't have it in the budget.” I said, “Cool.” Then the server went down one day. So I made a scheduling database.

There were a lot of times where, if the server went down, something really interesting came out of it for me. There was also digital signage that happened that was like that, and we had some Raspberry Pi's scattered around. Or, I had some Raspberry Pi’s and they were talking about getting some digital signs. I was just like, “We could probably make our own.” They're like, “How do we make our own?” I was like, “Throw a Raspberry Pi on it.”

Server went down one day and I had my Raspberry Pi's there. I was like, “Okay, cool.” Wired up a couple of them to do the right thing. Suddenly, we had digital displays. I showed it to my boss and she was like, “I'm going to get you a meeting with the general manager tomorrow. Is that okay?” I'm like, “Yeah, that's fine. That’s fine.”

I had done a lot of work in theater, in very technical situations. I did sound. I did lighting. I did stage management for a while. Each of them have their own interesting way of thinking about how you handle challenges in them. But as I was doing more technical stuff and I was explaining – at this point, I had started going to meetups, because I was like, I need to ask questions to people, because I don't have the words to look up the stuff that I need to find. Sometimes, you need those words to be able to get the resources that you need. If you don't know what the words are, then you don't know how to find it. I would go to meetups, just to be able to talk to people and be like, “I'm trying to do this thing, where I'm doing this thing, but I don't have any good documentation.” They're like, “Oh, no. What you're trying to do is this.” They would give me a word and I would go, “Okay, cool.” I would search for that. I'm like, “Yes, that is exactly the thing that I'm trying to do.”

I was getting developer resources that way and I was applying it to the theater, entertainment world. There was a day where I was explaining what I was doing about database stuff and I was like, “I don't know if I'm ready for a developer job or not yet.” I'm explaining, “I made this database and has a thing and there's web connectors and sends out emails, and it does all this stuff.” They were just like, “Okay, you need to just start thinking about yourself as a developer. Listening to what you're doing, you are a developer.” I went, “Really?” They were like, “Yes.” I was like, “Oh, okay.”

That was the moment where I had to start rewiring my brain to be like, “I'm not a lighting designer anymore. I'm a developer.” Six months later after that, I got my first real developer job, where I was – what we in the theater industry call either a “real people job”, or selling out. Either one.

[00:12:42] T: Really selling out.

[00:12:44] AR: Yeah. That interviewing process was terrifying too. That was interesting.

[00:12:49] T: Yeah. I want to hear more about that. Because I don't know if this is the case for the rest of you but I feel like, not necessarily always in practice, but a lot of times in practice, but also just mentally, or emotionally, I tend to [inaudible 0:13:04] new commitments. I don't feel I can let go of old things to go on to new things. Regardless of how the job is, deciding to move on, or do something different is always a pretty big decision for me.

A lot of times, there's a lot of lead time even, between making the decision and then taking some action on it. I'm curious to hear more about how you finally decided to leave the theater world and how you went about finding that first job.

[00:13:30] AR: The place that I had made the schedule for, it's an arena. I was in charge of stuff, where basically, if it turned on and off, it was my fault. That's how I would put it lightly. I was scheduling people to deal with this stuff. It was the same thing, year after year. You'd get into a pattern of like, “Okay, now we're in graduation season, and now we're into Christmas season. Now we're into this. Now we have all the nutcrackers coming through. Now we have what have you.” I was in that pattern, and I really wasn't happy.

The people around me were like, “The only time that we really see you interested in the work is when you have some new computer programming thing that you're doing.” I was like, “Maybe I should focus on this some more.” I really started focusing on Python, started getting back into PHP a little bit, but was really focusing on Python at that point and I started looking for jobs. I was like, “Well, someone told me that I should think of myself as a developer. I think I can do this.”

I had started listening to podcasts that were, you know, like Shop Talk Show, and some other ones where it's really just getting more of those just words, where it's, “What is this thing that they're talking about and what do I need to know about it?” I found a place. I had applied to a couple of places and hadn't heard anything back, because my resume looks weird at that point. I have 15 years of theater experience and I have zero programming experience to show for it.

Actually, a member of the PyATL Meetup group, where I started meeting and talking to other programmers, she looked at my resume and said, “Hold on. Let me punch this up for you a little bit, and we'll rearrange a couple of things.” She moved things around and basically, made the resume. She was like, “Okay, tell me about the stuff that you're doing at your current job.” We formatted all the things that I had been doing at my current job, which weren't technically part of my job description, that I had inadvertently done at my job to make my life better. We got those put in in such a way, so that it looked more programmer-y.

Then, as the idea behind the resume, she was like, “Cool. You are a hobbyist programmer, who is wanting to move to full-time.” With that idea in mind, she helped me formulate this fantastic cover letter, where it's like, “Here are the things that I've been working with, here are the things that I've been working on.” Explaining like, “I've been really diving into this for the last year at my current job, but it isn't my job to be doing this and I want it to be.”

I had applied to a couple places and never heard back from anybody. With this cover letter and this resume, I sent it out to a couple places and immediately got calls back, where they were like, “Hey, how are you doing? What's going on?” I ended up doing an interview. It was my first tech interview. They gave me take home tests, and I would do the take home test and the thing that was on the take home test that was really weird, was I had to do JavaScript, and I had never done JavaScript. Because if you will recall, back when I had been programming previously, the state of JavaScript was, kind of, it's that gimmicky thing that you use to move text across the screen, animate your – add some animation to your –

[00:17:00] T: Cursor.

[00:17:01] AR: Yeah. All of these sort of like, “Yeah, it's a gimmicky language and nobody's really –.” There are people who will fight me on that and I don't want you to, because I was wrong. I will admit that now. However, that was the mindset that I had at that point. They're making me do things, where it's like, make a search field and make it do an AJAX call and I had never written JavaScript before.

So in a week, I'm having to cram enough information to understand how to write JavaScript to make these things. The interesting feedback I got in that interview was, “Well, you're doing things, but with an older style.” I went, “That makes sense.” They're like, “You do realize you can use border radius now, right?” I went, “What? We can use border radius?”

[00:17:48] T: That was the day that you rebranded as a classic programmer.

[00:17:51] AR: Yes. I had gone into that interview. It was a PHP interview, and I ended up getting my first job. It was at an agency. I learned a lot at that agency. That's a safe way of saying it. I learned a lot while I was at that agency. I crammed on JavaScript pretty much the entire year. I was getting back into WordPress development. Because when I was developing previously, I remember, WordPress, before it was version one, I remember that it did change names to WordPress.

It's one of those, where I'd been around WordPress up until about version 3, and then, or no, not even version three, maybe version two, and then had gotten away from it. Now I was getting back to it and it was completely different. Not completely different, kind of the same, but they had started doing some stuff differently. Then PHP was doing things differently, so it was the whole thing. There was a lot of WordPress at that first job. Got into some Magento.

While I was at that job, there was one client and one of my co-workers, who is now currently my boss at a completely different job, he and I would sit right next to each other and he got handed a project that he and I were going to work on. Basically, he's like, “Cool, this is the thing where we're just needing to do restaurant listings for a local Chamber of Commerce. We're going to use this thing. It's called Vue.” I went, “Okay.” He's like, “Watch this. Watch this. You can do two-way binding.” I'm like, “What is two-way binding?”

He’s like, “Okay, look, look, look. See, I can type into this thing and it's updating the values over here.” I'm like, “Yeah. Who cares?” He's like, “No, no, no. If you update the values over here, it updates the input.” I went, “Okay, that's cool.” We built this single-page application using Vue. You could update a list of restaurants and then every day, there was a cron job that would just rebuild the site. That was it.

We'd pull in a JSON blob and shove the data in, and then it would populate and display the page. It was perfect. It worked perfectly for that. That started my interest in Vue. That was my first introduction to Vue, it was basically like, “Hey, cool. We're doing a project in this. Learn it.” I went, “Sure.” Lucky chance, that is what happened. He could have said, “We're doing it in React.” I would have been like, “Sure, why not? Great. Okay. Right.” I could have been a React developer instead. Instead, I fell in love with Vue. Vue is the thing that made me stop hating JavaScript. Because of Vue, it actually made me a better developer.

[00:20:25] AC: Sorry.

[00:20:26] T: I never stray too far from the sidewalk.

[00:20:28] AC: Goddammit. I was going to do it.

[00:20:34] AR: I think I’m missing a reference.

[00:20:36] AC: Kelly Clarkson. Because of you.

[00:20:40] AR: Okay. Yeah. Right. You'll have to link me to that song, because I don't –

[00:20:44] AC: I thought I lived under a rock.

[00:20:48] AR: I haven't been living under a rock for 15 years. I was stuck in really dark rooms. It’s like, we would have random music playing. Most of the time, it was whatever the big hit of the year was and then people would dance to it.

[00:21:03] BH: Across your radar.

[00:21:04] AR: It's probably one of those where I'll be like, “Oh, this song. Oh, no.” Yeah. There were so many bad dance numbers to this, right?

[00:21:12] T: Is that why you never stay on the same side, so you don’t get hurt?

[00:21:17] AC: Tessa.

[00:21:20] T: It lyrics from the song.

[00:21:24] AR: Okay. I'm just going to start randomly bringing in Broadway musical songs, just for y'all, so that y'all get just as confused. Or I'm going to start bringing in Samuel Beckett references.

[00:21:35] T: Oh, I love Beckett.

[00:21:37] AR: Yeah, Beckett. Yeah. I'm going to do that too. I’m going to bring in some weird existentialism stuff and you're just going to be like, “Oh, my gosh. Please stop.” I'll be like, “No.”

[00:21:46] T: I think, Godot was a pick on an earlier episode, for what it's worth.

[00:21:52] AR: Was the play the pick or was the language, the pick?

[00:21:56] T: I think you know.

[00:21:58] AR: I think I know.

[00:21:59] T: One thing that I'm curious about is what you're doing now. If you are one of those children that had an idea of what you wanted to be when you grew up, or what you wanted to do when you grew up, how different or similar is what you're doing?

[00:22:12] AR: As a child, I wanted to be an artist. And I did that. Also, as a child, what I really wanted was, imagine a space shuttle cockpit, or like an airplane cockpit, right? You have all –

[00:22:29] T: Or like a mecha cockpit?

[00:22:31] AR: You have all the buttons and the switches and the levers and the things and you see people in movies, they sit down and they go, flip, flip, flip, click, click, flip, turn, flip, flick. They're just doing all of these things and I realized one day in the theater, I was like, “I'm there. That's what I'm doing. I'm pressing buttons and flipping switches. I sit down, I flip a bunch of switches, I press a bunch of buttons, things happen and things go.” I was like, “Oh, okay.” I'm doing that. That's what I'm doing. I had reached this point where I was like, “Okay, cool. I can do this.”

Then, that part of me got jaded, we'll say, is the nice way of saying it. I got jaded. I realized that it wasn't what I wanted. I had been working for years and years trying to figure out what it was that I wanted. I really wanted to be able to help people and solve problems. Computer programming works for that. But computer programming works for that only to a certain extent, right? Because you're not really – You're still not interacting necessarily with the people that you're helping.

It may be okay, they talk to this person, and that person talks to this person, then this person gives you the thing and says, “Hey, fix this thing.” You're not directly impacting. You're not having a relationship with them. Sometimes in smaller companies you are. Sometimes, most of the time the bigger companies, you're not necessarily, as a developer. They keep you shielded from everything. I had stayed pretty active in PyATL. I had started, because of my newfound love of Vue.js, I had started going to the local Vue meetup, the Atlanta Vue.js meetup.

I got back into development around 2016. So, 2019, beginning of 2019, the organizers of PyATL were going to be changing. I think Doug Hellman, who had been – Well, Doug Hellman, who had been an organizer for PyATL stepped back a couple of years previously. Two guys had been running it and one of them was my friend. At that point, he had helped me get the job that I had at that point, I'd moved on from my first job. Went to my second job, where it was like, “We're doing Python and Vue.” I went, “Great.” It was a very small business. It was more of that, reaching out and helping and talking directly to the customer, or helping someone specifically.

They were changing who was in charge of the meetup again. JR, who was one of the co-organizers was like, “Cool. Can you come help? I want to get a bigger group of people. You've been here a lot. We talk all the time, so I want you to help, so come help.” I was like, “Sure.” That was February 2019.

Later that month, I go, in February, I go to the Atlanta Vue.js meetup. Peter Finn, who had been running that, he and David Sander had started the group together. They had actually started separate groups. At the same time, realized that they were both starting the same group and then merged into one group. David is the more quiet one. He stays back. Peter was the one who was doing most of the organizing. Peter came over to me at the meeting, and he went, “You’re here a lot. I'm not really using Vue at work anymore and I have other things I need to focus on. Do you want to take over the meetup?” In the span of a month, I became an organizer for two meetups in town. That is how I became – I slammed myself into becoming an organizer and becoming a “pillar of the community.”

[00:26:10] BH: We are grateful to have you, that is for certain. I think we crossed paths – I can’t even remember which conference it was now.

[00:26:16] AR: I think – Well, no. Ben and I met first, because you and I met via Chris.

[00:26:23] BH: Yes, that sounds right. Yeah.

[00:26:24] AR: We met in person at Connect Tech in 2018. Then, all three of you and I met in person for the first time at Connect Tech. No, no, no. We would have met in 2017. All three of us met together in 2018, I think.

[00:26:40] T: I was about to ask, you didn’t meet Ben in person at Connect Tech?

[00:26:44] AR: Wait, hold on.

[00:26:45] T: How did you meet him?

[00:26:47] AR: No, because Connect Tech 2019 was at my new job. Okay, so hold on, hold on. Now, I have –

[00:26:52] BH: I think 2019 was when we all hung out together.

[00:26:54] AR: Yeah. 2019 is the year that we were all there together. Okay, so we all met each other at Connect Tech 2019. That's where we all met. We immediately hit it off and became best friends.

[00:27:04] T: Wait. Did you meet Ben at a different Connect Tech, or was it the same Connect Tech?

[00:27:09] BH: It’s a different one.

[00:27:10] AR: Yeah. Ben, you were at the 2018 one. That was my first tech conference that I had been to. Then, I picked up the meetup in 2019. Then I started doing talks. Then I gave a talk at Connect Tech 2019 and met all of you lovely people.

[00:27:28] BH: It’s incredible how these communities – That's what's so lovely about your story is, it's a reminder that there is not this one path into things, far from it. Sometimes, yes, you do need to reframe things. I think it was a big moment for you, when you set up the PyATL and [inaudible 00:27:42] that helped you to reshape the way your resume was being perceived. Yeah, it’s just a wonderful example of that, and why you can really just figure out ways to connect the dots and make your way in this community which is what I love about web in general. Compared to some more traditional programming jobs where they might require a degree or they might require a certain classical training. If web has proven anything, is that if this is something you want to do and you want to be in, there's room for you.

[00:28:08] AR: Yeah. I always try and help new people in tech. If you are listening and you hear the sound of my voice and you have questions about things –

[00:28:17] T: You can @gloomylumi.

[00:28:19] AR: You can @gloomylumi. You can reach out to me. My DMs are open. My email is available to be reached out. Please feel free to reach out to me and ask me whatever question, because the only stupid questions are the ones that you don't ask.

[00:28:34] T: Those are the only silent questions, but they're not stupid. What are skills you developed, or lessons that you learned in your “non-officially a programmer” background that you feel you exercise, or come in handy in your “officially a programmer” experiences?

[00:28:52] AR: The thing that I like to say is theater is a purely collaborative art form. Painting, you can, by yourself, paint a picture. You can go stand outside, look at a mountain, paint the mountain. Done. It’s you. It’s by yourself. No one else ever has to see it. It is still considered art. With theater, at the minimum, you have a performer and an audience member, bare minimum. There is a collaboration happening there.

Now, there is some sort of power dynamic. One person is being watched and one person is doing the watching. But there is still a collaboration that you as a watcher and audience member have to go along with whatever the actor is doing. If you don't believe them, then the collaboration doesn't exist. It's not good art. For good art, you have to have good collaboration. Same thing backstage. You have all these different departments and all of these different moving parts, and you have to communicate, and you have to collaborate in order to make this finished product.

That is the thing in software development that I see and I don't see enough of. I see it needing to happen. I see it happening sometimes. Then, I see it not happening. I go, “You were doing it over here. Why aren't you doing it over here?” It's really, you have to – There are times where you just need to take your ego out of it and just do the thing. That is one of the big things that I have taken from entertainment and from theaters, that it's extremely collaborative. You need to be willing to work with other people. Even if you don't like them, you need to be willing to work with them.

The other big takeaway that I got from theater is, I have a physical model in my head for how to debug things. If you walk up to a light and you turn the light on, and it doesn't turn on, you have started a debugging process at that point. First thing that you do is that you check the light bulb. If the light bulb doesn’t work, you swap out the light bulb, right? If you swap out a light bulb and the other light bulb doesn't work, and the one – so you now have potentially two bad light bulbs, or there's something wrong with the lamps.

So now you go and check and see, is the lamp plugged in, right? Does it actually have power? Okay, cool. It is plugged in so in theory, it should have power. Okay, let's go check and see if the breaker is tripped. Is the breaker tripped? Okay, cool. If it's not, then you start getting into really deep testing tools, where you're like, “Okay, let me go get the thing that checks to see if there is actually power in this thing.” Now, you're getting deep into it. Through all of that, there is a process for, “Okay, where's the problem happening?” And work backwards from there.

I have this very physical model in my head for how to debug programming, because it's the same thing. A function is not being called. Well, why is the function not being called? Well, there's an if statement. Is the if statement firing? If the if statement is not firing, why is the if statement not firing? Well, let's check and see what the things are that are going to the if statement. Okay, well, those are coming from over here. Where is it getting set? Let's make sure it's getting set correctly. You're doing this backwards look into okay, how is all of this code working? It's the exact same thing as troubleshooting a light bulb?

[00:32:02] AC: 20 console log statements later?

[00:32:06] AR: I am a heavy user of console log statements. So I firmly agree with that.

[00:32:12] AC: Yeah. I would use break statements but when you're using Vue, oh, my god. That ends up just being the longest process every time it needs to call Vuex or something. I'm just like, “Nope. Console log, it is.”

[00:32:25] T: Apropos of nothing, I really liked when you started this story, the sound that you made when you hit your mic arm, it was the iconic visceral cartoon light switch flip on sound. That was great.

[00:32:38] AR: Oh, that’s fantastic.

[00:32:40] T: I'm curious, if there's any go-to approaches that you leverage frequently at work that come very naturally to you after years in theate,r that you don't see your fellow colleagues using? Something that our listeners could maybe try out at work.

[00:32:55] AR: I don't know. Reading documentation. The number of times that I would get in a fancy light fixture in theater, where it is – with these fancy light fixtures, they have a typical on-off light that you turn on and off. It has what we call one channel. You have intensity. That's it. You got a 100% intensity and then you can fade down to 0% intensity, right? That's it. That's your one control.

On these newer smarter lights, you have anywhere from one to 48 channels of control. There isn't a standard for it. Each channel just does its own thing and each light does its own thing. You learn very quickly. You get in a new light, you open up the manual and you make sure you understand what each of these control channels is doing. That's one of those things where I'm not afraid of going and saying, “Okay, cool. I need to know what the guts of this thing are.” I will go and I will look at the documentation. If the documentation isn't good enough and it's not giving me enough information for what I need, I will go into the source code and I will just start poking around and being like, “Okay, what is this supposed to be doing? How is it doing it?”

I feel, there's a lot of people who are hesitant to do that. A, it can be a deep dive into terrifying code land because other people's code can be terrifying but also makes you a better developer to look at other people's code sometimes. Because as a lighting designer, you get very, very stale as a lighting designer, if you don't go see theater and see other people's lighting design. Same thing with programming. If you don't go and you look at and see, “What are other people doing, how are they doing it? What is this thing that people are talking about?” Your skills will get stale.

You can go a long way on that. Don't get me wrong. There's nothing wrong with that. That is a perfectly fine approach. Sometimes, it's good to just take a look, “What is this person doing? How are they approaching this problem?” I know that Vue does this thing, where it merges the virtual DOM and the real DOM together and keeps track of changes. I've never looked at that. I might dig into that someday and be like, “How is this happening?” Because maybe I'll run into a project where they're like, “Cool. You need to keep the stuff from the API on the screen and then merge in all of the new changes.” It'd be great to be able to see how somebody else has implemented something similar to that. Yeah. Read the docs and read other people's code.

[00:35:33] BH: Alright. Well, with that, I think it's time for us to move on to this week's picks. With that, Tessa, would you like to kick us off?

[00:35:42] T: Okay. My first pick is pretty topical. I think Alex brings up a good point. I've picked one of her videos before, but Jessica Kobeissi is a YouTuber and a photographer. She has this series where she reacts to America's Next Top Model. One thing that I always find pretty interesting is if she likes the photos, which often isn't the case, then she'll try to figure out what kind of lighting and equipment setup the photographer has. I think that excitement to see what somebody else is doing, especially if it's different from how you would do it, is maybe sometimes missing in tech. I think that that could be a fun example to see someone doing live, what Alex was talking about.

Also, apropos of nothing, I was recently reminded how much I like PowerPoint. That's another pick for the week. Then finally, I had picked The Stranger at some point, in the past or the future. I'm not sure. I guess we'll find out. When I picked it, a friend thought I was talking about Stranger, which is the English name for a K-drama called Bimilui Soop, which means forest of secrets. It’s a show about a prosecutor who is unemotional and like, I never saw anything about the Korean court system before. It's pretty interesting. Those are my picks.

[00:37:00] BH: All right. Great. Ari, what do you have for us this week?

[00:37:03] AC: I have another season of The Manhunt Series, this time, the Unabomber. Manhunt Unabomber. I don't feel I need to explain a whole lot about that, because if you don't know who the Unabomber is, I can't help you. This show can. If you don't, just watch it. If you do, you already know what it's about. Here's a hint, there's bombing involved. That's all I got.

[00:37:32] BH: Alright. Alex, what do you have for us this week?

[00:37:35] AR: My pick this week is a game that I have been mildly bingeing for the last couple of three weeks. The game is called My Time at Portia. If you have ever played anything like Stardew Valley, or Animal Crossing, or anything like that, this game is going to feel very familiar. It's slightly different in that it is 3D, so we're not talking about Stardew Valley, where you have two-dimensional characters on a symmetrical plane. This is 3D. You're running around and doing stuff.

It's this very interesting game, because you get a farm from your father who's off traveling. You have to build things. Then there's a little city called Portia that you live right next to and you help them by building things for them. It's this very, happy, charming place, but it's also simultaneously post-apocalyptic. It's really weird. It is quirky and beautiful and weird and unique in and of itself. I have been thoroughly enjoying it.

If any one of the mechanics were a game by itself, it would not work. With all of the things together, it all works together. Yeah, that is my recommendation. They're also, in theory, going to be releasing, I think later this year, a follow up game called My Time at Sandrock, where another one of the towns in this world that they've invented is called Sandrock. I'm assuming that it will be adventures there, it's going to be very similar. Yeah. I'm super excited about it.

[00:39:12] BH: Very cool. Alright. As far as my pick for this week, for those who don't know Vues 4.0 is officially released now. It is out [inaudible 0:39:21] candidate, which is very exciting. Then for those who are looking for a game to play with people, sort of like online [inaudible 0:39:27], this fun little puzzle one that you can play online with friends called Unrailed!, where you all basically will try to – it's like Minecraft-y, where you have to harvest resources and you have to construct things and coordinate with one another. It's a pretty fun time. If you're looking for that, that is Unrailed! on Steam. We will make sure to include that in the show notes.

With that, that is all for this episode. Thanks everybody for listening. Until next time, enjoy the Vue.

[END]