JSJ 423: State of JS

The panelists discuss that latest State of JS survey. They begin talking about the merits and methods of the survey and then discuss the value you can extract from the survey. They also consider the various comparisons and trends presented by the survey and what they may mean.

Show Notes

The panelists discuss that latest State of JS survey. They begin talking about the merits and methods of the survey and then discuss the value you can extract from the survey. They also consider the various comparisons and trends presented by the survey and what they may mean.
Panel:
  • AJ O’Neal
  • Aimee Knight
  • Charles Max Wood
  • Dan Shappir
Sponsors:
____________________________________________________________
 
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
____________________________________________________________
Links:
Picks:
Aimee Knight:
AJ O’Neal:
Charles Max Wood:
Dan Shappir:
 
Follow JavaScript Jabber on Twitter > @JSJabber
 

Transcript


Keenan Wynn from Diversified Fall Protection explains why investments in safety are about more than ROI. If our employees perceive that we value the economics of business and profitability above all, above them, then it sends a terrible message and we will never have that employee's true trust and complete buy-in. Learn more or connect with a local fall protection specialist at fallprotect.com.

 
CHARLES MAX_WOOD: Hey everybody and welcome to another episode of JavaScript Jabber. This week on our panel we have Amy Knight. 

AIMEE_KNIGHT: Hey, hey from Nashville. It is like almost 70 and beginning of February, so I'm very happy. 

CHARLES MAX_WOOD: I'm leaving. It snowed yesterday. It was like 15 degrees this morning. 

AIMEE_KNIGHT: I have my windows open. I'm very happy. 

CHARLES MAX_WOOD: All right, whatever. Dan, Dan Shapir. 

DAN_SHAPPIR: Hi, from Tel Aviv, where it's in the 60s, and that's considered really cold here, so you know. 

CHARLES MAX_WOOD: Oh, life is so hard for you poor people. We also have AJ O'Neil. 

AJ_O’NEAL: Yo, yo, yo, coming at you live from the mood lidosphere of the tundras of Pleasant Grove, Utah. 

CHARLES MAX_WOOD: Yeah, I know it's cold where you're at, because you're 10 minutes away. 

AJ_O’NEAL: We had a blizzard, man. 

CHARLES MAX_WOOD: Yeah, yesterday 

AJ_O’NEAL: it was like knocking over trash cans in the streets.

CHARLES MAX_WOOD: blizzards and teenagers. I'm Charles Max Wood from DevChat.tv and I have a really exciting announcement that's gonna be old news by the time this comes out, but I'm excited. We just launched the Clean Coders podcast in partnership with Clean Coders. First episode is obviously with Uncle Bob Martin. We talked about Agile development and his book Clean Agile. So go check it out. I'll quit plugging it, but I'm thrilled. 

DAN_SHAPPIR: I have to say that I've listened to that. Well, I listened to half of that episode. I listened while I ride my bike and fortunately, my bike ride is pretty short. So far, it's just awesome. 

CHARLES MAX_WOOD: He's so fun to talk to you. 

DAN_SHAPPIR: Yeah, I totally agree. It's excellent show and if you keep this up, it's like a must-listen. 

AIMEE_KNIGHT: I'm actually going to meet him on Thursday. He's in Nashville for, it looks like he's doing like a tour. So I'm going, very excited. 

CHARLES MAX_WOOD: Nice. Well, say hi for me. I've never actually met him in person. 

 
When I'm building a new product, G2i is the company that I call to help me find a developer who can build it. G2i is a hiring platform run by engineers that matches you with React, React Native, GraphQL, and mobile developers that you can trust. Whether you are a new company building your first product or an established company that wants additional engineering help, G2i has the talent you need to accomplish your goals. Go to g2i.co to learn more about what G2i has to offer. In my experience, G2i has linked me up with experienced engineers that can fit my budget. And the G2i staff are friendly and easy to work with. They know how product development works and can help you find the perfect engineer for your stack. Go to g2i.co to learn more about G2I. 

 
CHARLES MAX_WOOD: All right. Well, this week I scheduled this so we could talk about the state of JS 2019. Now we usually get Sasha Grief to come on, but it sounds like he's busy and that he, he kind of told me that he didn't have anything to say that wasn't already in the survey, so we're just going to do without him. But yeah, I'm a little curious as we dive in, have you all had a chance to look through it and what conclusions did you find there that you thought were interesting? 

DAN_SHAPPIR: I looked through it. I didn't actually participate in it, but I definitely looked through the results. And for example, I really liked the fact that despite the fact that I didn't participate, 203 people in Israel did. So Israel is represented, Israel is in the house. Whoop, whoop. 

CHARLES MAX_WOOD: Nice. 

DAN_SHAPPIR: And yeah, I wrote down a whole list of things that I would like to talk about in the context of this. I would like to start with saying that they have a really cool t-shirt. 

CHARLES MAX_WOOD: I really like the design of their t-shirt. I'll probably need to get one. 

DAN_SHAPPIR: So should I just start with one item from the list? 

CHARLES MAX_WOOD: Yeah, go for it. 

DAN_SHAPPIR: OK, so looking at the graphs, and by the way, I really love the graphs and the graphics in the state of JS site. So one thing that was interesting for me is that it seems that the median experience, the median years of experience of a JavaScript developer these days is approximately five years and the median salary is around 70k dollars a year. And I'm wondering if this seems like a good combination to you guys or not. 

AIMEE_KNIGHT: One thing that's kind of interesting to me about what you just said about the five-year mark, that's like right around the time when bootcamps first started like their big boom. So I wonder if that has a lot to do with, although I don't know, there's probably a lot of things that contribute to that trend because that is kind of when like node started to become more heavily used. But yeah, that's a little bit interesting. 

CHARLES MAX_WOOD: Interesting enough to there. If you listen to Bob Martin talk about stuff, one of the things he brings up over and over again is that the number of developers in software tends to double every five years. It's kind of this weird inflection point, I think, in a lot of ways. 

AIMEE_KNIGHT: The salary question, that's super hard to say because, oh my god, there's so much variability. The salary for a senior software engineer in Nashville is like the salary for an apprentice in San Francisco. So there's so much variability there. 

CHARLES MAX_WOOD: I'm curious though, for a senior developer in Nashville, what would somebody expect to make? 

AIMEE_KNIGHT: Back when I was debating... This was...A year and a half ago, before I started NPM, when I was working for a company for a startup based in Nashville, and I was trying to decide... Because I was interviewing at other places besides NPM if I wanted to work for a company in Nashville or if I wanted to try to look outside of Nashville. And back then when I talked to some folks, they were saying the expected salary for a senior in Nashville is around the 120 mark but that's vastly different than what you would expect in San Francisco or, or even other markets. 

CHARLES MAX_WOOD: Yep. Fair enough. I think that's pretty fair here in Utah. I would expect people to be making a hundred, 120 at the senior level. And, and I'm not just talking about the job title, but where you're actually, you have enough experience to where you can look at things and in most cases, make a judgment call that's going to fall somewhere in the range of correct. 

AIMEE_KNIGHT: The thing that too to me, I don't mean for us to get too sidetracked, but I want to raise this up really quickly is I also feel like the term senior tends to be thrown around a little bit when, I don't know, I just caution when I see people like claiming to be senior after like a year and a half out of their bootcamp, I don't know. It's hard for me to gauge if you can really be senior. If you have like prior programming experience, most definitely, 

CHARLES MAX_WOOD: but my first job.My first programming job, I was a senior developer because it was at a consultancy and they could charge more for me. 

AIMEE_KNIGHT: See, it's like those kinds of things. And so I don't know when I say senior, like that's so relative. 

CHARLES MAX_WOOD: It is. 

AJ_O’NEAL: And I think that because the market is changing, what senior means is really different. I think it has a lot less scope to it than it did before, because now senior developers don't necessarily know Linux or how to use tools for networking and that sort of thing. 

CHARLES MAX_WOOD: It's what they know react. That's enough. 

DAN_SHAPPIR: Yeah. But do they? 

AIMEE_KNIGHT: Yeah. Really? Yeah. Like, do you, do you know what's happening? Do you know what makes react tick? Like to me that's important. 

AJ_O’NEAL: It's babble. Of course. Transpile. 

AIMEE_KNIGHT: Anyways, anyways, I'd be curious like Dan, how you think this survey aligns with like, you know, what you're actually doing at your day-to-day job or like things that you see AJ, like how much do you think this aligns with? Like people who take this survey because I'm looking at it and it's hard for me to tell if like, if these people have like a way to say like, are they a student? Are they, you know, employed? And I don't know. I just wonder like how these numbers lined up with like boots on the ground. 

AJ_O’NEAL: I think it's, I think it's interesting. Like here's some, some top trends we see. Okay. Everyone's used Angular and no one likes it. Everyone use has used React and likes it a hundred percent. No one's used graph QL, but everyone absolutely loves it. Express react typescripts, redux. Like the number one thing people love is graph QL, but nobody's used it. So for the listeners, the graph is at the top have used it. The bottom is have not used it. The left side is hate it. The right side is love it. So on the right side, what we see things that people love are react express TypeScript, Jest, and GraphQL. Interesting that Mocha is, I think Mocha is still pretty darn popular. I would have thought Mocha is still more popular than Jest, but it looks like the curve is going away. People like it less, and Jasmine, people like it way less. People are starting to hate Jasmine. 

AIMEE_KNIGHT: This leads me to the discussion we had before the show, but I won't get too far into that of just like. I want to know how these numbers correlate with like the businesses that are actually making money from these various tools. 

CHARLES MAX_WOOD: Right. So I want to chime in on this a little bit. So the median time or length of career, that doesn't shock me at all, personally. It doesn't. I'm like, oh, okay, that makes sense. The salary surprises me a little bit, but if people are getting into the industry and we have a lot more people who are newer you know, that tend to skew it downward a little bit, you know, where they're all, you know, getting jobs in the 60, 70, $80,000 range. Then yeah, that, that number doesn't really surprise me either. Um, going into some of the other things as far as, cause, cause this is where people get into issues too, right? Where it's like, um, AJ's talking about on the overview, you've got, you know, people have used it and, you know, and then do they want to learn it or not learn it or whatever? This is hard for me to like I think, I think the trend is the trends on here are generally fairly correct, but I hesitate to put too much weight on them. And the reason why is that what happens is, is this gets promoted in some communities more than others. And so if you're looking at like Angular versus react versus view, I don't know that that's really strongly representative as much as it is strongly representative of the number or of the people that took the survey. But looking at it in kind of a general view at the same time, you know, it is interesting to kind of see these trends and see what got measured. 

DAN_SHAPPIR: The question that I have is, what do you do with, you know, talking about that popularity graph that, AJ, when you were talking about, what do you do with this information? I mean...Say my project is implemented using Angular, and it's done well, and it's doing what it's supposed to do, and you know it's not a hot mess, and you're managing to extend it and enhance it. Should we transition to React? 

AIMEE_KNIGHT: No! 

DAN_SHAPPIR: Just because it's not... Well...So yeah, so what do I do with this information? I mean, I guess that maybe if you're a junior, then you may want to invest effort in learning technologies that happen to be popular, especially popular in wherever you happen to live. But otherwise, I find this kind of popularity contest in technology to be kind of meaningless, to be honest. They're, they, they- 

AJ_O’NEAL: Thank you! 

AIMEE_KNIGHT: I mean-

DAN_SHAPPIR: Yeah, go on Amy, sorry. 

AIMEE_KNIGHT: I was just going to be, I don't know, like no but to what I just said. To me, I don't know if it's like where I'm at in my career now, if my opinion has fluctuated. I sort of feel like I've always been a little bit this way, but maybe not. If you're going to make a change, it needs to be for your business. If you're a developer and you want to make a change, it needs to be a data-driven decision. I don't know. I feel like we have a responsibility to the business to help the business meet their objectives. Usually, that objective is to make more income. We don't want to just be puppets and not have an opinion. It's important to put your engineering hat on and come up with better solutions. But at the same time...We can just like use something for the sake of it. It needs to be a decision that's like a data-driven decision about like, it's going to increase the team's velocity. It's going to reduce the number of bugs. It's going to, you know, increase our performance. We can just like pick something for the sake of it. And I don't know, maybe it's just because of where I stand now, but it's, it can be tiresome to have these conversations when, I don't know, like, I guess as you like advance in your career. Maybe your priorities shift and you're held accountable to things in your career later that you weren't earlier in your career. I don't know. That was a very long-winded answer. 

DAN_SHAPPIR: Yeah, but I would like to ask you a question about what you just said about making data-driven decisions. So let's say you're starting a new project. Let's say it's a Greenfield new project and you need to choose between, I don't know, let's say react and view. How do you make a data-driven decision about that? 

AIMEE_KNIGHT: I mean, at that point, what I would do is probably those are similar enough. There's a couple of nuances. You want to look at what exactly are you building? Do you have to take into account mobile? Well, not mobile. Do we want this app, the code to be shared? We have React Native. And last time it looked like the Vue ecosystem wasn't as robust there. So you got to have to look at what you plan on building, but then also, what does the team feel most comfortable with? We kind of faced something like this at my job a while ago because some of the people wanted to do web components. Some of the people wanted to do react. And it was getting to the point where like half the team was building things in web components and half the team was building things in react. And when we started to do a push for testing, things started to diverge because we're having to like import libraries to test react components, import libraries to test web components. And it just like the API surface of things that the team needed to learn was just like becoming too big.

CHARLES MAX_WOOD: Yeah, it's interesting. I mean, for the most part, I find that, you know, between view, react, whatever, honestly, you know, I would just plug my team into it and then see what, where we're able to make the most headway. Because that by far is going to cost us more than, you know, the, okay, well, now we want to do this in mobile. The people cost more than anything else. And so if you're looking just from, you know, the price thing, then, you know, what makes people happy and productive. But yeah, I mean. Is it going to be around? Are we going to be able to hire people? You know, those kinds of things. I mean, unless there's some indication that it's going to go away, I don't think those matters much either. 

DAN_SHAPPIR: I think it's safe to say that both React and Vue are going to be around. Neither of them is going to disappear anytime soon. 

CHARLES MAX_WOOD: Nor will Angular, incidentally. 

DAN_SHAPPIR: Yeah, obviously. Nor will Amber. You know, these technologies are here forever, but obviously if I'm starting a new project, I'd like to start the project that it'll be easier to hire people for it so obviously choosing a technology that's kind of more popular has that going for it but often that's like a regional sort of a thing so having this global survey is kind of meaningless in this context maybe if they did a survey in your particular area that that would be more meaningful but but even then that's not necessarily the most significant consideration so yeah so that's my point on that. By the way, again, talking about the number of years that people work and have been in this industry, so again, kind of extrapolating from the graph, it seems that around 15% of the people have been in this field for two years or less, which I personally find a bit scary. Think about it this way. When you're building your online site or store, whatever, that's like your store these days, or that's like your presence. Would you hire people who've been in the business for only two years to build your physical store? Like your electrician has, oh, a year and a half of experience. Let's hire him to do all the, all the electricity in my house or something. Well, that is scary. 

AJ_O’NEAL: There's a difference between an architect and a bricklayer, right? Like if the house is designed well, and there's a good structure in place, I don't think that I necessarily need to have, or I'm going to get a super experienced people to come in and lay the bricks and put the nails in the wall. But I think in software, software is kind of this strange blend between religion, art and science. And so you get a lot of people that want to be the artistic director. And then you've got the business needs, which are a little bit more pragmatic. 

AIMEE_KNIGHT: I love the way you just wanted that the artistic director. 

AJ_O’NEAL: Well, no, but that's what it is. Cause this stuff is sometimes it's like, it's like, I mean, it's not even as important as do you want to go with water, paint or oil? Like that's going to affect the, the end-user experience and how they perceive the product and feel about it. Like most of almost everything that's being surveyed here, the customer will never know other than if it's slow. 

AIMEE_KNIGHT: Yeah. 

CHARLES MAX_WOOD: Fair enough. I think ultimately what we're speaking to here is how much value is here? How much credence do you give to this stuff? So, I mean, are we just looking at this to kind of eyeball some general trends? Are we going to stake our future careers on it? I mean, how deep do we go? 

AIMEE_KNIGHT: So there are some things too, and I should have mentioned this earlier when I said like data-driven decisions. There are some choices that if you go that route, you can also make data driven decisions on the finances behind it. So there are certain tools in the ecosystem that work well together with deployments and stuff like that. So I put it in our chat. So one thing is React, XITE, Next.js. Those all work really well together. So while I'm confident that you can use Zite for many, many, many other things, I haven't looked at Vue Next if there's something compatible similar with that that's complete black box to me. So I'm not going to say much about it because I know nothing. 

CHARLES MAX_WOOD: The next JS in Vue is Nuxt. 

AIMEE_KNIGHT: Ah, okay. Thank you. That said, there are financial decisions there because you know, if you want something, I feel like Zayt, you're going to pay probably a little bit more there because you're getting more than if you like roll your own solution. But if, if you want to go with that route, like maybe you make your decision like top down instead of like bottom up. I don't know. Does anybody else have thoughts on that? 

AJ_O’NEAL: Heresy. Is not part of the program or religion.

AIMEE_KNIGHT: Like, yeah, maybe that's what it is. Like what is wrong with me? Like, have I become like not cool Amy 

AJ_O’NEAL: that not cool Amy. I can tell you right now you're not hanging out on Reddit and hack news. 

AIMEE_KNIGHT: Suddenly like to me, I'm like, but I want to know like the finances behind this. Like show me the numbers. What makes the most sense for the business? Like, I don't know. 

CHARLES MAX_WOOD: Well, you must be in management. Um, no, I mean, it, it's definitely things to think about, you know and considerations to make. And yeah, I mean, those numbers, I don't know if there's a good way to quantify them though, right? I mean, there may be some intersection between, you know, Angular people make this much and React people make this much, you know, and then it's okay. Well, I'm going to make this decision because Angular people maybe make a little bit less than React people. So it'll cost me less to build the app, but I don't know if that even bears out. Right. So. 

AIMEE_KNIGHT: Yeah, that's true. 

CAHRLES: It's, it's, it's tough, you know, and this is more geared, I feel toward. JavaScript developers in general, as opposed to people who are hiring JavaScript developers and have to, who have to make these kinds of decisions. 

AIMEE_KNIGHT: I feel like this survey is, is meant for like people to take the survey and they drop it in their Slack terminal at work and like, we're doing it all wrong. We need to do this. 

CHARLES MAX_WOOD: Did you see Jest was up and to the right? 

AJ_O’NEAL: So I, I'm, I'm actually happy to see that, that Mocha is taking a turn away because it's just, I, as, as some of you know, I like JavaScript, these frameworks that were, that came out of the Ruby community that are super, super, super heavy into Ruby style of syntax and stuff. 

CAHRLES: Are you talking about like Jasmine? 

AJ_O’NEAL: I think I'm talking about Jasmine and Mocha and Mocha is this way too. Isn't it? I mean, I, I just look, was looking at some data. It's It's like where they inject things into the global. Basically they're doing string interpolation. Like you write a test file, but like thing, you know, you're not doing the require, but then the function is still globally available anyway. And, and it like works in weird ways. Like some of that, that magic stuff. I don't, I don't like it as much. So I don't know. I guess that's completely off-topic though. Nevermind. 

 

Hey folks, this is Charles Maxwood and I just launched my book. The Max Coder's Guide to Finding Your Dream Developer Job. It's up on Amazon. We self-published it. I would love your support. If you wanna go check it out, you can find it there. The Max Coder's Guide to Finding Your Dream Developer Job. Have a good one, Max out. 

 

DAN_SHAPPIR: As an interesting indication of the quality of the data, approximately 50% of the participants in the survey stated that they were CSS experts, which to me means that they are lying liars. All of them. I've, I've been, I've been doing front-end developer development for over 20 years and I do not consider myself to be a CSS expert in no shape or form. I can, you know, I can get around if, if, you know, if I can look stuff up, I understand, I even did things with grid, which I really like by the way, but I definitely don't consider myself to be a CSS expert and I'm totally certain that 50% of JavaScript developers are out there are not CSS experts. 

CHARLES MAX_WOOD: That's fair. 

AJ_O’NEAL: But like we were saying earlier, what expert means the bar has gotten a lot lower, Dan, maybe you are an expert now. 

DAN_SHAPPIR: Maybe I am. I also wanted to say, by the way, going back to the tech, to the technologies and, and, you know, how to pick technology to, to learn every time I've, I've switched the place every time that I like doing in my entire career, every time that I like. Went from working at one place to another. I had to learn a totally new stack from scratch and it never really got in my way. So this whole concept of, uh, Hey, if I want to get jobs, then I, I have to know react in advance or stuff like that. I, I, well, I don't know, maybe it's becoming relevant really for really junior developers, but it was never a factor for me throughout my entire career. 

AJ_O’NEAL: So I noticed something else about this graph. Where's JavaScript on this graph? 

AIMEE_KNIGHT: What's JavaScript? 

AJ_O’NEAL: We've got TypeScript, we've got React, we've got Angular. I don't even see zero people reported that they use JavaScript. 

CHARLES MAX_WOOD: PureScript, ClosureScript, yeah, Elm. 

AJ_O’NEAL: I think that actually is an interesting point because this is a JavaScript survey, but JavaScript isn't on here. I think that's actually important these days because I think a lot of people I mean, I have encountered people that do not know the first thing about JavaScript. They don't know how to iterate over a loop with a for each, but dag, dab it, they're a veteran. Reacts. 

DAN_SHAPPIR: Don't use for each for each is, is not good. 

AJ_O’NEAL: It's liar. Liar. I would love to have this debate with you for each. 

AIMEE_KNIGHT: I understand the point that you're making.

DAN_SHAPPIR: No, but to be fair, later on in the same survey, they actually look at ES6 features, for example, and rank them on popularity. So I assume that people who are in, you know, and you look at people who say like, I've never heard of Arrow or I've never heard of Promises, you can assume that they're not really, let's say, proficient in JavaScript. So you can use that information. By the way, that's also kind of an interesting part of the survey trying to guess which features are popular and which aren't. Wasn't, you know, not a lot of surprises there to be honest. Like I like that people like the structuring, the spread operator, arrow functions, promises. So I can probably bet you that a lot of people are using promises wrong. A sink, a weight, which people are also probably using wrong. 

AIMEE_KNIGHT: I have thoughts here. 

DAN_SHAPPIR: I'm happy to see that people are using that people are using map and set. 

CHARLES MAX_WOOD: It is interesting though. You said using promises wrong. And that just reminded me of the interviews that we did with Douglas Crockford. 

AIMEE_KNIGHT: I just, I really fear. And I see this newer developers that God, I sound so old and crotchety. 

AJ_O’NEAL: I think what this is telling us Chuck is we probably need to get some new blood on the podcast. We probably need to find somebody that's less experienced in total needed by life. 

AIMEE_KNIGHT: I'm jaded now. But like, I feel like with like Async Await and the syntax makes it so easy to not really understand what's going on under the hood. So that's my short thing. Like promises made it a little bit harder to understand what's going on under the hood, but there was still some like complexity to promises that you kind of had to understand them. But like with async await, it's so easy like to see like, be like, Oh, this looks cool. I'm just going to do this, but it has to actually be like a sync in order for you to use it, like I know it's cool, 

AJ_O’NEAL: but I think there's, there's something else that we need to consider that I just found out Kent C Dodds is JavaScript. If you look under the resources. So, so I think, but this is important because we have one single individual. So he moved his blog off of medium. I think it was this year and he had made an announcement about it. And I thought that was really cool. So the number one source people are going to for information about JavaScript is medium. One reason that you shouldn't use medium, if you want to have any sort of, you know, brand image for yourself, because you will just get lumped in as medium. But Kent C. Dodds is number two, he is, he is a head of hacker news. He is a head of free code camp. He is a head of hacker noon. He is a head of, well, everything else. So the number, the number two place that people are, are getting their, their JavaScript information from, which might be number one, because they might have been getting it while he was on medium and not notice the switch, but that he has that strong of branding. That's neither positive or negative, but I'm just, I just want to point out, you've got one single individual who has a huge sway in the community of people that are responding to the survey and perhaps him tweeting it and whatever might've actually skewed the survey any even more. 

CHARLES MAX_WOOD: Yeah, maybe he is prolific with his blogging. 

DAN_SHAPPIR: I wanted to jump back to promises for, for a minute because it actually reminded me of something that happened really recently for me. So I was doing a code review for one of our junior developers. And you know how promises were kind of created to an extent to get away from that tower of babble of callbacks, or like you have a callback within a callback within a callback within a callback. So he used promises instead of callbacks, but he basically built that kind of a tower using then statements. So it was promised then. And then within that another Promise then and then within that another Promise then as he was kind of unaware that you could actually change chain thens. And I do wonder how many junior developers or even experienced developers that use Promises fully understand how Promise chaining actually works. 

AIMEE_KNIGHT: One interesting thing that I came across this weekend is if you're using VS Code, if you have your code, you can actually add I'm pretty sure this is native in VS code. I saw the option and you just hover over the promise code, it will automatically refactor it to async weight. 

CHARLES MAX_WOOD: Oh really? 

AIMEE_KNIGHT: Yep. So this is kind of scares me because while it's awesome, be careful. Make sure. 

CHARLES MAX_WOOD: So we're running out of time and I kind of want to dive into some of the other ones where I saw people criticizing it. And I think some of the criticism was. You didn't pick our preferred flavor and others. Anyway, it was just interesting. One of them was front-end frameworks. It looks like view overtook react last year and then, you know, is now, you know, slightly behind it and Svelte is, is making a, an appearance here. 

DAN_SHAPPIR: Like I said before, who cares? I mean, if you're using a library and it's good for you and you enjoy using it and it's productive for you then what do you care if it does or doesn't win some obscure popularity contest? 

CHARLES MAX_WOOD: Yeah, my thinking here though is mostly, I mean, not even that, you know, am I going to pick a view for my next project? But for me, it's okay. There's enough motion out there with Svelte, for example, because it's brand freaking new, that, okay, well, maybe I'm going to go see what's going on there that's new and interesting, right? I may not pick it for my next project. But I may go and play with it a bit and see, okay, maybe this is an indication of the kinds of solutions that are going to come out next. 

AJ_O’NEAL: Another thing to remember about, you know, the popularity versus quality issue, WordPress is the most popular way to post websites and PHP is pretty dang popular. 

AIMEE_KNIGHT: One other thing to note too, like, I don't know, I think for whatever reason, people also, when you said like, go build something on your own, I think sometimes people forget that like working at a company that gives you time to experiment with things on your own. That is a rarity than a norm. And it's also one of those things. Like if you work at a company like that, you probably have like super pager dues and are a very experienced developer to have earned the right to you know, have that kind of flexibility at your job. That's not something that is like typically handed out at like, you know, the startup down the street because they're trying to like actually figure out if they have a viable business to begin with. 

DAN_SHAPPIR: I think that's definitely correct. If we're running towards the end, I would like to mention a few more points that I had jotted down before we run out of time. 

CHARLES MAX_WOOD: Yeah. 

DAN_SHAPPIR: So first thing I wanted to mention, we talked about blogging and I would like to mention that our own JavaScript Jabber is the fourth most popular JavaScript podcast, which like, yay! But it also means that we have work to do to overtake the three that are above us. So let's get cracking. So that's one thing I wanted to mention. Another thing is that Lodash, the excellent Lodash library remains very successful. I think it's like the most popular library that isn't a framework or doesn't have to do with UI. I really like it and I hope it dies soon. Yeah, I know that's a contradiction in terms, but I definitely stand by that statement. And, oh, 40% think that building JavaScript apps is too complex, which is interesting. It sounds like a whole lot, but it's down from 50% last year and 60% the year before. So it seems that either JavaScript is getting easier or people are getting smarter. Hello, did you lose me?

CHARLES MAX_WOOD: No, we're still here. 

AJ_O’NEAL: Just, it was such a bombshell we were gassed. 

AIMEE_KNIGHT: I would agree. I feel like the community is stabilizing a little bit, which makes things easier. 

CHARLES MAX_WOOD: Yeah, I definitely see us coming up with better ways to do things and better resources to teach people. And so yeah, the level of frustration with things is getting better. I think the other thing is, is we're starting to come off of the holy crap what's going on that we went through with ES6. Because there was a lot of people, whether you like ES6 or not, or you like the current direction of JavaScript, people at least at this point are getting used to it, and we're not seeing the big changes that we've seen in the past. And things like Async Await have made some of the approaches, at least there's a more standard way of doing some of this stuff, instead of you're doing promises wrong, or you're doing this wrong, or you're doing that wrong. And whether or not you're actually doing Async or Wait Wrong, which we've discussed here, you know, it feels like there's a reasonable standard for how you do it. 

DAN_SHAPPIR: Yeah. And just to conclude on that point, it seems that something like 90% of the people actually enjoy using JavaScript. So that's definitely good news for the technology. Jumping back in the survey, one thing that I wanted to mention and neglected to, so they also talked about stuff in the DOM that you access from JavaScript. So it turns out that the browsers have been adding features left and right, and so much new functionality. But it turns out that people are actually only using the new stuff that people actually only using our fetch, local storage, and web sockets. All the rest, meh. 

CHARLES MAX_WOOD: Yeah. 

DAN_SHAPPIR: You know, I find it interesting. So browser vendors are building lots of new cool stuff, and nobody's using it. So that's interesting. Yeah. 

CHARLES MAX_WOOD: So does that mean that I should just ignore them too?

DAN_SHAPPIR: That's an interesting question. I think if you need to develop an application, a web application, that specifically needs access to, let's say, the camera, for example, then having an API that allows you to access the cameras is really, really useful and interesting. But it turns out that apparently, A lot of people just aren't doing that. So either it's because people associate access to these types of things with native mobile applications and not with web applications, or I don't know, you know, open to suggestions, but it seems that a lot of APIs have been introduced into the browsers, the browsers have expanded and enhanced, you know, I'm talking about like, like everybody knows what WebGL is, but nobody's using it. You know, it was keep hearing about PWAs, but it only seems that like half the people that show any amount of interest in it actually, and even fewer with service workers, which is really odd how people are interested in PWAs, but not in service workers. And all the rest of the browser technologies that are out there, like, do you know anybody who's ever used WebRTC? 

CHARLES MAX_WOOD: Yes. 

AJ_O’NEAL: Yes? 

CHARLES MAX_WOOD: Because we've had them on this show. 

AJ_O’NEAL: But But that's not something that you'd find in a SaaS app. And, and, you know, that's what's popular now. Web RTC is more like a grassroots indie web type of thing. And it's, you're not going to, you're not going to create a award winning, uh, Slack or screen hero knockoff with web RTC overnight. It's a very niche feature that has very specific and limited use cases. I would say, argue with me if I'm wrong.

DAN_SHAPPIR: I think it's really cool tech and I think a lot of effort has been invested into it, but I think I have to agree with you on that. Yeah. 

AJ_O’NEAL: I think it's completely valuable. I just think it's like, you know, when you go in your kitchen, your most valuable utensil is your fork. You can get your whole life through, at least in America, without using a knife, assuming that you don't burn your steak. And I think WebRTC is that kind of thing. Like it's. When it's the right tool for the job, it's the only tool for the job. But it's most of the jobs that you have to do day to day aren't the job that needs that tool. 

CHARLES MAX_WOOD: Right. 

DAN_SHAPPIR: And finally, that's my final point that approximately 80% of the developer surveyed think that JavaScript is moving in the right direction, which is a clear vote of confidence for TC39. 

CHARLES MAX_WOOD: Yep. 

AJ_O’NEAL: Mass insanity. 

CAHRLES: All right. 

DAN_SHAPPIR: It's moving in the right direction. 

AJ_O’NEAL: I don't know what JavaScript is anymore. Like I, like, I think there's a sink away. I've actually found to be useful. The arrow functions I just find to be absolutely confusing. I don't, I don't know. I don't know why people are using this. First of all, I think that's the core problem is that people are using this. Solve that problem and arrow functions are just, I don't know. I mean, people want to type a couple of characters less or something. But the main thing seems to be that JavaScript is just frameworks. It's just layers of abstraction on top of layers of abstraction. So when I think of, when I think of JavaScript, I think of, I think of two things. I think of syntax sugar and I think of frameworks. I don't think of like new features in the language that are things that I'm like, yes, we finally have this. Woo. This works now that didn't work before, or something that was difficult before is easy now. I just feel like it's. You know, like, like I've said before, it's, it's so much syntax sugar and so much frameworks. Like I'd, I'd love to see things. I would, I would love to see, I would think JavaScript's moving in the right direction if getting started and being productive required only opening up a text file and hitting F5 that to me would be JavaScript moving in the right direction, moving the direction where you have to have a gigabit ethernet connection and you have to learn two or three separate languages. And you have to be, you know, up to speed on six different frameworks. You know, like if, if we were, if we had decided on say, like some, some testing patterns that we, and you can't really do this with JavaScript as a language because it's not, it's not like go or, or Rust or C sharp where there's actually a, a strong organization behind it that has. Direction that can, can bless a standard library. But if we could get a standard library for JavaScript that just like go or, or rust or other modern languages where, you know, testing is just baked in. It's just, you don't have to ask yourself, which of these 16 frameworks do I use? Because we've had so many years of experience and we know this is a pattern of testing that works well. And so, you know, if you want to just use what's in the standard library, then you use that. I think that a standard library for JavaScript would be the right direction rather than 16 different JavaScripts? 

DAN_SHAPPIR: I'm not actually, you know, it's probably a totally separate discussion from this particular podcast. But I have to say that I don't necessarily agree with you. I think that if we standardize sooner, we probably would not have gotten technologies like React, for example, because Angular would have become the standard JavaScript framework or whatever. And then we'd all be using Angular forever. So I'm kind of, I just, I'm kind of wary. 

AJ_O’NEAL: But okay. 

DAN_SHAPPIR: I, I, I, I'm not absolutely sure. And there's another difference, like the fact that the other languages that you mentioned are compiled. So they're distributed in binary. 

AJ_O’NEAL: And so is JavaScript these days. Like JavaScript is no longer a text language. It is now a compiled language. The way that people use JavaScript. I mean, there are people that use it as, as a, as a interpreted language, but I would say if you're looking at this survey, it looks like 80, probably well more than 80% of the people are using a compiled version of JavaScript, not an interpreted JavaScript. 

DAN_SHAPPIR: Yeah, but the runtime needs to continue to always work. So it's not like I'm delivering a whole new binary bundle like I do with native applications and nobody knows what's inside of there. And it can, you know, as long as it's running on a compatible CPU, I'm golden. It's not really that case with the browsers. 

AJ_O’NEAL: But it is. I mean, you can't decompile the... I mean, if you've ever decompiled a C-Sharp application, decompiling JavaScript is exactly the same. Neither one is harder or easier than the other. Now, if you're going down to something that is at the assembly layer, that's going to be a little bit harder. But you can still get tools that you know, if you wanted to take a binary and decompile it into C, it wouldn't look as nice as what JavaScript would look like decompiled or C sharp would look like decompiled, but you're going to get a similar result. 

DAN_SHAPPIR: Yeah. 

CAHRLES: But each of you make your final points and then we're going to do picks. 

DAN_SHAPPIR: All right. I'm done with that actually. We can, we can, we should probably take it to some separate show or something. 

AJ_O’NEAL: I think it would, I think it'd be a very interesting discussion. 

CAHRLES: I think it'd be interesting too, cause I think there are advantages to standard libraries, but yeah. I see Dan's point as well where, yeah, we may settle on something that's not optimal. 

AJ_O’NEAL: Frameworks don't go in a standard library. 

CHARLES MAX_WOOD: Fair enough. 

 

A couple of years ago, I put out a survey asking people what topics they wanted us to cover on devchat.tv, and I got two overwhelming responses. One was from the JavaScript community. They wanted a React show. And the other one was from the Ruby community, and they wanted an Elixir show. So we started both. The React show, though, is React Roundup. And every week. We bring in people from the React community and we have conversations with them about React, about the community, about open source, about what goes into React, how to build React apps, and what's going on and changing in the React community. So if you're looking to keep current on the current React ecosystem and what's going on in React, you definitely need to be checking out React Roundup. You can find it at reactroundup.com. 

 

CHARLES MAX_WOOD: Let's do some picks. Amy, do you want to start us off with picks? 

AIMEE_KNIGHT: Oh my gosh, I couldn't find the mute button in time. Ah! Yes, I'm going to go with, man, pick me a little bit soon. So one of them was just going to be, I am like on a, maybe it's the new year and I'm always pretty healthy, but I've been trying to eat a little bit healthier. So if you work from home, something that I've been doing that I greatly enjoy is like when I go to the grocery store on the weekend or I've been ordering groceries recently because it's so much easier. And I feel like If I look at the numbers, it actually saves me money to focus on my time on other things than going to the grocery store because it's very time consuming. But anyways, one thing that I've been doing is getting fruit and vegetable trays. I'm a little bit of a snacker, so I like to have stuff on my desk to snack on rather than reaching for candy or gum or something like that, just trying to do things that are good for my body. And I feel like I actually notice a difference when. I do that kind of thing. So that's going to be my first one. Man, I wanted to pick something else, but I feel like I'm not quite prepared for a technical one because I usually have those like ready to go. Let me look if I've starred anything recently on GitHub that looks interesting. Okay, I'll pick this one. So this I recently joined Gremlin has a Slack called KS Engineering. And since I was doing SRE stuff at MPM, like I'm back in front-end land, but for whatever reason, like I really, really, really enjoy this kind of stuff still. So there's, you know, they have all the different like awesome lists and there's a awesome KS Engineering one. So that will be my technical pick. That's something I've started recently. And I guess that's it for me. 

CAHRLES: Nice. Dan, do you have some picks for us?

DAN_SHAPPIR: Yes, I do and I've prepared in advance. So my first pick is going to be, I'm going to plug my employer in a sense. We've got the Wix engineering blog. It's the place that kind of, you know, the purpose is to build a technical brand, but the results are really good because there are a lot of excellent posts out there about all bunch of technical subjects ranging from front end to back end to data analysis and whatnot. So I want to plug that our employers allowing us to invest work time in writing interesting blog posts and sharing our internal experiences. So that's going to be my first pick. My second pick is one of the blog posts that was actually written by one of the Wix engineers. And interestingly, instead of being posted on the Wix engineering blog was actually posted on Medium. So you know, we talked about before about blog posts on Medium. I really, really enjoyed it thoroughly because it seems that a lot of our day-to-day development is just picking the correct API to call and passing in the correct parameters. So a blog post that really deals in low-level algorithms and big O notations and comparing various algorithms for performance and overhead and memory usage and stuff like that really got my geek on. And I enjoyed it a whole lot. So that would be my other recommendation.

CAHRLES: Awesome. AJ, what are your picks? 

AJ_O’NEAL: Okay. I've just got one today and that is gear club unlimited. So I imagine this might be on other platforms than the, than the Nintendo switch and now it looks like it is just on the Nintendo switch actually. I loved top gear, especially Top Gear Rally, the video game, not the TV show. Although I do love the TV show as well. So for those of you that really love Top Gear and are just so sad that, I don't even remember what company made it, but they got absorbed or dissolved or something and Top Gear has disappeared and Gear Club Unlimited is not a good replacement for Top Gear. Top Gear had a certain feeling to it that I just need the Top Gear developers to come back for that. But I'd have to say I probably haven't been and not that I mostly I play Mario card, so I am not, I don't, I don't like all the super ultra realistic racing games. I like it to be a little, a little, have a little play to it. And, and Gear Club Unlimited to me seems to have the nice balance of it feels like I'm playing top gear rally almost. It is a little bit hyper realistic, but it's not in, in, in some of its visual style, but but it isn't too hyperrealistic and, and I, I unlocked the rally courses and it just made me feel good to play them. So if you've, if you are a sufferer, as am I of the deficit of top gear rally for a modern system, I'd, I'd recommend checking out clear gear club unlimited. It takes really long in the load times though. Races are like two minutes and load times are about two minutes. So. 

CHARLES MAX_WOOD: Nice. I'm going to throw out a couple of picks. So the first pick that I have just to remind people Clean Coders podcast. It's at devchat.tv slash clean-coders. And then I've been putting together a couple of other options for people to get training from me. It's gonna be a blend of a course, weekly group coaching and you know, whatever else you need. So I have one for how to find your dream developer job. So if you're trying to find your first job or if you're trying to find a job that you enjoy. That's one of the ones we have and I'll review your resume and I'll help you figure out how to find the people that you wanna get to know in order to get in the door at the company you wanna work at and all that stuff. Got another one on how to stay current and another one on how to do a podcast. And then I'm putting together a mastermind for people to help them with their careers in software development. So if you're interested in any of that stuff, go to devchat.tv slash workshops and yeah, we'll get that in, we'll get it together for you so that we can help you succeed. Those are more or less the picks there. Let's go ahead and wrap this one up. Thank you both for being here. Amy had to drop off. We'll have another one next week. In the meantime, Max out. 

DAN_SHAPPIR: Bye bye. 

 

Bandwidth for this segment is provided by Cashfly, the world's fastest CDN. To live your content fast with Cashfly, visit c-a-c-h-e-f-l-y.com to learn more.

 

Album Art
JSJ 423: State of JS
0:00
50:44
Playback Speed: