CHARLES MAX_WOOD: Hey everybody and welcome to another episode of JavaScript Jabber. This week on our panel we have AJ O'Neill.
AJ_O’NEAL: Yo, yo, yo, coming at you live from gloomy, rainy, cloudy Virginia. Why?
CHARLES MAX_WOOD: Dan Shapir.
DAN_SHAPPIR: Coming at you from Tel Aviv where I've been locked down for three weeks and I'm starting to go nuts.
CHARLES MAX_WOOD: Amy Knight.
AIMEE_KNIGHT: Hey, hey from lockdown Nashville.
CHARLES MAX_WOOD: Steve Edwards.
AIMEE_KNIGHT: I think he's going to say hey, hey from his meeting.
CHARLES MAX_WOOD: Yeah, that's right. He had a meeting. He's gonna jump in when he can. I'm Charles Maxwood from DevChat.tv. Quick shout out about JS RemoteConf. Go check it out. JS RemoteConf.com. We have a special guest this week and that is Matt Crook. Matt, do you want to say hi?
MATT_CROOK: Sure. Hello everybody. And thanks for having me. I'm actually currently Nashville Software School student. Just to introduce myself really quick, actually halfway through the program right now and working on my front end capstone basically as we speak. So I'll be presenting that next week. And just a quick history about myself, I previously worked in the music business for five years, started out in project management, and then moved into more of like business intelligence and business operations roles and then into contracting services, analytics and data analytics and stuff like that. And that's kind of how I got into programming. So yeah, we can definitely talk a little bit more about that today.
When it comes to test maintenance, the biggest complaint that teams have are flaky tests. Tyco is a Node.js library built to test modern web applications. It creates highly readable and maintainable JavaScript tests. It's simple API, smart selectors and implicit weights all work together toward a single goal, fixing the underlying problem behind flaky tests to make browser automation reliable. Tyco is open source and free to use. Head to tyco.dev and get started. That's T-A-I-K-O dot dev.
CHARLES MAX_WOOD: Nice. But before that you said music. What did you do in that industry?
MATT_CROOK: Yeah. So really long story. I initially started out as a musician. I am a drummer. I did that for about nine months. I was basically on the road and, you know, trying to make it as a musician. Toured for nine months and realized that it really wasn't something I wanted to do and wasn't everything that I thought it would be. And so I basically used my degree in music business. I did go to Belmont University here in Nashville and I worked at a label. And that's kind of how I got into the business. Yeah, I worked at a label and publisher for a couple of different ones for five years. And then, yeah, kind of making my way into programming.
DAN_SHAPPIR: That's really interesting because my son is actually studying to be a professional drummer.
MATT_CROOK: Awesome. Awesome. Yeah, it's definitely fun. Yeah.
CHARLES MAX_WOOD: And I just wanted to chime in. I mean, you know, we met, I think, right before you wound up going to Nashville's software school. So it's kind of going to be interesting, at least for me, to kind of catch up on where that is and what the you know, what the story is there. In fact, do you want to kind of get us started with that? Just how that all came about and you know, where you're at now as far as what your experience has been.
MATT_CROOK: Yeah, sure. So, um, and definitely talking to, well, a couple of different mentors that I've had and just people that have gone through the program a couple of years ago, five years ago and stuff like that. I think the program has definitely changed a lot over the years, but basically how I decided to go there and how I got into all of this was as I mentioned before, my data analytics role that I was doing previously, I worked with a lot of developers and worked on different tools to build apps and automate processes and things like that. And I really enjoyed that aspect of everything. So I started teaching myself programming on the side. At the time, I really didn't even know about boot camps. I had no idea about this industry. I don't really come from anyone that's computer literate in my family. I'm pretty much the only one. And up until college, basically, and using Excel, I've always been computer illiterate, I guess you could say. So after teaching myself for a couple months or so and getting into it and diving into JavaScript especially, I actually ran into someone at the gym. We just started talking and getting to know each other and they mentioned boot camps, which like I mentioned, this is this was like a totally new concept to me. I had no idea about boot camps. And they mentioned Nashville Software School. And so I looked it up, did some research for myself and decided that that was the thing to do, especially because I wanted to sort of fast-track myself onto that career path or track just because I mean, we can get into this as well in my mind. And I've heard this said before as well from someone else is that boot camps is real are really just trading time for money because yes, I could have continued to teach myself programming. It's It was just a better option for myself to go for six months, go through this, you know, intensive or intense and thorough program in the environment that it provides. And in six months come out with fairly good skills, you know, as a junior developer and, you know, start my new career that way.
DAN_SHAPPIR: So I've never been involved with the boot camps. I'm old school, I guess. So I'm not really familiar with this whole process. Can you describe how boot camps work and what the process is?
MATT_CROOK: Yeah, sure. So starting from the very beginning, I mean, obviously, it's probably different for different boot camps. But with NSS or Nashville Software School, initially, there is sort of a interview slash vetting process in which I would highly advise anyone that's thinking about a boot camp to make sure that there is some sort of vetting process because some of them are nonprofit, some of them are for-profit. And you kind of want to make sure that the boot camp is, has a reputable, uh, reputation in the industry with NSS so far for the first three months, we started out a little bit slow, which was surprising to me with HTML and CSS for the first two weeks, and then really ramped up the learning and intensity, I guess you could say, with JavaScript. And yeah, that's where people started to start to cry. And it got a little bit hard after that. And things definitely pick up because I mean, the thing with boot camps, you have to remember is that it's a it's an accelerated program. It's not normal school. You know, it's not sitting in class listening to a teacher and then taking a test. It's fast and it's intense.
DAN_SHAPPIR: So what are the hours? What? When does it start? How many hours a day? Do you also have exercises during or after or both?
MATT_CROOK: There's a couple different options with NSS. I'm doing the full-time bootcamp, which the hours are basically like a regular workday. It's nine to four. I usually get there at eight a.m. and leave at like six or seven p.m. And then they also offer a nighttime course for most folks that, or people that can't necessarily make the full-time. Commitment, that's like three or four nights a week for a couple hours. The curriculum is exercises. Well, there are first lectures when introducing a new concept and there's no tests involved. It's just projects. And basically, you're graded, I guess you could say, I'm using like air quotes, graded on, you know, whether or not you finish and sort of the quality of your code and how well you work in a team and how well you work and communicate with other people.
DAN_SHAPPIR: So you kind of study and then do the projects in teams or individually or both?
MATT_CROOK: Mostly teams except for the final capstone projects, which I'm working on my front-end capstone right now. But mainly teams, mainly a lot of pair programming and things like that for most of the projects until, like I said, the final capstones. When you're in the learning process of learning a new concept, like say, for example, recently they introduced React to us. There were three-hour lectures in the mornings and then the afternoons were comprised of kind of lab time. And, you know, lab time is you just go through the exercises that they provide. And if you have any questions, you're free to ask the teachers questions and things like that. So, yes, there is some opportunity to work on your own projects, but then the real like big projects are the group projects, which are basically what they call your sprints at the end. Really it's at the end of like every month.
DAN_SHAPPIR: How many, I don't know, participant students are in the bootcamp with you?
MATT_CROOK: Right now we have 24 or 25 people in my cohort right now. We actually just lost two people last week that dropped out and within the first two weeks as well. We lost two people back in January. So we've lost a total of five people since the beginning of my particular cohort.
AIMEE_KNIGHT: That's pretty normal too, I think. I've heard that, I don't know, mine lost about the same. So I think, I don't know, I would love to hear Matt's thoughts on this a little bit, but I think for better or worse, I don't know. I mean, I wanna be respectful of everyone's reasons for getting into programming, but I think some people look at it, look at these boot camps just because maybe it's the way the boot camps have been marketed as like, you know, a quick six month, three-month answer to like bills or something like that. And I think this kind of career, at least this is my own personal opinion, to be successful, you need to kind of like, be curious and be passionate about it too. And I think sometimes like people drop off because they realize it's not easy. Like you have to really enjoy it to kind of like push through those blocks. I don't know. What do you think?
MATT_CROOK: I think that's going to be typical of a lot of things like this, you know, coming from someone who's a firefighter, volunteer firefighter, we'll get people that come into academies and after a couple of weeks they realize, oh shoot, this isn't what I thought it was, or oh, this is too hard, or it's too time-consuming or whatever. I mean, it's not just programming. I can see this being true for any type of new experience that you jump into. That's especially something that's going to be as intense as a boot camp. You really got to want to do it and really have to understand what you're getting into.
DAN_SHAPPIR: I would like to add that based on on Matt's description, there are two levels of intensity here. On the one hand, it's certainly intense in terms of the amount of studying. Studying for like eight or nine or 10 hours every day is just hard. So there's that. And also, I assume there is a financial hardship associated with it because you're effectively not bringing in any income during that entire time. And that's on top of the cost of the boot camp itself.
MATT_CROOK: Yes, exactly. I mean, I would agree with 100% of that. Before the bootcamp, and that's what sometimes I, when I talk to people or say, like do your due diligence beforehand or research, those points are exactly what I'm talking about is yes, number one, that you're going to the right bootcamp. And number two, you're going for the right reasons, I think is more important and that you have a, an awareness of what you're getting into and what being a software engineer actually means.
CHARLES MAX_WOOD: One thing that I'm kind of curious about, as you mentioned that you were self-teaching before you went to the bootcamp. Do you feel like that's a necessary step? Can you kind of get away with skating until you get in?
MATT_CROOK: It's hard to tell because there are people that have done both and, you know, both ways they're successful people. But I think it's more beneficial to do your due diligence beforehand and prepare beforehand. I think you will set yourself up better for success. After you graduate, you can definitely come out of the bootcamp, probably at a higher level, maybe more towards the mid then junior level developer than someone that didn't do anything before the bootcamp. I would say that most people in my cohort didn't do anything before day one. There were a lot of people that came into the bootcamp that didn't know what version control was and had only looked at JavaScript for one week versus myself who had been self studying for nine months and other people or two other people that had been doing JavaScript for two years. So it kind of can go both ways, but I do think that at least some sort of pre-work, something beforehand goes a long way in the long run. And not only the technical aspect, but I think the mental preparation going in as well is super important.
STEVE: So is that pre-work normally left up to the individual then as compared to say, the school saying ahead of time, hey, you know, it's going to go better if you prepare ahead of time. Here's some suggestions of materials to go over before you actually start.
MATT_CROOK: No, actually we had assigned pre-work that they suggested we complete, which was really nice. And funny thing is I, myself, and only one other person were the only two people in my entire class that finished all of the pre-work. Fun fact, but yeah.
CHARLES MAX_WOOD: Yeah. I know that Flatiron School in New York City, they also offer like a pre-bootcamp, bootcamp kind of thing. And I think it's free, but they recommend that. In fact, they may even require that I can't remember the exact details, but they either very, very, very strongly recommended that people go through it or they required it. And I can't remember which one.
DAN_SHAPPIR: So I actually have a question about that. So given what you said about different levels of preparation, and I assume also, you know, for some people, some of the stuff comes more naturally than for others, or some people are faster learners or whatever. How does the course deal or the boot camp deal over the long term because six months is pretty lengthy duration with the different levels of knowledge and understanding that develop over time.
MATT_CROOK: They deal pretty well. So there is a great, I will say this, the teachers there and the TAs and junior instructors are really great and that they do, they really support the students. So really any questions, they're always available, especially during those lab hours where you're kind of working through exercises on your own. A couple of weeks in, it's definitely a parent who has done pre-work and who knows what they're doing and who isn't. And so a lot of times in those group projects, the teachers will assign say someone, like maybe one person that really knows what they're doing with two or three weaker people so that, you know, the whole group is kind of balanced out in terms of experience and skill levels.
AJ_O’NEAL: I've got two questions for you. Earlier you said you want to make sure you pick the right bootcamp. And I wanted to know what you meant by that.
MATT_CROOK: So what I meant was when researching boot camps, it's very important to make sure that basically make sure that it's not a scam and that you're getting your bank for your buck because like was mentioned earlier, I forgot who said it, but yeah, we are paying a lot of money for this, or at least I am. And I did save up enough money and expenses to not have a job for six months. And so this is very important that I get a good education and get what I'm paying for. Unfortunately, there are boot camps and other programs out there that may be more of a scam, that may not be what you're looking for, might not be hard enough especially just because, you know, software development is kind of an end thing right now and the industry is growing and boot camps are very popular and attractive and, you know, everyone wants to be a developer.
AJ_O’NEAL: So do you think that they're really trying to scan people or is it just that they're a lower cost, therefore it's lower quality or they have a different teaching style that fits a more niche group of people?
MATT_CROOK: It could be a little bit of both. Perhaps they might be trying to peer towards a more niche group of people, but I have heard of some scams, not so much recently. That might have been a couple months ago or six months ago back when I was doing some research. But yeah, I just wanted to mention that just as something to look out for because I'm sure they are out there, but hopefully not.
AJ_O’NEAL: Well, I mean, that makes sense because whenever something's popular, you got the sales bros that get together and the sales sissies, I'm sure them too. Let's not be exclusive. I have seen people go after things that they have absolutely no skill or knowledge in, but they learn just one more word than the person they're next to and it makes them sound like an expert in comparison. So I guess I could believe there are some scammy schools out there.
AIMEE_KNIGHT: I think by scam to maybe, in my experience and just in talking to people doing this type of thing, kind of like Matt mentioned, the vetting process in some of them is more like, hey, if you can pay the money, you're in. Whereas with NSS, I specifically know of people that have been turned down who, even though they did have the money, that was one thing that I think was really good about the school that I went to and some of them is that they don't just take in anyone.
AJ_O’NEAL: But if they turn down the people that won't do the pre-work, they'd only have two students per cohort. The other question I had was about preparation. So you said it's important to prepare. What does preparing mean? How does some, I think, you know, people are, they don't know anything, right? Like they're like, I've heard about this thing. Maybe I can get a job. Maybe I'll be good at it. I mean, they don't, they probably, a lot of them probably don't even really know much what to Google. So how does someone, what does prepare mean in that context?
MATT_CROOK: Preparing in that context, there are so many online resources. You know, go to what, Code Academy, I used some of that. I don't know what the other online, you know, free, free courses are, but go take some of those courses, see if you're into that kind of thing. See if you like it. If you enjoy it, you know, keep going, keep teaching yourself. Perhaps maybe go to meetups if you can find any, and if it's not a, you know, global pandemic like it is right now or try and talk to someone, but basically by preparing is just doing a little bit of it, see if you like it, just like anything. I mean, you wouldn't go play a professional sport or something if you had no idea what it was. You would maybe go practice a little bit and see if you were good at it, see if you like it. Same type of deal, same type of mentality.
DAN_SHAPPIR: And since you mentioned the pandemic, how's the boot camp dealing with the current situation? And how are you dealing with the current situation within the context of your bootcamp?
MATT_CROOK: You know, there's both good and bad. I'm trying to see the positive in this because when this initially happened, I was a little bit disappointed, just because all of us, including myself, are paying a good amount of money for this boot camp and for just the environment and experience that it offers to be able to go to school, be around other people learning, be around other students and the mentors and teachers and everything like that. As of what, like two, was it, has it been three weeks maybe? Three or four weeks ago, Nashville has been in pretty much lockdown and so we've been remote. And so that's been a change. It's been interesting. It worked out fairly well as far as my cohort and where we are in our program because we are starting our front-end capstones. We would be kind of on our own anyway. So we're not really doing lectures that much on, you know, through Zoom or through Skype or anything like that. We're all just sort of on our own for the last two weeks. But yeah, I'm definitely interested. It's gonna be interesting in the next coming weeks cause we're going to start back in and do Python and lectures will all be online. And to add to that, I'm gonna have to present my front-end capstone to 200 people remotely, which is also gonna be interesting. So circling back, I mean, it's kind of disappointing I'm just at home now learning kind of where I started on my own instead of at school. But at the same time, it's a good experience and the positive that I'm getting some sort of remote work experience. And I can kind of maybe put that on my resume and say, hey, I have experience working remote. Like, I know what it takes and I can focus and do my job well on my own.
DAN_SHAPPIR: I really, really like your attitude towards that. I think that's an excellent attitude to have. You mentioned some of the technical stuff and I will want to get to that but I have like two quick questions before that. So question number one is in the context of the boot camp, do they give you like written materials or online resources or do they use like standard training or whatever or is it just the information that they provide to you in the frontal instruction to practice and to check out.
MATT_CROOK: And one of them was actually, I think, Code Academy. And my mind is slipping on the others. But yeah, they were specific online resources. They said, hey, go to these, do these courses, give us your username so we know that you've done it, and take these little assessment test things so that we know that you're sort of ready to start the program. And so that's kind of how the pre-work went. And then throughout the course, most of the curriculum is actually open source. It's on, you can find it on GitHub actually. So yeah, we've just kind of been going through that. And so yeah, I mean, it's just, it's there.
CHARLES MAX_WOOD: You mentioned, you know, I'm learning skills as far as like working from home and stuff like that. And I'm a little curious there. It seems like, and I've talked to different people who've gone to different boot camps. And some of the boot camps, they taught them how to write code, but they didn't talk about code hygiene or system design or things like that. And they didn't teach them really any of the skills that they need to have in order to work on a team or follow an agile workflow or things like that that they're going to need in order to work well on the job. I'm curious, you know, how much of the focus is on the technology and how much of the focus is on actual job skills that you're going to need in order to do your job?
MATT_CROOK: This is what I actually like talking about this. This is kind of one of my pain points because most of I get both sides of this argument. Three to six months is a very short amount of time and it's really hard to fit everything that a junior developer or even any developer needs to know into that short of a time span. I do wish that there was a little bit more, I don't know what you would call it, there was more curriculum on code architecture and all the things you just spoke of because it is pretty much just code. That's just one thing that I've been a little bit, it's hard to describe because the way that my mind works, I'm a very detail-oriented person and that's the way that sort of I was trained with my previous career and previous job. So I like to, before I even start coding, sit back and really think about the architecture, what it's going to look like, how it's going to flow, what's the best way to do things. You know, I've thought of, okay, here's the brute force way to do things. Is there a more optimal way before I even start coding? Unfortunately, a lot of people, you know, I don't know how you would know that. And if you've never heard of anything like that before, but they don't necessarily teach that in the program. But you know, people go through fine.
AJ_O’NEAL: I've got a question for you. My, my experience is architecture is often not as important until you've created your MVP, your, your minimum viable product, something that you can show to a customer and have them experience, because I see a lot of people try to put a lot of emphasis on architecture and they just get it wrong because they're inexperienced and so they don't really know what patterns there should be anyway. So in terms of like a homework exercise, I think it's great, but I think in building a product, the less architecture that you put forth, the better because then you're going to, because as you build it, unless you, unless somebody has given you really good specifications about what you're trying to build, unless they actually know what they want, which my experience is that most managers don't actually know what they want. You've got this huge big buffer, right? Some customer says, hey, I think I want this thing. First of all, the customer is wrong. They don't actually know what they want. Then the sales guy interprets that. Then he says, oh, yeah, I've got six different people have said they want this kind of thing because he's just kind of jamming them all together. So then that gets pushed to the business decision maker. And then that gets pushed to the product manager. And then that gets pushed to the coding manager. So by the time you get instructions, you're getting them like sixth hand for a feature that's probably not necessary and was misunderstood in the first place. And then you get like-
DAN_SHAPPIR: You're such a positive person, AJ. It's like, based on your description, we're not doing any software design at all. We're just calling APIs all day long.
AJ_O’NEAL: Well, that seems to be what it is anyway. But so then it gets to the software team and then you've got like the big thinkers are like, oh yeah, we're gonna make this really robust and it's gonna scale really well. It's going to run in six million servers just fine. But in reality, it just needs a proof of concept and you could do it in a JSON file. You could do it in a Postgres database. Heaven forbid you use Mongo, but if you want to bury yourself in that, you can do that as well. And then afterwards, after you actually find out whether the customer says, oh yeah, this solves my problem or how the heck did you come out with this from what I said? That's when you need the architect. So do you have any thoughts on what I just said, Matt?
CHARLES MAX_WOOD: I have thoughts. You're wrong. How's that for thoughts? So what I'm talking about isn't like grand scale design. I'm talking about like design patterns and things like that that are fairly simple ideas and ways of putting code together so that even if you're new, it's like, okay, I generally see how a problem like this could be solved with, you know, general structures in the code. Because if you push off your architecture then what you wind up doing in most of the systems. So in my experience, you know, as you said, whatever architectural decisions I made upfront are ones I'm gonna have to live with and deal with further down the line. And so if I have just some ideas on how some of these issues are solved, it makes up a big difference down the line. I'm not thinking, yeah, grand scale architecture and do I use microservices or crap like that?
AJ_O’NEAL: Hey, that's an important decision that needs to be made upfront, Chuck.
DAN_SHAPPIR: What I did want to ask you also, you mentioned some of the technologies that you learned during those first three months. I think you mentioned HTML, CSS, and of course JavaScript and React also. Can you elaborate a little bit about what did they actually teach you and how did they build one thing on top of the other? And do you feel like you know JavaScript now? And do you know what JavaScript even is?
MATT_CROOK: Oh man, it's hard to say if you know something or not, because the more you know, the more you know that you don't know. I know Kung Fu. Right. Yeah, no, it's actually an interesting process, and this kind of ties in a little bit with your question, Chuck. They kind of teach you some design patterns without saying that they're teaching you design patterns. That's really cool, because we started off, I mean, obviously HTML, CSS, that's fairly, I don't want to say basic, because you could teach someone's CSS for two years and they probably would still not even know half of it. But
DAN_SHAPPIR: nobody knows half of it.
MATT_CROOK: No one knows. But with JavaScript, yeah. So they started us off with basically vanilla JavaScript, you know, just regular. I don't, I don't know. Some people don't like the term vanilla JavaScript, but I'll just use it for context right now.
DAN_SHAPPIR: We used to have a vanilla JS guy.
MATT_CROOK: And it was really interesting because they started us off by building kind of components, but using vanilla JavaScript. And what I mean by that is like, we would basically build a function that would return HTML string template. And then we would have another function and another module that would say, call that, or you could pass that string template in and call that, and it would render it to the DOM. And these were all in their own modules. And it was kind of like having different components and React dealing with that flow and dealing with sort of modular code in that way. That was really interesting to me, not like me right now after the fact, and having dealt with and having experience in React and knowing kind of the flow and architecture of React and that like using
DAN_SHAPPIR: the to say that that's a really cool approach. I like it a lot.
AIMEE_KNIGHT: Yeah. So like I, Matt and I had talked about that. And I thought that was super cool because like when I went through this, obviously it was five years ago and like Angular JS was barely a thing. But the, I, I thought that was a really creative of the school to do that and like start teaching students that right off the bat, because that is just like, that is front end now rather than just like, you know, you'll still kind of get into like, you know, spaghetti JavaScript, but doing it that way. I don't know. I feel like potentially some of the students, that's just all they know now. And so that kind of helps them fall into the pit of success.
DAN_SHAPPIR: I totally agree. I think, I don't know how far you got with functional composition and higher order function and stuff like that. But even if you didn't get that far, just the concept of properties in and HTML out, even if it's in the form of just a template string, I think that's a really cool approach and definitely leads to modular design. Like I said, I like it a lot.
MATT_CROOK: Yeah, for sure. And one of the struggles, at least right now, that I'm having with Learning React is because we're basically using everything that is functional components and hooks. They aren't teaching class-based components. And so it's actually been pretty difficult to find help on the internet because every time I look up something, it's all using classes and lifecycle methods. But yeah, so it's, I would say for someone new, like it's actually kind of hard to learn a newer technology like that with a lot of out-of-date resources.
DAN_SHAPPIR: First of all, welcome to the, to technology.
AIMEE_KNIGHT: That's exactly what I was going to say. The internet man. That's exactly what I was going to say. Dan, sorry, I like, let me pipe in with this really quick. Like I feel like what they're having to do is really valuable because like you just said, I mean, that is very much what it's like on the job is like having to teach yourself.
DAN_SHAPPIR: Yeah, for sure. I mean, you know, occasionally, like if you work for bigger places, then they might organize like an instructor to come in or maybe some online courses. But more often than not, you literally have to learn on the job. And that means reading blog posts, reading articles, watching YouTube videos, and whatnot. And in any event, React with classes is so 2019, I mean. Who works like that anymore? I actually think that, in a sense, it even gives you an advantage because being able to go to a React shop and say, hey, I know hooks. That actually gives you an advantage over people who finished their boot camp like a year ago. So revel in that. But yeah, that's interesting.
In JavaScript, there's always something new to learn. Frameworks, technologies, tools, updates. It's a lot of work to stay up on JavaScript. Educative.io helps with that. Their platform is made from the ground up with software engineers in mind. Instead of making you scrub back and forth through videos and spend hours on setup, their courses are text-based and feature live coding environments so you can skim back and forth like a book and practice in browser as you learn. One course that I recommend if you've been laid off during the coronavirus scare is the JavaScript interview handbook. These courses cover topics from JavaScript to machine learning, Kubernetes and much more. And each course has a free preview so you can poke around free of charge. On top of that, you can visit educative.io slash jabber to get 10 percent off any course or subscription. Check it out today.
DAN_SHAPPIR: So are they also teaching you any form of state management just out of curiosity beyond like context and hooks or like, I don't know, Redux or Mobix or focusing mainly on React itself?
MATT_CROOK: Focusing mainly on React itself. I kind of took it upon myself to use context in my most recent project. Definitely not Redux. They aren't going over that. It's just mainly everything that is React and, you know, props and state management and everything like that.
DAN_SHAPPIR: It's actually also pretty, I think overall that's a good approach, I think overall that that is what I would recommend if you know it's an interesting question of whether or not I would go with with react so quickly but on the other hand, you know, you definitely need to get like to marketable skills as quickly as possible so I can understand I can understand that. But it seems to me that, yeah, if I had to build a boot camp within the parameters of what you're trying to achieve, that's probably the path that I would go with as well.
AJ_O’NEAL: I think it's great that they teach some JavaScript because I think people get, I've seen people get out of boot camps and they work at their job and they still don't have enough information and confidence to expand outward. They don't know JavaScript and they don't know where to go to learn like what the next thing is. They just kind of get stuck in like, well, I'm doing React, I got hired to do React, and so I guess I'm doing React. And I don't know. I think it's really good that they teach a way for you to connect between, this is what React script looks like, and this is kind of what, if you did it in JavaScript, it would look.
DAN_SHAPPIR: I agree with what you said AJ, but I think that one of the things about React as opposed to some of the other frameworks that are out there is React is actually kind of how they phrase it. It requires more JavaScript knowledge or know-how than some of the other frameworks. I mean, when you're working with JSX and you want to transform an array of values into divs or whatnot or list elements, then you're going to be using math as opposed to some other frameworks which have their own templating language, which is not JavaScript. Now, I'm not saying that this is good or bad. I'm just saying that React kind of forces you to be more knowledgeable about JavaScript, I think.
MATT_CROOK: Yeah, and to add to that point, I think that was probably one of the biggest problems for many people in the class is, yes, the knowledge and just the abstraction that React provides versus using vanilla JavaScript, because there were a lot of people that were really, really good using vanilla JavaScript and writing spaghetti code or whatever, because it's so, I don't, what's the word? Maybe it just like explicit on every step of the way and every detail and this goes here and has to be in this order and this and this and this versus React, which is just everything is, not everything, but a lot of things are abstracted from the developer and it's sometimes very hard to wrap your brain around what's going on inside of the code and what's going on inside of the app and what's getting passed down through props and what are props and why do I have to manage state? I never had to do that before and why do I have to do that now? So it can be a learning curve for sure for someone that is not used to it. I think for myself and talking about the preparation, I think with React, that's where it came most in handy is a lot of the preparation that I did and the reading and, you know, reading about classes, even though we don't really use classes and reading about why do we use, you know, let and constant, we don't use VAR anymore. And what is hoisting? What's the event loop? You know, reading about all these different ideas that make up JavaScript and how they're implemented really helped beforehand.
DAN_SHAPPIR: In that context, before you ask your question, I just want to highly recommend Kyle Simpson, Getify's book, You Don't Know JavaScript. So if you have any aspect of JavaScript which you feel kind of uncertain about and that doesn't just go to you, that goes to all our listeners, I'll probably mention it in picks again. Kyle's books are just an excellent resource. But go on, Amy.
AIMEE_KNIGHT: Yeah, big Kyle Simpson fangirl, so for sure. But what I was just going to say is that kind of what Matt was just saying, like circles back to what I was kind of saying at the beginning about, you know, those that are successful in their bootcamp and after versus those who realize maybe it's not their thing is I think, you know, to be successful, you do have to have like a higher level of curiosity and because when you hit a bug, like you want to know why and you want to know those things like outside of React, like if you have some sort of like race condition, you know, you need to understand what the event loop is. You understand like how that race condition is happening. And I just think if you don't have that like curiosity, it's going to be a little bit harder to like really go far in your career.
MATT_CROOK: Yeah, I would agree. I think that the curiosity is kind of the main point. And that's probably something that you can identify pretty early on in your learning is if you really have that curiosity or not, because that is what's going to drive you to keep learning things, to keep searching for new things to learn, especially as things get stale on the job, like what's the next thing that I can move on to? Stuff like that.
DAN_SHAPPIR: I agree with what you're saying, but I would use a term slightly different than curiosity. My experience with the software development field has been that. There are people who are passionate about it and there are people who are less so that maybe for them it's just a job. Now that's legitimate. I mean, everybody needs to make a living and undoubtedly software development can be a profitable field. But the people who are really successful in it are people who happen to be really passionate about it. Now where this passion comes from, I don't know. Maybe it's intrinsic. Maybe it's something you get over time. But they say that a really successful software developer is somebody who's happy to be paid for something that he would do for free. That's obviously a bit of an extreme statement, but I do think that it's that passion that makes the difference between people who are more successful and people who are less so, especially given the intensive situation that you're describing in the context of a bootcamp.
MATT_CROOK: Yeah, definitely agree with that.
AIMEE_KNIGHT: One thing that I wanted to circle back to at the beginning, I don't know if we've ever talked about this actually in the whole time that I've been on the show, but Dan, did you say that your son was studying music?
DAN_SHAPPIR: Yes, I have three kids and the middle one is actually studying to become a drummer.
AIMEE_KNIGHT: Okay, but he is, it was your daughter who was studying computer science, not him, right?
DAN_SHAPPIR: Yes. Correct. Interestingly, both my sons are not so much into it. My other son is starting to kind of be interested because he's getting to the point where he also needs to think about the job market and whatnot. And he has friends who are working in the tech field and he sees that they're making a nice living. So he's kind of curious on that front. And he's been into math and physics, but not really into computers. So he's considering it. But my daughter is really into this stuff. Yes.
AIMEE_KNIGHT: Okay, well, but again, circling back to what we were talking about, like passion and what I was saying, curiosity, however you really want to describe it, I'd be curious, does it, has anybody else on the panel, a musician and like the parallels between music and programming and even like the parallels between like the passion and drive, but more specifically, like those parallels between music and programming, I guess the first question like, is anyone else on the panel a musician? I'm obviously not.
STEVE: I was in a past life when I was growing up. I played trumpet.
AIMEE_KNIGHT: Well, maybe like Steve and Matt. I don't know if like Matt wants to start kind of talking about like what parallels he sees there. And then I'd be curious, Steve, your thoughts. Because I see so many musicians become really successful developers. I'm kind of jealous.
AJ_O’NEAL: I'm a wedding DJ.
AIMEE_KNIGHT: Does that count? I forgot about that.
STEVE: Oh, I thought you were a wedding singer.
AJ_O’NEAL: Gosh, I'm a wedding DJ. That's right. OK.
MATT_CROOK: Yeah, that's kind of, I have two answers. I think number one is the first thing that comes to mind is kind of the pattern recognition. That's kind of intrinsic to being a musician. And the second is, I think the learning how to learn and the learning to basically be disciplined enough to practice on your own, practicing perfecting your craft. I think those are the two things that kind of make the parallel. I know for a fact that, I mean, when I went in for my interview for NSS, John, the CEO, he specifically said that they look to, well, they don't look to, but they like admitting musicians. Because he said, for some reason, musicians just have a knack for programming, which is also, I mean, it's just interesting to me as well. But I think it is just the pattern recognition. You know, programming is kind of like learning a new language, just like learning how to read music is also learning a new language. And then as well, like I mentioned, the practicing on your own. You know, I can speak for myself as a drummer. There was a year and a half where, you know, I practiced for three, four hours a night, every night of the week after working for eight or nine hours during the day. And that was my life. You know, that's what I wanted to do. And you know, that's what I knew it would take to get better or to get as best as I could. And so that's what I did.
DAN_SHAPPIR: You probably gave me an idea for another pick for today, which is going to be the book of Godel, Escher, Bach, which kind of discusses this relationship between art, music in particular, and mathematics, be that as it may.
STEVE: Yeah, Dan, you just stole my thunder, you know, just to sort of echo what Matt is saying. I see it as the structure, you know, computer programming, you know, if you want to be successful, you want to have some structure and some organization to your code. You know, Matt had mentioned when you're first learning JavaScript, I think they talked about how things could turn into spaghetti code sometimes, but you got to be very highly structured. Music's that way. You have your, you know, it's there in certain places. You have structures in terms of your chords and what notes fit into each chord, you know, chord progressions for a song that actually sounds good and so on. And I see a lot of that as well, you know, in mathematics and science to a certain degree, you know, when I'm helping my kids with their math, it's very similar in terms of it's highly structured, it's rules, if you follow the rules, generally things are gonna work well. So yeah, there's a lot of very similarities and I have heard other musicians who have gotten into programming and there's a couple coming to mind that I've heard in the past and I cannot remember who used their programming in producing music and some of the things that they've been able to do with programming coming from a musical background. So yes. And actually there's one other thing I wanted to circle back to. We were talking about, Matt was talking about, you know, the passion in wanting to learn programming and to get better at it. When I first got into the software industry back about 25 years ago, I started out coming from a banking background and I got into banking software, but I found that I really liked the software side of things. And, but if I had stayed in what I was doing and just learned my job and, you know, stuck with that job, I wouldn't be where I am now. But everything I've learned through the years, whether it was first getting into straight HTML web development in the late nineties, learning Drupal and getting into Drupal and then learning JavaScript and getting into view development was all on my own, it was outside work, after hours in the evening, working outside projects, take finding online courses, you know, going to meetups, all that kind of stuff was just a passion and it was a curiosity and desire to be able to do that well that made me learn it on my own that got me ahead of where I would have been if I had just stayed in my old job and followed that progression.
DAN_SHAPPIR: So just to emphasize that point that Steve made, I'm also been in this field for a very long time. And even though I went to, I don't know that, I wouldn't call it more standard, but I went through the process of going to university and studying for a bachelor's degree in computer science, and then a master's degree in computer science. And I have to tell you that everything I do today, has absolutely nothing to do with all the topics that I studied, except the learning how to learn and some of the thought processes that are associated with creating software. But in terms of the technologies, the programming languages that I use, I mean, HTML did not exist when I finished my bachelor's degree. It was just starting to come into being. So yeah, definitely the fact Matt, that you have to learn stuff on your own because they're going with React and Hooks and you're not finding a whole lot of material about that ready-made. Get used to it.
MATT_CROOK: Great. I'm super excited.
DAN_SHAPPIR: By the way, you mentioned that you have a project that you're currently working on that you will have to shortly present. What is that project, if you can say?
MATT_CROOK: Sure. So the idea for it is kind of funny. So I'm a huge fan of roller coasters, big roller coaster nerd, and it's basically an app to record roller coaster credits for people. So within the roller coaster community, when you ride a roller coaster, you get a credit on that roller coaster. And it's a very simple app. It just performs basic crud, using like RESTful API I have authentication through Auth0, you know, I have, you know, React testing library and Jest. I might implement some more technologies if I have time, but yeah, basically it just records users' credits. You know, they have a profile there. It populates a huge list of roller coasters and theme parks and where they are in the country or the world and they can kind of add things and they can build their profile out with, you know, all of the rides they've ridden. And then I have kind of a forum or messaging system type thing where they can talk to other people using the app. And so yeah, it's pretty simple, but I'm having a lot of fun doing it.
DAN_SHAPPIR: Sounds really cool. And when if I can ask, where are you storing your data persistently?
MATT_CROOK: Right now, I am using JSON server, because that's just what we have been using so far during the class. I might... So a stretch goal of mine is definitely to use a different database, maybe like MongoDB, or store it with Auth0. I know that Auth0 has sort of a management API where you can store stuff with them, although I was having a little bit of trouble figuring that out from the get-go just because it's all new to me and it was just kind of taking a little bit longer than I would have liked. So I just decided to do it the easier way in the essence of just meeting MVP.
AJ_O’NEAL: So why are people using Mongo? I don't get it.
AIMEE_KNIGHT: I can speak to this a little bit. It's like the worst possible database.
AJ_O’NEAL: It's like worse than my SQL.
AIMEE_KNIGHT: We're actually going to have the dev advocate of Mongo on in a couple of weeks. So give him a chance. I would say, at least for me, my bootcamp, that's what we used. And it's because of how friendly the documentation is. They have phenomenal documentation. So I think the onboarding experience is pretty good. That said, I've also played around with JSON Server. And it's something that I've considered implementing at work because it is really, really, really cool. It's something that you can use kind of as at least for what we were thinking of doing it at work, is we don't really have any sort of like API contract between the backend and frontend. So it's something where you can just have that like JSON file, like a very rudimentary approach to having some sort of documentation would be just having that JSON file and QA can consume it for mocks and stuff like that. So JSON server is kind of neat. And I'm assuming, Matt, do you know if they get into, like we'll use Postgres or something like that when you move on to Python, I'm assuming that's the case.
MATT_CROOK: I think so. I'm actually not super positive on that.
DAN_SHAPPIR: And you mentioned Jest. So did they actually teach you testing frameworks so far?
MATT_CROOK: They did not. I actually taught myself most of that. Well, taught myself and then mentor helped me out a little bit to get started with testing.
DAN_SHAPPIR: Cool. And how about building some sort of CI, CD flow?
MATT_CROOK: Yep. That's it going to go into my project as well. They have not really talked about that in the coursework either, but that is sort of a stretch goal and definitely something I want to put into my project.
DAN_SHAPPIR: All I can say is be careful of putting too much stuff into your project.
MATT_CROOK: I know, I'm sorry, I get excited and I want all of it, but it just, I'm running out of time at this point.
DAN_SHAPPIR: Yeah, exactly. Don't lose view of your primary goal. Remember what you're trying to achieve and don't get sidetracked.
MATT_CROOK: Exactly. It's so hard because, I mean, just coming from, you know, creating it as a process, like it's so exciting to use all this technology, but at the end of the day, it's like a feature only needs to be there if it's like absolutely necessary. Other than that, like, don't do it.
AJ_O’NEAL: That's a good approach. And with CI-CD, the main purpose of CI-CD is to make your deployment process go from seconds to fractions of an hour. So just just bear that in mind. Because I've never heard someone say, man, I'm so glad we deploy so much quicker now that we have CI CD. It always seems to me, man, now it takes like 20 minutes for us to get one change to it.
DAN_SHAPPIR: Yeah, flaky tests. We love flaky tests.
Are you stuck at home climbing the walls when you should be hanging out with a community at the latest conference to get canceled? Are you wondering where to hear your JavaScript heroes like Amy Knight and Douglas Crockford and Chris Heilman? After the cancellations, I decided to put on a JavaScript conference for you. Online. I invited my favorite folks from around the web and got them to come speak at an online event just for you. Go to jsremoteconf.com and check out our speakers and schedule. The conference is on May 14th and 15th. The call for proposals is open until March 31st. Come join us at an online conference that we guarantee will keep you safe and keep you informed. jsremoteconf.com.
CHARLES MAX_WOOD: All right. Well, let's get to some picks. AJ, do you want to start us off with picks?
AJ_O’NEAL: I'll pick a pick that I don't actually have any experience with or any right to pick, which is Postgres, because I think, I think it basically does what Mongo does, like gives you really nice documentation and a really nice API into Postgres, but allows you to actually optimize your database the way you'd normally optimize a database afterwards. Having not picked it just having heard about it. And then another one is Postgres QL for people that are of that school of torture, that's another one, but well, I guess I will pick Postgres. I think Postgres is an amazing database. It perhaps tries to do too many things and that it has everything that you'd ever need built in. You've got full text search, you've got JSON support, you've got message queues. I mean, like you name it, if you want it in a database, Postgres has got it. Doesn't necessarily mean that you should use every feature, but if you just need to prototype something Postgres, like literally it's, it's got everything you could possibly want. And as a structured queryable database, it's actually pretty darn efficient and beats out most of the competition. So I really like Postgres. I find the documentation to be, I guess above board for SQL documentation, but that doesn't really say much. SQLite probably has the best documentation and even theirs is kind of difficult to understand between the actual implementation and the specified behavior sometimes. And then let's see, I'm going to have to pick, I might've already picked this, but I'm going to have to pick The Way of Kings by Brandon Sanderson. I'm now listening to the second book, Words of Radiance with my wife and we both love it. And I really do think that this is going to turn out to be his finest work. The fourth book is just about to come out. And then the fifth book, as I understand it, will end the first character arc or the first story arc. And then there's going to be another five books. He has completed a number of trilogies or better, and he kind of is in progress of a couple more. So I do have faith that he will finish his books because he has finished books and more than just one trilogy, he's finished multiple trilogies and he's even finished other authors books that had passed before their time. Well, maybe not before their time, but before they were done with their book.
CHARLES MAX_WOOD: That was before their time when Robert Jordan passed.
AJ_O’NEAL: I don't know anything about his death.
CHARLES MAX_WOOD: No, he wasn't supposed to die until he was done writing those books.
AJ_O’NEAL: Oh, okay, okay. I didn't know if it was natural causes or a strange disease.
CHARLES MAX_WOOD: I had no information. I don't remember.
DAN_SHAPPIR: Well, on the positive side of the coronavirus, it's forcing George R.R. Martin to sit down and finish his books.
CHARLES MAX_WOOD: I thought HBO finished that series for him.
DAN_SHAPPIR: Yeah, it'll be interesting to see if he's influenced by the series, hopefully not by season eight. Sorry.
CHARLES MAX_WOOD: Okay, we went way off on the tangent. Anyway, AJ.
AJ_O’NEAL: I think that's all I've got for now. And I'll pick VirtualBox. It's terrible to use. It's such a monstrous pain, but it gets the job done and there's not many things in the way of an alternative. So, and it works on all three platforms. So I'll pick VirtualBox. If you ever need to run Windows on Mac or Mac on Linux or Mac on Windows or whatever it is, VirtualBox is a tool that will work.
DAN_SHAPPIR: Are you actually allowed to run a Mac inside VirtualBox?
AJ_O’NEAL: Now, whether or not you're allowed to and whether or not you can are different. You can download from Apple free of charge. In fact, I created a website about it. So I'll put that in there, bootable installer.com. You can download free from Apple, the Mac OS operating system without the app store, without any hoopla. Well, there is hoopla because you have to then extract the package and then create the disk image and then copy the install base into the disk image. So there's a little bit of hoopla, but But everything that you need is available freely from the Apple website. Now, when you go to click, I accept as you're installing it, that's a different story, but for the types of reasons that you need to run Mac in a virtual machine being that you're preparing for a developer job and you don't have the money for a Mac yet, or that you need to do some sort of rescue system task and you need to be able to have access to Mac tools. What are they going to do? Who cares?
CHARLES MAX_WOOD: All right, Dan, what are your picks?
DAN_SHAPPIR: So I mentioned Godel and Scherbach. It's been like decades since I've read it, so I won't say much about it, except that I vaguely remember it being an excellent book, so it's recommended. It's less about the direct connection between math and music and the arts. It's more about the thinking processes behind all three of them. And like I said, a fantastic book, a really heavy book, but it's recommended. The other thing that I would like to recommend is now that I'm kind of stuck indoors, it's really great that I can actually exercise indoors. We have an indoor bike and I ride it every day and I do sit-ups and push-ups and whatnot. It's really important to get the body working and not just, you know, veg out in front of your screen the whole day long really helps me keep my sanity, I think. And the last thing that I want to pick is I want to, you know, give a shout out to literally all the governments in the world for how well they've handled this whole Corona thing. I think we really need to applaud all the governments of all the countries for doing such a great job about everything having to do with the Coronavirus. So yay, governments.
CHARLES MAX_WOOD: All right, Amy, what are your picks?
AIMEE_KNIGHT: The first one, I think I saw this on Hacker News on Sunday. I know we usually do an episode on the state of JavaScript every year. So this was a state of microservices in 2020. So it gets into not only back end, but the different front end patterns that are emerging too. So I thought that was pretty good. And then the other one I'm going to do, I am absolutely obsessed with piggybacking on to what Dan said. So I'm usually pretty darn frugal, but because of lockdown. And because I got a stress factor in my foot last year, I was not able to run every day like I used to. So I've been doing spin at the gym and when the gym closed, I couldn't do that anymore. And I knew I wasn't going to be able to run every day. So I gave in and ordered a Peloton bike. I'm freaking obsessed with it. So they are rather expensive. But I, as someone who's like very cautious with money, if you're on the fence, I like cannot say enough good things about it. And if you are on there and want to follow me, I think my name is Amy Skate, A-I-M-E-E-S-K-8. But yeah, can't say enough good things about the Peloton bike. I'm absolutely obsessed with it. And that's gonna be it for me.
DAN_SHAPPIR: Why does a bike need a social app?
AIMEE_KNIGHT: So, okay, so I kind of have the same question, but I guess I would say, especially if you're, I don't know, I feel like most people, they're complaint with working from home is you don't really get the atmosphere of being in the gym and if you're like a little bit of a little bit competitive and people around you are like breaking a sweat and you know hitting PRs, personal records and stuff like that. By having like the social aspect of it you can actually see people who have taken, there's like different screens you can use, you can see like the people who've taken the class, every single person in the entire history that's ever taken the class and you can see their stats. You can see the people that are logged into the exact same class that you're doing at that exact same time and see their stats. You can see your stats. There's actually like live classes that you can join and you can see the stats of the people there. You know, before coronavirus, there are people actually like in there taking the class, but you can see their stats. So all that to say it's a really good way of just kind of like making sure that you're pushing yourself while you're still doing a workout at home.
DAN_SHAPPIR: I'm just old. I don't care for that stuff.
CHARLES MAX_WOOD: Says the guy doing pushups and stuff at home.
DAN_SHAPPIR: Yeah, well.
CHARLES MAX_WOOD: You're making me feel lazy, you people. Those Peloton bikes, they look really nice and they also look really expensive.
AIMEE_KNIGHT: They are, but oh my gosh, it's, it's just such a smooth ride. I absolutely love it. Like it's worth every penny in the way. I guess I justified it for myself is I calculated how much time I'm spending driving to and from the gym every morning and like the gas savings. And I think as long as I use my free time wisely that I would have been spending in the car, it'll actually like save money in the long run.
DAN_SHAPPIR: I'll give you a tip. You don't need to justify it to anybody. You're an adult who's working and earning income and you can spend your money whatever way you want.
AIMEE_KNIGHT: Thank you.
AJ_O’NEAL: Don't listen. It's a trap.
CHARLES MAX_WOOD: No, it's not a trap. He's trying to manipulate you. It's not a trap. She's not married yet. For me, it's a trap. Oh,
AJ_O’NEAL: I was just kidding anyway.
CHARLES MAX_WOOD: Yeah, those look super nice, but yeah. I'd have to make a deal with my wife. Steve, what are your picks?
STEVE: So just to follow up real quick with what Amy was saying, I belong to a CrossFit gym. Obviously around here, all the gyms have been closed like most places. And so we did something yesterday where one of our coaches put together. We use an app called Sugarwad that everybody can track their workouts and so on. But she put out a workout and then we all got together on a Zoom call. And so we use, people use their cell phones or I use my laptop and just put it, we are all in our garages or houses or wherever we had a space to work out. And then we just all worked out at the same time and synced up over Zoom. It was actually pretty fun. It's not obviously not the same as being in the gym, but it was actually fun. Sort of got the community feel without actually being together. So a couple picks. One, I made a few weeks ago when I first got it on another podcast, but for people like Chuck and I who are, shall we say, follicly challenged, my wife got me a gift called the skull shaver.
CHARLES MAX_WOOD: Don't talk about my follicles that way.
STEVE: Or lack thereof. Yeah, I have the same challenge.
CHARLES MAX_WOOD: Oh, I have follicles.
DAN_SHAPPIR: Where on your body exactly?
CHARLES MAX_WOOD:, I didn't say functional follicles. Anyway.
STEVE: So anyway, it's called the Pit Bull Gold Pro Head and Face Shaver. And it's by skullshaver.com. And it is really good shaver, better than any electric shaver I've had. My wife got it for me for my birthday, so I've had it for a couple months now. And I've really gotten to like it because it's almost as good as a straight razor, a regular razor with a blade. So really good. It's got a couple different heads. It's easy to clean and a little spending, but well worth it. The second is a video that I saw yesterday on YouTube by a group called the 1026 Music Group. And it's a whole bunch of people doing one song from their cell phones and then it's all put together and edited and stuff so you can see all their faces and hear everything together. And it's an acapella version of a hymn called It Is Well With My Soul. Absolutely fantastic song. And obviously, it took a lot of editing.
AIMEE_KNIGHT: I love that song.
STEVE: Oh, it's so great. And, but it's acapella and all the people have really great voices and you can see him. And it's fantastic. The song itself has, has an interesting backstory. You know, real quick, this guy was a lawyer named Horatius Bofford. He was a lawyer in Chicago in the 1800s and he had quite a big real estate portfolio and was doing well. Well, then the great Chicago fire came along, wiped out everything he had. And then not long after that, his four-year-old son died of scarlet fever. So we still had his wife, uh, he and his wife and their four daughters. And so in 1873, they decided to go take a vacation in Europe and they were all going to sail together on a ship. And well, he had to stay behind for some business and his wife and his daughters went ahead. Well during the journey across the sea, their ship was rammed by another ship and all those four girls died and his wife was saved. And so it was just him, he and his wife left. So as he's sailing across the ocean to meet his wife, the captain of the ship points out, Hey, we're about at the spot where your daughters went down. And as he was going over that spot, he wrote it as well with my soul. And it's a well-known him that's been around obviously since 18 seventies, but it's a great him and a really fantastic performance of it on this video.
CHARLES MAX_WOOD: Awesome. Let me throw some picks in. So, um, I think last week I picked the book that I'm reading. So I think I'm going to skip it. But when we recorded react native radio before this show, people were picking what they were doing because they're stuck at home. And it kind of occurred to me that I had been doing some stuff with my kids. So I'm gonna throw some of this stuff out at you. One of them is the book, The Hobbit. I've been reading The Hobbit to my kids and they're really, really enjoying it. We just got to the part where Bilbo kind of falls off to the side into the dark part of the tunnel while the dwarves are running away from the goblins. You kind of know what happens next if you know how the story goes or if you've seen the movie. But yeah.
STEVE: Oh, my precious.
CHARLES MAX_WOOD: Yeah, the next chapter is called Riddle's in the Dark. So there you go. Really enjoying that. So I'm gonna pick the book, The Hobbit. I'm also going to pick just reading to your kids. I know not everybody has kids that want them to read to them or even has kids, depending on your family situation, but go find some kids in your life and then read to them. It makes a big difference and it's a big thing.
DAN_SHAPPIR: I just wanted to make a quick comment. It's an interesting story about the Hobbit. So during the 70s, Israeli pilots who were captured, whose planes were shot down over Egypt, and they were in captivity for months, even years, and during that time, they literally had nothing to do with themselves. The conditions were really bad. Some of them were and they literally had no way to pass the time. One of them managed to get a copy of The Hobbit and they actually created the first translation of that book into Hebrew while they were in captivity. So that's how they kind of pass the time. So it's just interesting your story about, we're kind of in Corona captivity in a sense, obviously you can't really compare, but it's still interesting to see that, kind of reminded me of that.
CHARLES MAX_WOOD: Yeah, that's awesome. Honestly, I love those stories because stuff like that is just inspiring and you know, what people do to get by in really kind of terrible circumstances. I mean, we don't have it as bad as all that, but yeah, people are great. The other thing that I've been doing with my kids is playing Dungeons and Dragons. And so, I am going to put in for the link on my pick, the starter set for Dungeons and Dragons, if you haven't ever played before makes it really, really easy to get in and get started. And then you can kind of start to figure out the rules and the situation that you're in, but that'll get you started without having to do a lot of the extra work to set up and you can just roll and play some of the adventures. But that's been a ton of fun. Anyway, those are my picks as far as what I've been doing. And then just a quick reminder, jsremoteconf.com, I'm also gonna be putting on stuff for React Native iOS and Rails. If you're interested in those topics, you know, we're gonna have conferences for them too. And then I'm also putting on the meetups in April. So definitely go check those out. Just devchat.tv slash meetups. If this episode goes out after some of those meetups, I am planning on continuing to do them. So just keep that in mind. Matt, do you have some picks for us?
MATT_CROOK: Sure, I got a couple. Speaking of the fitness stuff. There's a good YouTube channel that I watch from time to time. Um, is his channel is called swollen enormous. Great name. But, uh, yeah, being an ex personal trainer and strength coach myself, I can definitely vouch for him and say that his information is pretty good. It's awesome. It's very straightforward. No fluff. That's the way that I like it. Uh, you know, no shortcuts, the real deal. Um, yeah, not your regular Instagram, you know, whatever you want to call it, you know, just good camera angles and weird workouts that don't actually do anything. So yeah, into fitness stuff or you want fitness advice, Swole Enormous, great YouTube channel. My next one is another YouTube channel called FireShip. Yeah, I like watching videos because I'm very visual most of the time. And FireShip literally has everything programming from front end to infrastructure, DevOps to backend. It's really good for quick tips or just getting, you know, a quick overview of something or watching a tutorial, things like that, you know, cause a lot of times I find myself reading some of these articles like on Medium and everything else on the internet. And I don't know, sometimes for me, it's a little bit more confusing than helpful. And so watching a video is just better for me personally. And because there's just so many opinions out there and like right and wrong ways to do things. And I feel like sometimes the person writing it could have summarized what they said in three sentences rather than, you know, five pages. So yeah, just a good video is pretty concise. They're usually like either from a minute to four minutes in length. Really good if you're just trying to get a high-level overview of some topic that you're trying to research. So yeah, those are my picks.
CHARLES MAX_WOOD: I forgot one other pick that I was going to make in this JavaScript weekly. So if you go to javascriptweekly.com, I think, or jsweekly.com. It's a newsletter that you get in your email every week. And that's a source that I use just to stay current. So yeah, JavaScript weekly.com. All right, Matt, if people want to check out what you're working on or get in touch with you or anything like that, ask questions about Nashville software school. How do they find you online?
MATT_CROOK: Yeah, sure. My Twitter handle is mgcruc. I think my Instagram is the same mgcruc. Then I'm on LinkedIn as well at Mattcruc11, I think. And then. Yeah, GitHub. And that's pretty much it. Everything is usually just either Matt Crook or MG Crook.
CHARLES MAX_WOOD: Nice. All right, well, we'll go ahead and wrap it up right here. Thanks for coming and talking to us. It's always interesting to see what it's like to get into the industry, because it changes every few years.
MATT_CROOK: Yeah, it was awesome. And thank you so much for having me. This was a lot of fun.
CHARLES MAX_WOOD: All right, till next time, folks. Max out.
AIMEE_KNIGHT: Bye.
STEVE: Adios.
Bandwidth for this segment is provided by Cashfly, the world's fastest CDN. To deliver your content fast with Cashfly, visit c-a-c-h-e-f-l-y dot com to learn more.