Guest Joe Morgan
Dave: Hello and welcome to the podcast. I’m your host, Dave Albert. In the show, I talk about technology, building a company as a CTO, and co founder and have guests to discuss their roles in technology and entrepreneurship.
Joe: Thanks for having me.
Dave: It’s my pleasure. I’m really glad we got this setup. So if you want to give a little bit more of just a description of your background and what brought you to this field, and, you know, what’s your, what’s your day to day, what you’re working on?
Dave: That’s really interesting so I always knew preferred those types of of methods over you know, loop of a different type. But I never could really articulate why I preferred them. So I now understand that’s exactly it is that it’s more obvious what you’re doing. Just just through the, the key words there of map, filter, reduce, and so on. Interesting, I like that.
Dave: Yeah and constants are more efficient to the interpreter so they they don’t know the internals of the eight or any I’m a node program or more than a front end so I guess the engine that interprets on some browsers may be different than VA but no uses VA. Constants have a have a more efficient path to usage or they they require less resources in the long term so I use them where you can I never noticed the cognitive load that that took off of you by knowing it’s a constant so that’s that’s a really interesting point too. What was the thing that surprised you most about writing the book that you didn’t expect going in?
Dave: Oh you appear to be muted
Joe: I accidentally hit the button. So there’s a something called, I think it’s called Hofstadter’s law, Hofstadter. I can’t remember, because this law is everything is going to take longer than you think even when you take into account that law and and so that’s that’s exactly what happened with the book. It took me it took me almost a year to the day from the time I signed a contract to the time that was shipped, and my original estimate was about six months and then included the fact that I was I was inflating it from what I thought. I think..
Dave: That’s the
Joe: Go ahead.
Dave: No, I was just gonna say, yeah, let’s try to double everything. And it still takes longer. So
Joe: Yeah, that, that, that Yeah, truth about life and definitely that code and programming. But I think the thing that I kind of surprised me about reading the book and, and I guess I kind of expected this to was it really helped me learn things a little bit more than than I thought, you know, took me like to the next level mostly because as you’re writing, you don’t want to you don’t want to look like an idiot. You don’t want to say something wrong. You don’t make people down the wrong path. So every time I’d write something, I would double and triple check it and I learned a few things that I had had been mistaken about for for a long time, and I don’t know if I would say I got addicted to the writing process. But I definitely learned that it’s very useful for me that writing or speaking or ways that are motivators I use to keep myself kind of fresh. So I like to speak at conferences. I also write articles pretty regularly for online publications like Free Code Camp or Pony Foo to the newsletter and just the process of writing about things helps me kind of understand it better. And if you have to come up with an example you have to make an abstract you have to explain it piece by piece and I think that’s a great way to learn you know, I’m always encouraging people to to write things or or get talks because I think it makes them better just the process of doing it even if no one reads or not hopefully they will but merely the process of doing so I think improves people’s abilities and skills.
Dave: Yeah, So what I.. That’s part of the reason I have this podcast is so I get to talk to people like you, but also so the more I talk about things, the more I seem to get a deeper understanding of them. That’s one of the skills I’ve always had that seems to be somewhat unique is the ability for me to take an analogy of something technical to describe it to a non technical person and every time I do that, I understand the process in a much more in a much deeper way than I did before. What the, you mentioned that you realize there were things that you’d been doing wrong. Is there anything specific that stands out that, you know, we might learn from?
Joe: Let’s see.. I mean, some of them was kind of silly things like higher order functions I’ve been calling higher order functions forever. So just a simple main thing. I don’t know how I got it wrong in the first place. But there’s some ways I use promises that I realized is wrong based at the essentially how I did some of the error handling and where we’re different things were caught in the process and I can’t remember exactly what that is. But remember realizing I’ve been doing it wrong for a while. It’s still work, but it probably wasn’t optimal. Yeah, that’s the only one that pops into my head.
Dave: No, no, that’s I what you probably couldn’t be expecting that kind of question.
Dave: You mentioned writing articles. I just happened to today, see the article that the title is teaching kids to code, I won’t teach my kids to code and neither should you now. as I told you before we started, I have not actually had a chance to read it and as we talked about that the title might be slightly misleading but if you want to maybe give me give us a little insight into what sparked that article.
Joe: Sure. So yeah so the article was published in Slate. You know fairly well known publication but they’re kind of known for having they had another rebellious fans they get contrarian nature so that’s why I pitched it to them. And I have two small kids right now one is three about to turn four and the other one is about 20 months old. So you know, thinking about kids and education stuff that’s all on my mind. And the idea came to me I can’t remember got a year and so ago and what happened was my my second child was just born, and I was walking in target to buy some formula and I look over and you know I probably got like four hours of sleep that night as super tired and I look over and I’m the in display there was a rack of books about teaching these kids code. Well so I guess I just saw one of them and I thought oh look at a book about teaching kids to code and the same seemed like they pop up everywhere and then I looked up and realized it was the entire in cap so anyone who knows anything about retail knows that that’s like Frank Primo real estate and so this was a full en cap display on the main aisle at Target and so I was like this must be something that’s like hugely important to people it must be really on people’s mind and it’s funny because this so there’s an article that came out after what this says Thomas Friedman about I think there’s about two weeks ago so mid February he wrote an article in The New York Times opinion piece about how there’s two types of codes you can need to learn one is, coding as we know it writing computer programs and the other something about to the code, I don’t, I don’t really know what his point was there to do his the person at the New York Times huge Nazis and he’s telling parents they absolutely have needs the kids to code there’s the target with all these products teaches kids to code I can’t turn a corner without seeing it and all I could think was the you know these these kids don’t know anything about writing code and and let me explain what that means and what that means essentially is writing code you know a lot of those books are about syntax and this is how you write an HTML form this is how you write a for loop you know maybe it’s in Python maybe from whatever. Now let’s let’s make a tic tac toe game and that’s you know, there’s nothing wrong with that. But in my experience in the industry, there’s there’s so much more to it. And this kind of goes back some things we’re talking about. There’s things like creativity, things like What is it? What does it mean to be good? Like, what is what is a quality product both that the user would interact with, and the product of code, which essentially the consumers are other developers. And these are all you know, what they would call like a soft skills. Soft skills are more like mindset. And you, you can learn those in the number of ways. And so I think if you want your kid to be a developer, first of all, if you’re pushing them into it, you’re already setting yourself up for for bad time, you know, if they want to, and this is where I think people misunderstood the article. I’m not saying if my kid wants to learn how to code if I can want to do Lego Mindstorms or whatever. It was absolutely not. Not under my roof. Of course not. But it’s the same thing if he wants to be a baseball player. You know, he wants to, he wants to study chemistry. I’m going to support him, you know, in whatever he wants to do. I’m not going to push them into because I think he’s going to sell in life if he doesn’t have those skills instead, you know, I’m going I want to focus on him getting the broad kills that if you choose to become a developer will make him a good one. And so in the article I talked about things like one day we were sitting down at his little, little toddler table, and there was a loose school on on this chair. This is like an Ikea chair. And he’s like, well, what is it? What is this before? And I said, Oh, well, this is he didn’t know this is true. He just says, What’s that? So that’s the screw. It helps get the, you know, obituary together. And so I got a little hex wrench. I showed him how you turn it on, let him turn. He turned it all the way to tie he turned all the way so the thought he took it off and saw that there was other screws and so we ended up just kind of messing around taking things apart and putting them together and eventually I think he’d probably wonder off why we’d put it together but you know, that’s that’s really the development process. You know, it’s it’s not memorizing a bunch of syntax. I didn’t even know syntax obviously, you know, I wrote a book about that. I think it’s important. But the thing that separates people who are really good is the ability to take something that’s never been done before and figure out a way to do it or to be curious enough that they go down a path to see how something works. You know, I think I think a lot of developers are the test people who take things apart You know, they just want to know, they want to know how things work even if even if they don’t have the ability to have the means to mess with them you know, and and so I think that’s what’s important especially at a younger age but it time they get older again if that’s what they want to do. Cool. But even from a non technical side there’s we’re already teaching kids skills that will make them developers and in most grades and that’s called math class. You know, if you if you have mathematical mind, if you aren’t scared of math, then you probably do okay. So that’s kind of what the article was about and I think it’s just encouraging people to not mind of hysteria you know code is important but I want my know what my lawyer to be good at law I don’t want them to program. Oh I want my doctor to be good at medicine I don’t want them to program it’s not as essential skill as as everyone thinks it is.
Dave: Though on the flip side, the let me say this first and then we’ll get back to the article I wish the law makers had a bit better understanding of how code actually works so it would stop making ridiculous laws. That’s an aside.
Joe: I hope too, yeah.
Dave:Back to the article. The reason I wanted to bring it up was, I want to my son who is eight is in a class where they’re going to do a you know, the scratch programming thing in a in a can’t remember for an after school program or whatever, but it’s it’s a short thing and he wanted to see it beforehand. And we started to play with it just so we could see what it was like. And as a I was born a programmer, I didn’t even know it was a field of a profession, a profession until I was in college. I thought it was just something I was playing with. I didn’t realize I could actually make it a career. So I’ve always been into programming since I was like nine years old. But I was doing it with him, just showing him how it worked. Just showing him some of the images and how you could add backgrounds and stuff. And then he started to play with it. And then he would ask how we got another element and I kept wanting to solve that problem. That’s that’s where I was going with the, as a programmer from the beginning. You put a problem in front of me, my first instinct is to solve it. So it was to get him from 0-2 all the way as fast as possible. And then I had to stop and say, wait a minute. The reason that I got good at this and enjoy it is because I poked at it until I understood it myself. So I had to take that step back and say, Wait, wait, wait, wait, I’ll sit here with him and let him do what he wants. He’s right now just sticking the load monsters on the screen and I’m helping him make the move back and forth while strange music plays and that’s fantastic for him. You know but it was like oh we’re not programming yet. I got to teach you for loops and how this works and how we make the move across it and I was like stop that Dave, you don’t need to do that. Just enjoy it. Let him find that either the passion to do it or not either way, but that so it was right along with your thinking. I think you’re thinking actually even a little bit better of seeing that that the curiosity in other physical objects as opposed to just the digital ones,so I really appreciate that.
Joe: And I think, I think that the common experience for developers you know when article went out I kind of break myself. Okay, I tend to get some hate and in the comments section where people are pretty pissed off as people are in comments sections, although I think sometimes their their thought processes misguided but a lot of developers you know I think really got it because a lot of us had that experience growing up where we you know, will regain that curiosity this who knows what how we did it but at some point it was there and so I think having having close systems and that’s what a lot of books and tutorials are. There’s something you do X, Y and Z you get this. That’s you know, that’s nice for helping you learn a few things but it’s that open ended will to explore and to find the answer that I think that’s why most of us get up every day and enjoy what we do. You know, I The reason I want to be a working programmer as opposed to a manager, budget manager this better than the other thing is because when I’m working on code, I get those moments of flow where you know, you you are so into a problem and you finally get it working. And you look up and it’s been two hours. And actually, it’s funny because the day kind of the day I realized I needed to switch careers from being a librarian to be developing full time was exactly one of those moments I was working on something I was trying to get. Trying to connect to an API I didn’t know what’s an API and the time I just knew that someone said, if you put in this URL, then you’ll get the data and I was working on it so hard and I finally got it working it was showing the little book images on the screen and look up and it was 6:30 and the office was dark everyone had less than that and even notice and I was just like what happened? So it was such a good feeling that I was like I want I want to see that every day I want that feeling all the time you know and so that’s something you can’t force that something has to be discovered and and you know some people don’t find it into it I have a brother who’s a is an electrical engineer he started off he thought he wanted to be a programmer and we just realized that he didn’t like he didn’t like the part about sitting you know and and thinking in logic he likes he likes turning screwdrivers and in cutting wires so he went into electrical engineering he felt he felt right so here and there but for him the fun part is is getting his hands in the thing and that’s you know, that’s that’s awesome. I’m glad he likes that, he likes to do that thing.
Dave: Cool. How did you end up starting the meetup?
Dave:That’s a really good idea, I go to meetups quite often. I try to limit it to no more than two a week at a maximum usually, I try to keep it at one but what happens is I’ll have one week was zero in the next week I’ll have two because of the way the timing works out because you know I’ve got three small, three smaller kids now they’re not quite as small as they used to be but my wife if I was out too much but I get so much value from them you know it’s I get like even the ones where the thing is not directly relevant. There’s one word that mentioned one tool or one technique that I then go and look into more that I wouldn’t have heard anywhere else in the context that made sense to me. So even what can feel like 99% of it wasted my time that 1% was so valuable that it was a must go You know what I mean? So I really liked that idea of the lunch, someone mentioned a different type of meetup that might happen over lunch at some point. But I hadn’t thought about a, a deeply technical one being. That’s it. But that’s, that’s a good idea. And I know a few places that have actually had a little bit of an issue or a few meetups that have had a little bit of an issue with trying to get places at certain times to hold their meetup so that might might be interesting. What What was the hardest part of starting a meetup?
Joe: You know, this one actually went pretty easily that the hardest part was originally finding finding locations and and so Kansas City you know, the biggest downside to a lunchtime meetup is that the time is limited. So again, Kansas is a big metro area and traveling from one side to the other, but take the entire lunch hour. So I’m trying to figure out a place that can where I can get people without excluding people was tough. I don’t think I actually saw that problem. We’re on one side of Kansas City where a lot of the development the developers are not all of them. And so I think we get more people but we do exclude a chunk of the city, we try and move it around a little bit. But finding the location can be can be challenging because the beauty part is a lot of more offices are open. So people are willing to share their space, you know, and they of course, this of course, derive some benefit usually they’ll they’ll pitch if they’re looking for developers will give a little pitch for their space and then the chance to showcase how awesome that company is and all that fun stuff. But you know, they also have meetings and things like that so so you we ended up kind of like rotating around a bit but at this point, it’s been about a year that because we started it is pretty stable. We have three or four places that are that are pretty reliable, that we can rotate between them. So we don’t burn anyone out. But finding that for a while, the few times I was, you know, week or two to go, we’re still scrambling, trying to find it, find that place to go find these speakers and of course, be challenging. I think if anyone is planning to start a meetup, they should expect that they will have to talk at least two, possibly three times in the first year because as a podcast, podcaster you know, consistency is really important, especially when you’re getting started. So making sure that there’s something every month to some people trust you, keep showing up. But again, after that, after you kind of get rolling and you get more people then that starts to go away a little bit too. So I think we were we were pretty lucky because there’s a high demand for what we do. And at least in my, in my city, Kansas City, a lot of companies are switching their their user interfaces to react even still. And so we get a lot of people who, you know, kind of like, hey, I’ve just been told that we’re changing I published in London, and, you know, so they’ll come in and chat a little bit or or Western presentation. There’s also a couple of coding boot camps in our city that use react. And so we get a lot of people who are recent graduates from that we’re looking at network and so it’s been a really good, very good experience with people from all over the spectrum. people doing it, whoever people who are just starting and everything in between,
Dave: Do you see much uptake in vueJS?
Joe: You know that that’s not super popular in Kansas City. And one thing I always find really interesting is how how some of these things happen geographically, you know, so Kansas City is a huge .net town, .net all over the place. And then I would say it’s probably 75% react and 25% Angular. And and I hardly ever see any of you or any member or anything else, even even back a few years. And, you know, part of that makes sense. Because when people learn something along company, they switch and they go to another company. And they kind of take that knowledge with you. But for a while, I worked at a company that did Ruby on Rails and we had the hardest time finding developers just because it was not a ton of really shops whereas other other places they’re just they’re everywhere, no Omaha’s a ton of Ruby developers so it’s changed the way that happens from the city that way but that’s just how it goes.
Dave: Yeah, that’s uh, I like react but one of the things that worries me is the amount of control obviously Facebook would have over the direction of react. I know some of their licensing is changed over the last eight to 12 months to make some of the worries lesson. But still, we know they can control so much of the direction of it, that it can be an issue for some people, I think with how they may be able to implement certain elements depending on what sort of problems they bump into. And I guess it’s really more to do with React Native than reacting in the experiences I’ve had. Any kind of issues with with anything they’re related to react in the direction of it with regards to?
Joe: No, but I completely understand that view point and I would admit that as someone who uses a lot of open source technologies, we probably don’t think critically about that enough. But I had had an experience that actually fits right in with that, which is Angular, you know, back before it became AngularJS, the new version. Yeah, I was working at a company, and I, you know, angular was the hotness. So I built this huge thing. And Angular took all this time and all this work and then finish and I was really happy. And exactly one week after I finished they, they get a big pocket some conference where they simply that was limited as a dedicated the original Angular one is that we’re getting rid of this that the other thing we’re going to start with Angular two and I remember just sitting there thinking I spent four months working on that thing and you’re telling me that it’s definitely created in two years and then had to do the whole thing over again and and so ironically, then I started using react because I was so mad at them. But you know what’s to say that the same thing doesn’t happen happen there?
Dave: Oh, yeah, definitely, definitely
Joe: And the one thing that does worry me about react is how the way applications are made in it. It’s, you know, it’s free is all the way down. Yeah. So you can just, you know, as much as everyone complains about jQuery, at least at the end of the day, if you shut down jQuery, you still have the HTML the CSS you can just pick and choose which part of react app you’re going to say that kind of all on this together I imagine you imagine there’s ways around it and he could split things up but it’s definitely not not going to be as easy.
Dave: Yeah so my react experience is very minimal like even the demo prototypes I did were base you know, they weren’t they were nothing to my knowledge is not extensive. But one of the reasons I like view the most is that it Well, the creator, I always forget his name, I must write that down somewhere was on the angular one project. And he basically took the good parts of that and a lot of what makes react nice and turn it into view. So it’s a progressive set of elements. So you don’t have to have it react. I mean, I view all the way down, you can have a small portion of the page, you know, have view elements. So those are a couple of the reasons that I’m interested in it. We haven’t actually started to use it yet but and it seems to be growing in popularity, especially from the east like China India area and moving this way through your but you know, it’s really hard to tell with all of these technologies, what’s here in 6-8 months, and what new thing we’ve never heard of that will be the new hotness.
Joe: Yeah, yeah.
Dave: What’s got you excited? Any, anything new on the horizon technology wise, or?
Dave: What are hooks exactly? I haven’t looked into those.
Dave: I mean, in some cases, hooks are but in the realm of react.
Joe: Sure. I’m going to probably do a horrible job explaining them. So don’t don’t take my word for it. But hook essentially is so react used to stay on classes, you know, there is you would make a property called state and then you would add stuff to it. And the React engine would know how to render would make update based on how you change that. So if you change something in the state property, or now I have to re render thanks for the down the line and so a hook is a way to to manage state in a functional component as opposed to a class based component. And and so you inside of a function, you essentially create a new state and then you get a pair the first item is the item in state and the second is that function outdated and so now you can you can create physical components inside functional component and the way they do it under the hood is super interesting. I don’t fully understand. So again, this is even, and even take this and say an even bigger grain of salt. But the best way to do it is to think about it an error handling, you know, so if you have if you have a state deal instead of state then you call it and essentially positive but running at the application, and it looks for the nearest states handler kind of a way that if you throw an error, the application stops processing it looks for the closest catch, you know, catch statement or error, error, error handling payment. So it’s a way you know, to make things that are functional. That’s kind of can cause the runtime almost is super interesting. But the part that has made everyone so excited about it is that it reduces a lot of boilerplate so it makes things easier to see and it makes it easier to switch the way you would use component so you can have a component that has a state and a component that doesn’t and it used to take a lot of work. We kind of switching back and forth. Now it’s just one or two lines of code. So pretty, pretty nice.
Dave: Interesting. Yeah, it’s nice to have a teaser that I have to look into it, But what do you have coming up for yourself? Any any new books or articles or projects?
Joe: And let’s see. Yeah, so I mentioned before I like to write so I write regularly for 22. So if you are interested in and what after, right, subscribe to their newsletter, because they have a bunch of good stuff. And a lot of people who read up on me. Right now, I’m writing..
Dave: I’ll add the link’s for all these in the show notes, they can get to..
Dave: Very cool. Anything else that you want to talk about that we haven’t covered so far?
Joe: No, I think this has been a good conversation. I’ve enjoyed it.
Dave: No, It has just been great. I really appreciate you joining us. And I’m sure the listeners have enjoyed it as well. What What would you leave people with any anything that you’d like them to do other than subscribe to the newsletter?
Dave: Fantastic. What skill level should a person be at for your book? Junior level?
Dave: Okay, cool. Yeah. Well, from just talking to you, I think I could learn a good deal from the book. I just haven’t had an opportunity to get it yet but I consider myself pretty advanced in my in my old age, but it still sounds like I can find a thing or two. Just making sure
Joe: Yeah, if anything, it’s just a different perspective, you know, because sometimes I think that’s that’s one of the best parts to was learning new things, minister learning something new for learning about a different way about approaching problems or thinking about things.
Dave: All right. Excellent. Yeah and if you ever have another book or anything that’s on your mind, let me know we can always have your back. It’d be a pleasure.
Joe: Great, appreciate it.
Dave: Thank you, Joe and thank you everyone for listening.
Until next time, remember, any sufficiently advanced technology is indistinguishable from magic.