Welcome back to the Free Code Camp podcast. I'm Quincy Larson, teacher and founder of FreeCodeCamp.org. Today, we are talking with Joe Attardi. He is a software engineer and a prolific author of programming books. Joe, how's the summer over there in Boston?
Haven't really gotten started yet. We're dealing with the nor'easter right now. It's in the 40s and rainy. All right. That's 40 degrees Fahrenheit, which is pretty darn cold. It's like practically zero degrees in Celsius. And for our international audience, Joe, I'm so stoked to talk with you because you've been in the industry for a long time. You've been here 21 years.
And you've done a lot of stuff, and we're going to delve into that. You've risen through the ranks, and you have just built a really broad skill set. So we're going to talk about how software development has changed over the past 21 years. We're going to talk about tips for surviving AI sweeping changes to the field. And I know you're in on like...
what's going on with AI and you've talked a little bit about it on social media. We're going to talk about the evolving role of computer science degrees. You yourself are a computer science degree holder. You've kind of seen kind of like how they've waxed and waned in popularity among hiring managers. We're going to talk about why people should still read O'Reilly style programming books printed on dead trees. Again, you're working on your fourth O'Reilly style book and I'm hyped to hear about all that. All right. Sounds good. I'm looking forward to it.
I like that.
Yeah, but you have zero interest in being a founding CTO or doing anything related to startups or entrepreneurship. Is that accurate? Yeah, I thought I did, but I felt I was trying to force it, and I wasn't feeling it. I lack some of the skill set. I don't have the marketing side of things, business side of things.
I'm not very good at it, and I'm not too interested in it, to be honest. So I think being on the technical side is where I fit best. Well, in Boston, there are so many startups being funded. Do you think that devs feel a pressure when they get to a certain point in their career to go out and do something entrepreneurial?
I certainly did, but although it wasn't anything local, it was mostly seeing, you know, people on Twitter, all this building in public, and it seems like everybody now is building a SaaS on the side. So I kind of got caught up in that, but I never got past the idea stage. You know, I racked my brain for so long trying to think of a good idea, and I probably overthought it a bit, but I finally just realized, you know what, I'm just going to focus on staying employable as dev and, you know, working that angle. Yeah.
Yeah. And we're going to get into some of the projects that you do because you do a lot of projects. Obviously, you write these books on various topics like CSS. And you also contribute to open source and will delve into some of your open source successes over the years as well. But I think it is notable that you're just content working as a...
you know, a staff engineer for a, what's your exact title? I know you've recently engineer principal engineer, which for people that are not familiar with like kind of like software development and job descriptions, like how high up is that?
I mean, it's slightly different at every company. At my company, it's basically below architect level. It's like the step before that. Okay. So there's like engineers, senior engineer, staff engineer, principal engineer, at least at my company. Yeah, very cool. And you...
could be working with SAS. I just want to be clear because there are a lot of people out there who, who think that like, are you primarily like an IC, like an individual contributor? Are you totally, do you manage anybody? No. Wow. So you've managed 21 years into your career to not have somebody say, Hey, could you, uh, you know, take, take over this department or something like that? Nope. Not yet.
I don't know if that reflects on my skills or I've just been lucky, but I don't know. Yeah. I mean, you like being just an IC and focusing on engineering problems. I do. I'm not really interested in any kind of management stuff. It's not for me. That's cool. So I just want to compliment like knowing kind of like what, where your interests lie and being able to focus on those, just focusing on the engineering. And cause I do think that a lot of people feel pressure like, Oh, I've got to get,
get involved in management or I've got to go back to school and get my MBA or I've got to like launch some successful projects or something like that in order to continue to stay relevant and ascend within this organization. Uh, in, in your work, have you, have you felt pressure to do that?
No, I think the only pressure I felt has been from myself, you know, as, you know, I'm not getting any younger and it seems like a lot of, you know, developers as they get older, sometimes do go into more management type roles, um, you know, escape the grind, but, um,
I haven't felt any external pressure for that, really. I feel well-supported. I have felt well-supported at all my recent companies as I've gotten further in my career to keep going the path I'm going. Awesome. Do you think that that's representative of... Do you think that...
many developers out there. They're like, you know, maybe 25, 30 million people working, developing software for their living. Do you think that that's something that a lot of people can enjoy? Like when you talk to your peers, do you think you're like an aberration or do you think there are actually a lot of opportunities? No,
I think there's a lot of people in the same boat. You know, I think it takes a certain type of person, both in temperament and skill set to want to be a manager. I'm sure some people have done it because they felt like they had to. And, you know, maybe the Peter principle applied there where, you know, they maybe weren't ready for that. They didn't have the right skill set and weren't so successful in that role.
So I think trying to prevent that from happening to me. Okay. So the Peter principle is people will rise to their highest level of incompetence. Right. I believe is how it's worded. Yep. Exactly. Can you describe how that phenomenon works? Well, I think, you know, you figure I keep having to climb the ladder and each rung in the ladder has, you know, higher levels of skills. But once you move from the technical ladder to
Sometimes you hit a ceiling and if you want to keep climbing, you have to hop over to the management ladder, which is a totally different set of skills. Some people have both. Some people don't. I don't. So if I got to be a manager, I think I would be feeling it in my head. I don't know what I'm doing. Definitely wouldn't go well. Yeah.
So do you think you could – like if somebody put the proverbial gun to your head and said you got to read this – go read all these airport management books and like the one-hour manager or whatever. I think if I had to, maybe I would. And maybe I will go that way as if I've – but the job market, what it is right now, especially for programmers, maybe it –
Maybe it'll become more realistic at some point, but I do read some kind of, some types of like management type books too, to try to just understand how to manage up a little bit, you know, try to understand how my, my management is thinking, but also, you know, maybe to prepare some dormant skills, you know, in case, in case I do go that way at some point. That's a cool takeaway. So managing up, like essentially managing your managers and empathizing with them and understanding like,
why they're asking you to do the things they're doing and what, what pressure they're under. So you, I guess kind of a, a more empathetic charge, uh,
Yes. Shout out to you for – like a lot of people are just like, screw my manager. I don't like the guy. Like the whole office space. Has anybody seen Office Space? Yeah, yeah. Basically the whole theme of that movie is it sucks to work for somebody else and your managers are always a bunch of fools like the Dilbert comics and stuff like that. Oh, yeah. I mean that's where the Peter Principle comes from, right? It's just that people –
eventually they, when you hear boss, yeah. The pointy haired boss who doesn't understand the actual technical details. Like do your managers, uh, like have you had a lot of managers who used to be devs themselves? Yes. And those tend to be the better ones, I think. Yeah.
And this is one of the reasons, by the way, little aside, that I always encourage people to learn programming and hard technical skills. Because even if you intend to go into a managerial role, I genuinely believe pretty much everybody in tech needs to understand these things. Because if you don't understand the field you're working in, it's going to limit you.
people's respect for you and your ability to empathize with your charges and all that. So that's just like, I'll get off my soapbox, but I think that is really chill that like a lot of your managers have been devs themselves and not just pointy haired bosses. Yeah. Yeah. I've been very lucky. I haven't had a bad manager yet, so hopefully I'll keep going. Right on. Well, I want to talk about some of the changes in the field that you mentioned. You said like
like how things shape up, you might have to move into management. Uh, I'm not sure if that was just like a nervous aside or if, if that's something you've seriously considered, but we are going to delve into that real quick. I just want to thank the 11,423 kind folks who support free Coke camp through a monthly donation. You can join these huge chill human beings and you can support our charities mission by going to donate.freecokecamp.org. I also want to say that support for this podcast comes from
So, Joe, is that just like nervous energy or like do you think things are fundamentally changing, that the labor market for devs is fundamentally changing? I think for me it's mostly nerves. I, you know...
Partly because the job market is changing and I can't help but think as I, you know, approach my mid 40s now, you know, maybe it will become my only viable option at some point. I don't know. I mean, I hope not because I love, love working on technical stuff, you know, um,
That's my thing. Yeah. Well, I want to delve into how you came to love technical skills. And so this is the autobiographical portion of the podcast. Let me quickly recap the last 43 years of your life, if you're cool with me telling you. I'm 44. You're 43. You're right behind me. 1980, 1980. 1981. 81. Right on. Yep. So maybe you can tell us a little bit about...
your childhood and how you fell in love with computers. Yeah, sure. So I had an uncle who was big into computers and I would always, you know, go over to his house, have sleepovers and all that. And he would, you know, show me stuff on his computer. I play with his computer and he finally bought me, I got a, it was a, um, an IBM two 86 clone or something was my first computer I got. And I was the only 12 year old I knew of that was playing around with MS DOS and this kind of stuff. But, um,
I just, I don't know. I can't place what it is that lit a fire in me about it, but I just, I've just loved it ever since. And, you know, got into programming in high school, um, writing Q basic code. I'm really dating myself there, but, um, you know, and then it's going to school for computer science just seemed like the natural next step for me. Um,
And I wasn't sure, you know, for a while, I wasn't sure if I wanted to do programming. I was more of, had more of an interest in IT type stuff. But once I got to my first year of computer science class, I was like, oh, this is so cool, writing code and building stuff.
It hooked me. Tell me a little bit more about your uncle. What was his role? Were you hanging out with him regularly? Was he in the Boston area? Yeah, he was local. He didn't have any kids of their own, so my brother and sister and I were always hanging out with them to give my parents a break. But yeah, he...
I think he worked in IT, an IT-related role at the time, but he had all kinds of technical stuff at his house. So he was like a pretty big force. Would you say he's like kind of a role model of yours when you were growing up? I would say, yeah, definitely. That's what shaped me into my interest in computers and technology that I have today. Yeah. Well, may everybody have a cool uncle like you did. That's right. Yeah. Or maybe you can be that cool uncle if you're listening to this for some of your nieces and nephews.
Yeah. I've got one of each. Yeah. Awesome. And you've got a son as well. Six years old. Six. Yeah. Very cool. So let's talk about like AI. Yes. Is the big thing that everybody is concerned about the topic to your and the
It is changing software development a little bit, but it may be changing software development a lot going forward. A lot of that is still to be determined. And a lot of that is kind of in the eye of the beholder. Um, what is your perspective on AI and, uh, how it's impacting software development? Well, I think it's, it's absolutely changing things a lot. I think that, um,
you know the just like coding skills on their own i think will probably become less valuable um as ai's become more better at at writing you know the code on their own i think you know the fundamentals um architecture type skills you know data structure algorithm type things you know i hate to say the kind of things you learn in the more formal cs type education um
I think are going to be more important as the kind of menial coding becomes replaced by, by AIs and AI agents and that kind of stuff. Yeah.
Yeah. So let's talk, let's go. One of your recent, uh, tweets and I'm, I'm going to quote it directly because I think it's, it's important is, uh, you said CS degrees are going to be seen as more valuable again. Was there a period when they were kind of denatured or debased a little bit, uh, and employers were like less interested in CS fundamentals? I think so. I think, you know, for a while, you know, the, the self-taught, um,
if you want to call it that, I think became really big. We saw boot camps come up real big, a lot of awesome resources like Free Code Camp where anybody can just go and learn, teach themselves. So I think the CS degree maybe wasn't less valuable, but it wasn't a must-have anymore. And I think a lot of companies felt that way because I've worked with very talented people who don't have CS degrees. So it's not the only path to success. But I do think that
Like I said, as AI is writing more of our daily code for us, I think knowing some of those larger skills is going to make you more attractive, I think. Yeah. Let's say, hypothetically, you had a niece or a nephew. You mentioned you had one of each that wanted to go to school and wanted to get a stable job.
job at the end of it and was kind of like looking at, you know, getting like a business degree or like, you know, liberal arts degree or, you know, computer science degree or like electrical engineering. Like, like how would you advise them based on your experience and your current feel of where things are going? Like, that's a very good question. I'd have to think about it, but I don't know now if I would,
if I would recommend going on a, you know, software development path for, at least for a CS degree education, because, I mean, I don't know, it might replace all of us someday, you know, so I don't know how viable of a career path it will remain, you know. I'm hoping it'll stay that way, you know, for my own reasons too, because I always joke and say, I'm not good at anything else. It's programming or that's it. Yeah.
Yeah. That's, that's, that's my hope. But, um, I mean, even my son, I was always like, Oh, I'm going to get him into coding at an early age. And, um, now I'm not so sure, although they are doing some coding related things in his kindergarten class, which blows my mind that they're starting so early. Yeah. Well, like what are some aspects of, you know, software development or like really the, the modern economy at large, except that you understand it that are like less likely to be automated based on your perspective on AI tools. Yeah.
I think the trades. It's going to be a long time before you have an AI electrician, I would hope. I think things that have a more human touch. I think things like I'd be really worried if I was a graphic designer. I'm a little worried as a writer. I think those kinds of paths are going to be more at risk. But I think a car mechanic, an electrician, that kind of stuff. And I think more...
type roles I think will still be valuable, at least for a while. Like, who knows what's going to happen, right? You know, I just... Cloud 4.0 just came out and it's supposedly huge and revolutionary. And so, like, who knows? It changes day to day, you know? Can only plan from what we know. How much of this do you think might be just, like, the marketing hype around companies wanting very much to get these developers off their balance sheets because developers are very expensive? I think it's... And how much of it do you think is actual, like...
How much is steak and how much is sizzle? Yeah, I mean, there's definitely some of that. And I think that if companies start replacing software engineers wholesale with AIs, there's going to be a lot of mess to clean up. And then they're going to hire us all back and we're going to make great consulting rates, you know, cleaning up all the vibe coding cleanup. But I think there is definitely still some of it there. Yeah. So that sounds like a pretty balanced take. When you, like...
You've been in the industry for 21 years, so there was this big push to offshore things and let's move everything over to India, for example. And I have a very high opinion of Indian engineers, but fundamentally, there are a lot of cross-cultural communication issues. There's a lot of coordination. We're working with people in a completely different culture, like halfway around the world. Yeah.
How much would you compare the fervor? This is maybe a loaded question. The fervor around replacing devs with Dev and Data AI or like NVIDIA just offering a developer as a service for $1,000 instead of like the $5,000, $10,000 you'd be paying to an engineer. Like how much of that is just wishful thinking on their part and how much of it do you think is actual like...
This could actually happen with current capabilities. Let's not assume that it's going to geometrically continue to increase. Everybody wants to believe that, but we may be approaching limits. We don't know. We don't know whether there are step changes around the corner or whether this is about as good. We may have kind of reached the 80% of goodness, and then it's just like,
incremental gains from here on out. Right. Until the next big breakthrough. And LLMs were a big breakthrough. It was a big discovery that if you just put enough data in there, you can get really good generative AI output and stuff like that. I consider that to be kind of like a discovery rather than some particular invention because Chinese hedge funds are reproducing comparable quality for a pretty tiny budget. So
it may not be this big proprietary technology, but LMS may just be like, you know, one of those things where everybody has like a spreadsheet and it's not that profound of a thing to write your own spreadsheet. Uh, it's one of the free code camp exercises and functional programming, your own spreadsheet, right. Or create your own Twitter, right. Twitter is not some big thing. It's just like the, the discovery that you could get like a social network and then to be useful. Uh, so, so I consider AI or like LMS specifically to be a discovery more than an invention. Um, but yeah,
There are vested interests, you know, these companies that have multi-billion dollar market capitalizations and stuff like that. And so I guess what I'm trying to say, very long wind up for the question, given current
abilities of these systems that you understand them, assuming that there's not just some crazy growth in capability that's right around the corner. But if we just had, if everything was frozen in time, how much do you think it would gradually come to impact the industry? Because nothing happens instantaneously. It takes a while for things to get dispersed and for the small business down the road to adopt different tools and stuff like that. How much of an impact do you think the current tools would have
I think it will definitely have an impact. You know, it's not going to
I'm not one of these believers that's going to put us all out of a job in 12 months. I don't think that's going to happen. The human aspect is still very important, I think. But of course, companies will probably not need to employ as many engineers because of the productivity gains that the ones that are left get from AI tools. So the way things, like you said, the way things are today, I think there'll definitely be an impact, but it's not over yet. Yeah.
I don't think. Okay. So when you said that, like you wouldn't necessarily advise your, your nephews and nieces to go study computer, uh, related fields like computer science or software engineering, how do you feel about your own career? Cause you're pretty young. I'm 43. You think you're going to be working 20 years from now, 25 years from now? I really hope so. Um, you know, cause again, like I said, I don't know what else I would do. Um,
It's something I think about a lot. It gives me some anxiety to think about, so I try not to dwell on it too much. I try to stay as relevant as I can for as long as I can and hope I have enough safe retirement when machines take over. Yeah. Well, let's talk about...
Computer science and the things that you've learned and the things that you think were really helpful about your undergraduate degree. And we can talk about your college experience. You went to a public university. It's not like a super selective fancy pants university. It's just like where a lot of people who want to get like an engineering degree and not go super duper into debt go, right? Right. University of Massachusetts at Lowell. Lowell. Okay. Yeah.
And you were able to get through your degree. My understanding is you got some scholarships and you just took out student loans and you walked out with like around 20K in debt. Yeah. It was pretty manageable. And I paid it off just a monthly payment for a while. And then eventually I just decided, you know what? Let's just get rid of this debt. And I was fortunate enough to be able to pay off the student loan debt in
have that be gone. That's, you know, some people are saddled with a lot of debt. It's not really an option. Um, which is, which is, it's tough, but, um, yeah. What, what did you learn during that four years that you were at UMass Lowell that, uh, you use the most in your day-to-day work as a, as a software engineer? So the most memorable courses and things that I did, it was, it was, it was a two semester sequence all on, um, UI stuff, um,
Back then, it was Java applets and things. I'm dating myself again. It really lit a fire in me, got me really excited about front-end development, user interfaces, human factors, and that stuck with me to this day. That was the...
Other than, of course, the fundamentals, algorithms and graph traversal things, which I have used here and there over the years. It's not all... You always say, when am I ever going to use this? But you use a good amount of it. And I think even if you don't use some of it directly...
you still have the background and might spark some ideas. You might think of an algorithm that's sort of like an algorithm you learned about back in the day. You know, those kinds of things, I think, make it valuable. Yeah. So it stuck with me. Just having like kind of
Like this associative network in your head of like how computers work fundamentally allows you to draw like analogies and make kind of inductive leaps and try things that you wouldn't necessarily think to try if you had just gone to a pure technical program where they're like, like, you know, the 12 month bootcamp or 12 week bootcamps.
that all the Wall Street guys would go to. But this is true. This is actually who was going to boot camps. Who was going to boot camps and getting jobs? It was people from Wall Street who were like, hey, I can make even more as a software engineer, and it's less risky than working at this bank. And so I'm going to pay a bunch of money. I'm going to pay $20K. I'm going to go through Hack Reactor, which is one of the many now defunct programs, and I'm going to just go get a job at like...
Uber or something afterward. And there were people that were able to do that. But most of them already had college degrees and tons of work experience and stuff like that. But they were just learning kind of like the...
I would say like the, the tip top of the iceberg in terms of the skills that you actually need to work as a dev. And they were just kind of like filling in the blanks, I guess on the job or, um, maybe they just weren't doing a very good job. I don't know because they didn't have the CIS degree. They didn't have the fundamentals in place, but that was something you could do during the boom times and, you know, 2010, 2012. Um,
And I'd argue you probably can't do that now. You probably do need to build those fundamentals. Yeah. I would say so. Yeah. So if somebody didn't have the resource to go to a computer science degree program, or they just didn't have time, they're a busy parent, they're 40 years old and they still want to work as a software engineer. Like how would you recommend they go about doing this? Cause you have written several books about different things like, you know, web API, CSS, things like that. And you clearly know a lot about like developer education. Like what,
how would you advise someone to go about getting that kind of foundational knowledge? I think the most important first step is to know your learning style. You know, books are great. I love books, but some people don't learn so well, don't retain so well from books. Other people learn well from interactive tutorials or videos or, you know, some people learn well from all of it. So I think identifying your learning style is the most important to make sure that
The things you learn are stick without you having to really force it too hard, if that makes sense. Yeah. Have you identified your own learning style? I find I do best with videos and also reading. Yeah. So let's say hypothetically your boss comes to you.
They're like, Joe, we need you to learn Kubernetes. And so there's something like, you don't know anything about, right? Like your job depends on you knowing Kubernetes in, you know, eight weeks from now. Yeah. Walk us through how you would go about like doing that based on all the other things you've learned over the years. I would probably start honestly by going to like Udemy and looking for like a Kubernetes course and,
Um, I've had a lot of good results with, with courses on there. You know, there are some that are not so good. Um, but, um, there are some really, really good ones. Um, and then I would probably find a good book on it as well and kind of use one to support the other, you know, like, like, well, you know, I watch a segment of the course and then find part of the book that talks about the same stuff and try to correlate it together. Um, and, and the most important thing actually, I didn't even mention, but
...try to build something. Because you can learn all you want...
But if you don't use it for anything, you're going to forget it. I mean, I've, you know, totally, honestly, I've learned Python, Ruby, PHP, Elixir. I've forgotten all of it because I never use it. I'm redoing a Python tutorial right now because I forgot all of it. You know, I think when you build stuff with what you're learning, it really solidifies it in another part of your brain and it sticks around for longer, for sure. Yeah.
Absolutely. Yeah, I will second that. And the free cooking core curriculum is extremely project focused because we want you to be like kind of learning while you're building because I strongly believe project oriented learning is like kind of probably the most universal of learning styles. I understand that some people prefer just reading a book, but like I think just building something. Yeah, the proof is kind of there.
In the fact that so many people I talk to emphasize the role of actually building. Right. So you have built a lot of open source projects over the years, which is super chill. Thanks for your contributions to open source. And maybe you could talk about like an open source project that has been like successful for you. Sure. Yeah. So the, the one that comes to mind first is I, I built this emoji picker component and,
I wanted to challenge myself to just build something in plain JavaScript without using frameworks or anything like that. And I don't really remember at the time, an emoji picker seems like a cool idea. So I went with that and I spent a lot of time working on it and it was really hard by the way, building something non-trivial in JavaScript without some kind of framework or library is really hard. And I,
Honestly, kind of ended up creating my own mini framework within that to make it doable. But it was, I don't know if I would say it was super successful, but the biggest claim to fame I have for it is Starbucks one year, they did a promotion for
some kind of fall promotion around pumpkins and pumpkin spice lattes. And they had some, I don't remember. It's been a while, but it was some kind of emoji scavenger hunt type thing. And they, and someone, someone has asked, they posted a question on, on GitHub about it. And they were, and they mentioned that they were working on it and they use my, my emoji picker in the Starbucks thing. So that was pretty cool. Um,
That's about as far as that got. And it kind of – the usage kind of went down and other things happened in life. And I decided, no, I think it's time to put this thing to rest. But it was a cool project while it lasted. Yeah. When do you know that you need to take your proverbial open source project out behind the shed? Well, I think it depends on –
on what you hope to accomplish with it. If you want it to become a big popular project and just not get in traction, maybe that's when it's time. Or if other things happen in life you get busy with, like you have a kid that's now a few years old and a lot more fun to spend time with, maybe then...
It's time to scale that back. It depends. It depends on what you hope to accomplish with it and what's going on with your life. Yeah. One of the things I really admire about you is that you seem to have this really good balance. You work and a lot of people are just content working and not doing really anything outside of work. And yet you do. You have projects, but you still take time for your family and you take a lot of time for yourself. We'll get into that in a little bit. But you could just be
be content with your job. And I know lots of devs who like, they don't even have a social media presence. They don't even have a LinkedIn. They're literally just working at their job and they're logging off and they're going and just playing video games or going out and hiking or something like that. Um, and yet you're building open source and you're,
You're writing a bunch of books. And my understanding is you're working on your fourth book right now. These are like the big O'Reilly books that you go to Barnes & Noble and you see them on a shelf and stuff like that. Or you order them through online. But they're physical dead trees. Yes. Printed that you can set your computer monitor on if it's too low. Or you can put it under your kid if he can't quite reach the table. After you've read them. You can keep on a shelf.
And look really smart because you've got a technical book on your shelf. Or you can use them as a reference, right? As you continue to go and you can flip through the pages and look at the index. There's something about having a physical paper book. But what I wanted to ask about is what drives you to do stuff outside of just being that person that just logs off and goes and enjoys life? Well, full transparency, one reason is definitely I want to –
of it helped me be more employable, hopefully, you know, that's, that's one for sure, you know, get more exposure out there, but it's not just that. I just, I just really love doing it. I think it's a lot of fun doing this kind of stuff. You know, the analogy I like to use and mention this to you before, you know, someone who might work as a carpenter construction or whatever, they have their woodworking projects they do on the weekend as well. Cause they just, they just love to do it. It's kind of like that to me. Yeah. Yeah.
One thing that strikes me is you don't seem to have like a big ego, like on this big, powerful, like super smart software engineer. Like you talk about carpenters, like they're, they're your peers. You talk about plumbers and electricians, like they're, they're on the same level as you. Go ahead. I mean, is that how you feel?
Yeah, I don't have an ego. I think, if anything, it's the opposite. Imposter syndrome is still with me after 21 years. You know, I deal with it all the time, always comparing myself to others, especially, you know, big names out there on Twitter. They're building all these crazy, big, cool things. It's inevitable that, you know, you compare it to yourself. But, yeah.
Yeah. And I think, I think every job is important in this world, you know, the world keeps turning because all these different jobs are all getting done. You know, I got to call a plumber about something in my basement soon. You know, I can't do that. And, you know, and, and, and the plumber, he, he cared about his crap. Well, I hope the one I call cares about his craft. He's constantly learning new stuff. And it's, it's, there's a lot of parallels, I think.
Yeah. Yeah. That's a really cool perspective. And I just, I just want to call that out because I do sometimes talk to people who are like, well, I've got this fancy degree and like this many Twitter followers and all this stuff. And, and yet like it is really chill. It's just me. People who like, this is just my job. I'm getting like, everybody is part of society and trying to get what they're done needs to get done. And then as a result, transgressions,
Trash gets collected. The trash guy gets office workers deliver my mail and I can reliably post something to a friend or we can send out a free coat camp shirt to people. By the way, we have free coat camp shirts just like this one. No shipping. It's,
you know, you can get one and thanks to the U P U S P S for sending those anywhere in the U S and, and yes. Um, but, but they, they make that possible. So, uh, you know, like when I see like postal workers at McDonald's, when I'm like getting a, uh, you know, morning coffee for my wife or something like that, like usually we just burn the coffee, but like, let's say we're driving through, we're on a road trip to go see the man. Right. Um, and, and like,
when I see post office workers, I'm like, Hey, thanks for, thanks for helping out. Like I genuinely feel it. Like, and I get the vibe that you feel it too. And then, you know, you,
You think that everybody's job is important. Now I would argue there are jobs that are maybe bad for society where people are working in the opposite direction of the interests of humanity and things like that. Um, where they're involved in zero sum type game, like maybe a lot of like the finance related stuff. Um, I hope I'm not, uh, offending anybody listening to this, but like there are jobs that like where, okay, is this actually a good job? Yeah. Positive. Right. Um,
But what you're doing, like, let's talk about your job. And again, you work at a big security firm and I don't want to dive too deep into what you do. Cause I know some of it is, you know, I don't want them to have to redact parts of the interview, but my understanding is you all create software that helps people identify, uh, you know, supply chain type attacks and things like that. Uh, uh, CVE, uh, common vulnerability and exposure, uh,
type stuff. And you write software that essentially scans people's tech stacks, uh, for like dependencies and libraries that they're pulling in and make sure there aren't any outstanding known issues, uh, security wise. Is that accurate? Yeah. Yeah. So maybe you can talk about why the work you're doing is important and what would happen if people just stopped caring about security. Yeah.
Oh, all kinds of bad things would happen. I think security is super important, especially the supply chain type things. I mean, you hear stories all the time about, you know, these NPM packages that do evil things that, you know, they get installed and,
infect your whole app and steal your API keys and all kinds of nasty stuff. And I think without tools like that, you're, you're taking big chance. What have been the most prominent, like instances of these kinds of things happening over the past 21 years that you've seen where like, Oh damn, they should have used our software. Yeah.
Yeah. I mean, I know there's, I forget what it was called, but there was that big open SSL vulnerability. Was that Heartbleed? Heartbleed. That's it. Yeah. Yeah. That was a big one. I remember. That's when one stands out to me. But I think it, you know, it changes so often. And actually one kind of maybe unique vulnerability vector now is,
is someone was telling me, I was talking to one of my coworkers about this once, that sometimes you're working with an LLM and it might hallucinate an NPM package that doesn't exist and advise you to go and install it. Well, maybe me as an evil person, I might go, hey, I'm going to go create that NPM package and make it do some bad stuff, steal some API keys or something and publish it. So then the next time an LLM hallucinates that for somebody else,
Hey, now I got three API keys to the installable package. I mean, you can just do like registering tons of NPM packages just on the hopes that maybe NPM hallucinates that or that an LLM hallucinates that. Or even typosquatting too, you know? Yeah. Typosquatting is a huge issue. Like FreeCookie owns like, I don't know, 60 plus domains because people keep forgetting our name or like, you know, putting an S at the end of our name or something like that. And Google actually owns...
like numbers that convert into Google, like on a phone. Really? That's awesome. Those domains, anything that could potentially be like typosquatted or, you know, like an SSL cert, like where you get the phishing link and you're like, is this actually like, you check the SSL cert before you enter your password and it's like, you know, Google is a Mountain View cert and you're
I'm like, all right, is this legit? Like, and then you open, you try to like open it in a different window or try to navigate to it some manual way. So you're not using the direct link in the email. Uh, I got one the other day with like some sort of trademark dispute thing on like x.com Twitter. Right. Um, and I'm almost certain that it was just a phishing attempt, uh,
I'm not completely certain, but like, yeah, it's scary. Like, um, and I can imagine even scarier when you don't have time to go and look at the code of the different package and you got this person just vibe coding, like just, you know, wholesale, including a whole bunch of vulnerabilities in their software. So with a tool like yours, it could identify like a typosquatted, uh, package. Yeah.
If there's a vulnerability record out there that talks about it, then yeah, I think so. So let's talk about how these CVE documents get put together in these lists of known vulnerabilities and stuff like that. How much do you know about like... A little bit. I'm not an expert on it for sure. Yeah.
But I will say actually my – I think it was my EmojiPicker library actually has one CVE that was filed against it some years ago. So there's my badge of honor. Yeah, yeah. Did you like tell people like, oh, there's nothing wrong with this? Or like was it an actual thing that you had to patch? No, it was a valid thing. And I don't remember. I didn't find it. Somebody else reported it through GitHub.
And they created a GitHub security advisory, and then that also created a CVE. But I think it was a cross-site scripting vulnerability. I don't remember exactly because it was a few years ago. But I think some really smart researchers out there that hopefully responsibly disclose these things that they find, that's probably one of the biggest sources of these vulnerabilities.
these things being found and published. Yeah. Hopefully, like I said, in a responsible way so that companies have a chance to hatch them before we tell the whole world about it. Yeah. And I'll take this opportunity to publicly thank all the people who have responsibly disclosed vulnerabilities in the Free Code Camp open source platform. Oh, nice. Yeah. It's super chill. Like, these people are out there, and a lot of them are, like, looking for bug bannies, which we don't have bug bannies. But if you...
So please don't write us about asking for like thousands of dollars because you discovered this very common vulnerability that is not actually a vulnerability. We get so many spam emails, people trying to do that just hoping that like maybe – yeah, no. That's a known – that's like an intentional functionality or something like that and you have to correct them and they take up a lot of your time. But for every person who's doing that, there's somebody who's responsibly disclosing something we genuinely miss.
And that's one of the great things about open source with enough bug, with enough eyeballs, all bugs and shallow because you've got these security researchers out there looking out for you. And these people are super smart. Like I read some of these, these CVEs and like the, the way the exploit is done. And I'm like, so does anybody even think to try that? It's wild. It blows my mind. Yeah. Very cool. So I want to talk a little bit about like,
the actual book publishing process, because I think that's really interesting that I have had some published authors on the free cocaine podcast before, like Dr. Chuck, who teaches at you, Michigan, he's, he's published some books and stuff like that. And he's, um, but you, uh,
have written three books and you're working on your fourth one. So there's like an, I think it's like web APIs. There's a CSS book. And the third one is a bit of, it's, it's an older book and it's all about Gatsby and Netlify CMS, which are both kind of,
Yeah. Oh, sure.
the shelf life of the typical programming book is like the typical, we think of, I just call them O'Reilly books. I know there are lots of other great publishers, like Manning, Opress, all these other publishers too, but I'll just call them O'Reilly because that's the brand everybody's most familiar with. Right. I think it, it depends on the topic, but I mean, speaking from experience, the book I'm working on now is a second edition of my CSS book and that was published in
about five, almost five years ago. So I mean, it depends how quickly things change. If it's something like CSS where there's new stuff getting added all the time, but the stuff that's there is not going to change. So maybe that lasts, is relevant for a little bit longer, which is why it took five years for them to be interested in doing a second edition. So how does the workflow work? Let's say hypothetically,
Somebody is working his death. They've got like five or ten years experience working at a bank or a hospital or maybe at a big tech firm or something like that. Maybe software as a service or some sort of tool like the tool that you're working on or one of the many tools you're probably working on at your job. Like they get approached –
Do they get approached? Does somebody from the book publisher reach out to you or did you reach out to them? I reached out to them. I mean, it can happen both ways. I've seen stories of people, you know, maybe blogged a lot about a certain topic and then a publisher reached out to them and said, hey, we should be interested in doing a book. In my case, actually, my book started out self-published on –
on lean pub. Um, and they did not sell pretty much at all. And I just kind of on a whim said, you know what, why not? I'll pitch it to a publisher. What's the worst that could happen. And they basically had written the book at this point. It was just a distribution. Right. Right. Yeah. Yeah.
They have these acquisition editors. Their full-time job is to find new authors and get new books underway. And they basically just have a long proposal form to fill out. You do like the outline of the book, what other books would compete with this, you know, what's the unique selling points, all this kind of stuff. And you can make a good enough case for it and they'll do a book with you.
Yeah. And how does that work? Like from a monetary perspective, because it's a lot of work to write a book. Yes. You know? Yeah. Just walk us through in as much detail as possible. If anybody's ever considered writing a technical book, Joe's about to drop, give us the skinny. Yeah.
Don't do it to get rich. You don't do it for the money. That's for sure. Unless you're one of these rare cases where you have this insanely successful book. Cracking the coding interview. Like Miguel McDowell, I think is her name. She's made millions of dollars off that book over the years. Oh, yeah. But the way it typically works is they'll give you an advance, which is an upfront payment.
which counts against future royalties. So, you know, one of my books I got an advance for a thousand dollars and then the book starts selling. I don't get any more royalty money until that thousand dollars is exhausted from people buying the books. Um, and it, it happened eventually, you know, I, I,
I probably make about $20 or $30 a month on book royalties, which buys me a coffee. Maybe every couple of months buys me a new video game, but that's about it. But it's all right. I used to have a hang-up about, oh, it's not selling well. It's a flop. But that's not what it's about to me anymore anyway. What is it about?
The process of writing, I just love writing. It's really fun for me. Also, you learn a lot of stuff. Like some parts of these books, I didn't know a ton about the material in certain sections, so I had to learn a lot about it first to then write about it, which is actually one of the biggest benefits, I think, is I'm a lot better with CSS now after having written that book than before.
Yeah. And what are some things that have changed since the first edition of your book that you published about five years ago and CSS today? Because you have spent a lot of time learning and keeping up on CSS and the many changes and improvements to CSS over the past five years. Like what are some of the biggest changes that are going to be in the second edition of your book?
So some of the things like, so for example, the first edition covers things like CSS grid already, but then there's now CSS subgrid, which is this whole other thing when you have nested grids and how the layouts all work together. Another thing is actually there's quite a few things like this that you used to need a preprocessor framework like less or SAS for that now CSS just does for you.
you know, like variables, nested rules. There's even a function now in CSS where you can mix colors, you know, blend different colors together at certain ratios and things like that, which is one of the things I'm adding to the second edition. But it just changes so fast. There's an anchoring position,
anchor positioning. So you can, if you have like a, like a pop-up element, you can, um, float it relative to another element. You can have it anchored so that when you scroll the page, it moves with it and that kind of stuff. Um, there's just so much happening. It's, it's, it's hard to keep up with for sure, but writing a book about it helps you to learn some of it for sure. Yeah. And, uh, what are some of the things that people should consider if they're considering to write a book, like in terms of
The time investment. Yeah, it is a big time investment. So the one I did with O'Reilly, Web API Cookbook, that took me about a year from start to finish of writing. The CSS one, the one I'm writing now, I started it in December, and I'm going to be wrapping up the first draft in a couple of weeks probably, so not quite as long. But you're definitely looking to six months to a year of writing
But then it doesn't end there because that's just the draft. Then you have – typically you have technical reviewers who provide their feedback. You make sure what you're writing is actually true. And then you need to go through and make changes there. Then you have copy editors that want to change how you word certain things. So it's a long, drawn-out process. I mean it could be a year and a half or more before your book actually hits the shelves. Okay, awesome. And you have published a handbook on the Free Code Camp publication. Yes.
Uh, and we do have an editorial team, uh, that like, Oh, looks over it and does some basic fact checks. We don't have like the full technical review process and like panel of experts that like O'Reilly would offer. Can you compare and contrast the process of writing that handbook that you published, which I'm linking to in the show notes. I'm linking to lots of exciting stuff in the show notes, including Joe, uh, your collection of like recently finished video games. Yes. Cause you're a hard program. We'll talk about that in a minute, but yes, but for books, uh,
Um, like, like maybe you can compare and contrast like that experience getting published at like a, what was it? O'Reilly, which, which, uh, publisher was, um, what, what, what was O'Reilly? The web API cookbook was O'Reilly. And then the other two were with a press. Okay. Uh, so maybe you can compare and contrast those two processes and the time involved. Yeah. So of course writing, you know, for the, the one I did free code campus, it was a lot less time, um,
It was quicker, you know, and it was because, well, first of all, it's a shorter form content. It's not, you know, a 300-page book, which is why, you know, sometimes it takes a lot of time. But these kind of shorter form things, and they tend to go through in a more streamlined fashion. And it depends, too, on the editorial process, too. So in terms of writing technical books and going through this process, what is the technical...
technical review process like when you're publishing with a big, uh, like, do you actually know the people or they send, is it sent through emails back and forth or is there some big Google doc everybody's on or some more proprietary power tool for that? Yeah, it differs. Um, depending on the publisher, when I, when I did O'Reilly, most of the feedback came in through, um, through Google docs or sent through email. Um, that was more rigorous. I had four technical reviewers, um, on that book. Um, and it was a pretty rigorous process. Um,
And with A-Press, it was a little scaled back. I have one technical reviewer, and they just leave comments in the Word document that's the first draft. That's cool. So the revision process, you said it takes like a year and a half or so to just get the first – like the book written in draft form. And then the revision process, what chunk of time is that?
That could take, you know, it could take a few more months at least for sure, depending on how many changes, how many rounds of changes there needs to be. The most time consuming thing for me actually is after a round of changes is done through and they update the proof of the book. And then I basically have to read the whole book multiple times and make sure that everything looks good and we don't find something else. Yeah.
Okay, so the book is basically done. You've gotten your advance. The book is ready to start shipping out to bookstores or listed on online storefronts and stuff like that. Can you walk us through what happens after the final gold record, so to speak, has been fabricated and now you're printing?
I mean, that's the end of the main process. The big role that you have after that is trying to market it. You know, the publishers can only do so much, which is why I will say this might be a controversial statement. I don't know, but...
People that have much larger online followings, I think, will have an easier time having a hit book because you've got more people seeing your promotional tweets and posts about it. Yeah, I mean, it's no surprise. A lot of the best children's authors are just celebrities who had somebody go through a children's book. Exactly.
I mean, maybe Matthew McConaughey really wrote the kid's book that every library in America felt obligated to buy a copy of. But I think they just slapped his name on it, right? We'll see. No shade to fellow Texan Matthew McConaughey. But like –
So the book, you're out there essentially cheerleading for your book and like trying to like, Hey, check out this book. This book is like, did you do like any sort of like signings or go to any conferences or like throwing your book up in here? No, I did a couple of giveaways of signed copies, um, on, on Twitter, which was pretty cool. There was a pretty good response to those. Um, but no, I've,
Never been to any conferences in a capacity for promoting Booker. I would love to do something like that, but the opportunity just hasn't come around. Yeah. And do you think you'll write more books? Is this a big long-term thing? I know you're updating this CSS thing. Do you think...
Because it does sound extremely time intensive and it hasn't generated a lot of money. Is it just like a passion thing for you? Like, are you going to keep doing this? I don't know. Because every time I finish one and then the sales aren't what I hope, I always say, okay, I think I'm done doing books. And then something else comes along and I said, maybe I'll do another one. So...
Anything could happen. I think I don't have any other plans for anything else after this one for now. But, you know, who knows? I might get some great idea. Go write a book on MCP or something. I don't know. Model context protocol. Yeah. Basically an API for talking with LLMs is my understanding. Yeah. Yeah. So as technology continues to... Okay. And then technical writing, I can't help but ask the question about AI because...
everybody's asking like, it's technical writing dead. Are we just going to have AI's writing our documentation? And by extension, writing our technical books, uh, are people just going to have conversational learning through talking with an LLM? Uh, or they're going to be AI overviews and Google that like summarize the entire book. Like,
What do you think is going to happen to the future of technical books? And do you think that like you, you said that's a big part of your learning style, but do you think people are going to replace that aspect of their learning style and the youngins, the tick tock raised kids are just going to jump straight to the cliff notes, like the AI summaries.
I think that's a real possibility. I think it's going to become harder to, for authors to create, to write their own content that, that really stands out because AI is getting pretty good at, at writing this stuff on their own. Um,
It's an unfair advantage in having read everything you've ever written and everything I've ever written. Exactly. It's like trying to compete with the ghost of yourself, basically. Yeah, exactly. Right. I think it's going to become more challenging and
I think the human touch is still an advantage. I mean, they have things that can detect AI writing because it is still kind of detectable, predictable. But I think that things are going to improve and it's going to become more of a challenge probably. Yeah. So...
Do you think if somebody has like a decent Twitter following, like let's say they've got, I don't know, like 20 K people on Twitter or 20 K, but LinkedIn is actually much more important now for building a following than, than Twitter is in my humble opinion. Uh, but like, let's say they're on LinkedIn and they've got like maybe like
20K followers from just giving conference talks and being around and talking to people, being in the industry for a while, do you think that they would benefit from doing a technical book? And do you think they'd have the means through which to publicize it? Yeah, I think they would definitely have the means to publicize it for sure. I mean, even probably a lot of people with big followings like that, you could probably just self-publish and you probably sell a ton of them that way. You don't need the publisher in that case. And your royalty rates will be much higher if you self-publish for sure.
Yeah. And if you were to self publish, how would you go about that? Like just for perspective, not that it really matters that much, but you've got about, you know, uh,
2,000 plus followers on Twitter and you've got about 1,000 plus followers on LinkedIn. Yeah, so self-publishing, I mean, it's really easy. You build like a PDF of your book and then you use a site like Gumroad or one of these to sell it. I shouldn't say it's easy. You still got to write the content and format the book and all that. But the actual distribution aspect is...
You don't have people providing technical reviews. Do you get a friend to technical review it? Do you just talk to an LLM, see if it catches typos? How would you go about doing that if you wanted to self-publish a book? I think probably now I probably would leverage an LLM at least twice.
At certain points, I'd try to check some of this stuff. Is this paragraph accurate? But then I would double-check what it says because it might say, oh, yeah, this isn't right because this actually means this. And I look it up, and it's like invalid CSS syntax for something, which can still happen. So I think it's a tool in the toolbox, but it's not.
It's not the whole, it's not the whole package. Yeah. Keep saying yet, but you know, yeah, yeah. And it will, it will be interesting to see what happens again. I, for sure. I remained not completely convinced that we're going to have, you know, uh, the equivalent of, um,
Mark Twain, like in Star Trek, like Mark Twain hanging out with you or Leonardo da Vinci hanging out with you, giving you advice and stuff like that. Like, yeah, she always, she always goes and talks to Leonardo da Vinci on the holodeck. Right. Um, but,
I guess with your current lifestyle of publishing books every few years and continuing to work as a software engineer, continuing to occasionally build open source software, where do you see the next few years of your career? Assuming AI doesn't completely upend everything. Where do you think you'll be 20 years from now?
Well, one thing I'm trying to plan for now is try to maybe look at a more like architect type role in the future. You know, what would be really nice is like a niche, like a UI architect, which is because UI is really my strong point. Which, you know, sometimes I wonder why haven't I done that already? Because I know people that are architects that are way younger than me with way fewer years of experience. But everybody's journey is different and you're not going to all get there at the same time. But I think that's...
That's probably a direction I would like to go. I would still like to be able to write some code, though. Yeah. And how do you think you would go about getting to architect level? Well, in my case, I think one of the mistakes that I've made over these past couple decades is I've focused way too much on the technical skills and the code skills.
And like make that my focus. I think soft skills, communication, you know, kind of business know-how to a certain degree. I think these are all things that I need to really work on before I'm ready for a role like that. You know, leader leadership type skills, which, you know, as I mentioned, I've never had to manage anybody yet. So I don't really have the leadership skills maybe that some others might have at this point. So yeah.
Yeah. What role do you think conferences play? Do you go to very many conferences or have you in the past? I've gone to a few. I'd like to go to more. But I think that...
I mean, I don't know. For me anyways, they've just reinforced learning the technical stuff. You know, I've gone to some talks in the past that are less technical, but I haven't gotten much kind of soft skills type of content from conference talks that I've seen so far. And
I'm sure they're out there. I probably just tend to gravitate more towards the more technical topics. I think I need to break out of my comfort zone more. Yeah. Aside from work and being this identity, this software engineering hat that you wear during the day when you're writing books, when you're working on open source, when you're working your day job.
You do have other aspects. It's not like you're just like an Android that like powers down as soon as the job is done. Right. No, you go home and you do other stuff. I want to talk a little bit about that. And one of my goals in talking about this is seeing whether there are potential ways that you can laterally like use your hobbies and other things like that to as a potential vector for meeting additional people outside of just what you said, like purely like people focused on security software, people focused on, you know, right. Yeah.
a lot of things you're focused on. Um, but, but maybe you can talk about what you spend the other, you know, a hundred plus hours of your week doing that you're not working. Well, usually right out, you know, the hours after work is family time. Usually, you know, that's when I get to spend most time with my son. And, um,
Once he goes to bed and once everyone else is in bed, usually it's gaming time. Like I said, that's probably my biggest hobby outside of software development is gaming. I've always been since I was in middle school or even younger. I kind of took a break the first few years that my son was born. I just didn't have time for it. But then I came out of retirement and do a lot of that.
I also like a lot of tabletop gaming. I'm actually going to be starting a D&D campaign with some friends in a couple weeks. I'm looking forward to that. I haven't done it in so long, so that should be cool. That's the main thing. I like to read a lot, sci-fi, fantasy especially.
kind of my other, when I want to escape from the world, that's sometimes what I do. Yeah, so you've got knowledge of video games, you've got knowledge of tabletop games, you've got knowledge of software development. Has it ever occurred to you, man, I should, I mean, you're a writer, have you ever thought about building a game? I have. I've thought about that, to be honest. I never could think of a good idea for a game that I think would be interesting enough to do, but I'll
I'll never say never about that, because if I could think of a cool game idea with some cool game mechanics, even though I don't have much of a background, any background really in game development, I think working with an LLM, I could probably do something. I mean, look at what people are turning out
It's vibe coding these games now. It's unbelievable. If ever there was a time to try it, maybe now would be a good time. Yeah, well, the tools for developing games are pretty powerful. I mean, there's this game Hotline Miami. Oh, that game is great. Oh, yeah. Yeah, and it was built in like...
some sort of like game maker studio or something like some, Oh, yeah. Oh, cool. That's crazy. And that like now imagine like what an indie dev could do with something like unreal engine or something like that. Right. Or, Oh yeah. Unity or something. Yeah. So the tools have progressed. We, we published tons of tutorials on game development, uh, on the free. Uh, but again, like what is, uh,
The game's supposed to be like, have you ever thought like, oh, I'm just going to like build like a JRPG or I'm going to build like an interactive Dungeons and Dragons type game or even like a roguelike dungeon crawler type game or something like that. I mean, it feels like there are these defined genres, these forms that you can play with essentially. I think I would, if I were to build a game, I would probably want to do some kind of a story driven RPG type game. Cause that's, you know, other than first person shooters, that's probably my, my favorite other type of genre. Yeah.
I'm playing a lot of Assassin's Creed games and the newer ones that have the more RPG aspects and I thought that's really fun. Although I'm not always the best at those types of games, but I do enjoy them.
Yeah. Well, tell me about your D&D group because this is a huge phenomenon, tons of people, especially during the pandemic. D&D got really popular and people were playing it remotely through video. Do you actually meet with people in and around the Boston metro area? You get together around a big table and play? Well, in the campaign we have coming up, we're going to do it virtually because one of the guys is in Pittsburgh, I think.
But I've done that in the past. Actually, when I was in high school, this was going way back, there was like a gaming store in my hometown that people would go. We did a D&D campaign there. We would play like Axis and Allies. And it was awesome. They had computers you could rent time on and play Warcraft 2. It was the best.
What was the name of the store? Do you remember? Paradox Books, it was called. Paradox Books. Very cool. Yeah. Like those local game stores, LGS. Yeah. Have you been to any of those types of places recently? I haven't in a long time. And I know there are a lot of groups in the Boston area that do tabletop gaming and stuff. And that might be something cool to look into and actually get away from the computer screen and do something with real people. Yeah. Yeah.
MIT has a board game night and I went and I just hung out like, I don't know, like 10 years ago, 12 years ago. And I just, maybe it was like 15 years ago. It was a long ass time ago. But basically I went there and I just sat out and like played this game through the ages with a bunch of really smart people. And it was pretty chill. Like they didn't care that I wasn't stupid or anything. Yeah. So pro tip,
Boston's awesome. Don't another pro tip. Don't go in the winter. Um, and then unless you really, really like, so a cold, uh, but, uh, but yeah, like that shout out to the MIT board game club for, uh, welcoming me and let me hang out with them for the night. Um, tabletop gaming is a great way to build, uh, social connections and not stare at a rectangle all day.
Yes. Yeah. No shade to people who want to play video games, but there is definitely something to be said for just sitting, talking, having like a lot more physical paper and figurines and stuff like that and moving around. Yeah.
Yeah, we used to play – I don't know if you ever played the game Imperial Assault, but it's a board game with miniatures, and we would play that all the time. We used to go in a group. We would play at the Red Hat office that was near my house, and we'd be there until like 2 in the morning playing. It was great. What is it that you think that draws so many would-be software engineers to tabletop gaming? Why do you think it is that so many tabletop gaming enthusiasts ultimately go into engineering?
Well, I think there's a lot of kind of parallels, you know, as far as like planning and strategizing. You know, you have to really understand sometimes very technical game mechanics. And I think that if you have that kind of a mind that understands that kind of stuff, you could also apply it to things like building software or building games of your own. You know, some of these games, as you know, really have complicated rule sets and rules.
I think it just attracts a certain type of person maybe. Yeah. Yeah. Awesome. Well, I've really enjoyed talking with you and I have one final question for you. That is like – so right now, you're pretty successful. You're providing for your family. You're doing meaningful work. You're publishing books. Yeah.
Working on open source, you're kind of living the dream. I think a lot of people would love to be where you are right now, Joe, and living in a really cool city. Yeah, like being able to experiment with new tech as it comes down the pipes. But maybe there are some other things that like you could be even further along than you are now. And I want to take this opportunity for you to like send a little time capsule back to yourself.
When you were in high school, maybe you're like trying to figure out what to do, what to prioritize. Like what advice would you send back to yourself? Uh, you know, 20, 23 years ago.
Well, I don't know about high school. I don't know how much actionable advice I could give to high school age me, but I would definitely say to myself, at least earlier in my career, because another mistake I made is I find a mentor because I never did that. And I think that held me back from a lot of growth too. I didn't have a mentor figure that taught me the ropes of some of this stuff. I had to kind of figure it out on my own, which took longer. But I would also say, I guess, yeah,
be more well-rounded maybe don't just focus so much on coding all the time you know learn about business learn about life that kind of stuff to me you know and maybe if i did that i'd be i'd already be in an architect position or maybe i'd have started the sass and be filthy rich now who knows but yeah um but i think those are the two main pieces of advice i would give myself i mean in general i think things were on a pretty good trajectory in my high school days um
I think. And in terms of mentorship, just tiny followup question. Uh, have you gotten any sort of mentorship since, or like maybe not in formally called mentorship, but like somebody that you've worked with closely who's, who's helped you or have you turned around and help some, somebody else in such a capacity? I,
I mean, I haven't been a formal kind of mentor to anybody. I've definitely taken that kind of a role, I think, with some people. I never really did, even in the later years, have somebody for me to look up to to kind of help me with some of that stuff. It's hard because sometimes that has to happen organically, and it just doesn't happen sometimes for some people. But it is one of my regrets that I never did have that type of relationship with somebody to –
to, to, to help me grow. Um, but I think, I think now helping more junior people is still been, been helpful to me. It, it helps, it helps reinforce a certain skillset also because that's more soft skills, I guess you could say, um, the kind of human aspect of it. I'm some, and I'm still something I'm still trying to learn more and get better at for sure. Yeah. Yeah.
Final, final question. That uncle you mentioned earlier who proved such like a pivotal role in like giving you something to aspire to and getting you interested in technology. Is he still alive? Yes, he is. What's his name?
Mark Robert. Mark Robert. Well, if you're tuning into this, thanks for everything you've done to be a positive influence. Thanks, Uncle Mark. Yeah, in Joe's life. And may everybody be so fortunate to have an Uncle Mark in their lives or to serve as somebody like Uncle Mark for the kids. The next generation. Yeah, that's what it's all about. Well, Joe, it's been an absolute pleasure having you on, learning from you. Thank you so much. I've had a lot of fun. And best of luck with the upcoming book.
Thank you. Yeah. Until next week, everyone. Keep doing what you're doing. Oh, thanks. Yeah.
We're not going anywhere. Free Code Camp is going to be here. We're going to keep cranking out these open learning resources for everyone. Again, if you want to support Free Code Camp's mission, consider becoming one of the super chill people who support us through a monthly donation. Joe, thanks again for coming on, man. Thank you. I really had a great time. Thank you. Yeah, and until next week, everybody, happy coding. Happy coding.