Every Framework Sucks Now

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
Frameworks have been changing so much over the last few years sadly the adoption has not been going as great specifically it seems like the sentiment for a lot of these new Frameworks is going down not just next but KN spelt solid and more seem to be seeing a decline in excitement and adoption for their Frameworks what the heck is going on here what might be a 0.1 or a point2 drop in here industrywide could be a lot larger and I think we need to dive deep into these numbers first and then afterwards we can start to understand why they look like this so what numbers am I talking about obviously the state of JS survey which I was lucky enough to co-write a conclusion with Cassidy Williams so cassid and I both wrote our thoughts since I wrote this I've talked with a lot of the people who built these Frameworks and got some different takes on things that I hadn't thought about before which is why I wanted to take the time to discuss this in a video I highly recommend checking out this whole survey if you haven't it's great I think Prime just posted like a 2hour video where he goes through the whole thing I'm not going to do that but I do want to break down what happened here this is the chart I want to spend most of our time thinking about it might look a little chaotic so I'll do my best to quickly explain what it does this is a two-dimensional graph up down is used versus not used which is why webpack and react are so high up here because most people taking the survey have used webpack and react positive opinions the right and negative is the left the first outstanding obvious thing here is that we look here with the webpack graph and we see it has moved from generally positive and really popular to slightly more popular but way more negative it's actually went over that middle line where it's now leaning negative if this was just webpack going down like that that'd be one thing but it seems like a lot of things are having this left move like mocha shifted left next is Shifting left Cyprus is Shifting left rollup went left and then right a bit which is interesting we have uh jest which I think shifting left is fair for obviously react going left it initially did with server components then it stayed about the same then it got worse again yeah it's also crazy cuz it was so positive up until 2020 before that left shift started but if we were even go in here and look at more new things like spelt is starting to move leftward it's going up still but it's going left too react native had a pretty hard shift left uh electron is Shifting left angular's had a chaotic Journey but that's angular who would expect anything else spelt kit moving left is scary view shifted left really hard in 2020 it's mostly stabilized since but still suffered from a pretty significant shift in that regard this gets a little chopped in this view but kn has also went slightly further left so what's going on here why is everything seeing this leftward shift why is the entire JavaScript ecosystem seemingly getting more negative I have some thoughts I think I want a diagram for this before we get to that I do want to call out one positive thing which is Astro Astro is still seeing pretty solid growth which is why it's going upwards but it's not seeing the same shift towards the negative Direction so it's going up and slightly right it's possible this will start trending left in the next update when we do this survey at the end of the year here but for now it seems like Astro is one of the few Frameworks that is not seeing this leftwards Trends towards the negative so what's going on the first thing I want to point out when we look at these is that most of the things seeing a negative shift are also seeing upwards movement in fact most of them saw a significant amount of upwards movement slight movement to the right and then a hard shift to the left so it seems like there's almost certainly a pattern here even with like react and webpack V's also been immune largely but tools like electron react native spelt was in here yeah spelt seeing upwards Trends but also moving to the left there's a reason for that I want to draw a clear distinction between types of developers type one devs who chose their stack and type two devs who work on a stack they didn't choose I want to highlight a massive difference between these types of people to be very clear just cuz you are one of these types of devs right now doesn't mean you aren't the other one sometimes or at other points like you could be a type two at work where you're stuck working in an old angular code base you hate and then at home you're working on your own fun things and spelt there's an important difference between these types of people though specifically the mindsets that they have when they work with the Technologies in one of these buckets if you're using some tech because your company chose it and now you feel kind of stuck on it it's going to be a lot harder to enjoy that technology when you pick something you're inherently so much more likely to enjoy the thing simply because you made that that decision this is a thing I push really hard in a lot of my work for those who weren't here day one I had a very popular video really early on the channel where I did a mock job interview with Dan abramov the main reason I wanted to do this is I had seen the other interviews he was doing and knew he was really talented Dev so I wanted to be sure that devs like him could succeed with a good interview process and I felt like a lot of the interviews I was seeing in the interviews people would give him would not highlight his skills properly so I asked if he'd be down to do a quick interview he was down and this blew up this was a huge part of why my channel was successful early massive shout out to Dan for being willing to do this and also to the community for watching this and taking this video as well as they did I have a interview guide that I wrote and this is why I wanted to talk about this right now I make an interview guide like this for the vast majority of the technical interviews that I do that I'm in control of where I need to vet a person's technical ability I'll be honest though I'm in a very privileged position right now where I have literally thousands of super talented Engineers that really want to work for me and most of those Engineers have enough good public work that I wouldn't need to technically interview them I can interview them for culture fit team fit what stuff they want to work on stuff like that but I have so many people who have already proven themselves technically that might need to do like a technical interview with somebody's a lot lower but I wrote this before then when I didn't have that infinite set of people and filtering for good ones was much harder so it's still useful info the reason I bring this up here though has nothing to do with my interview experience it has everything to do with the value of this document this document gives every interview candidate four options they have the traditionalist which is your usual Elite code interview the pragmatist which is a more fitting problem for the type of role they're going for so I'll give you a mini react do with a fake backend to build on if you're going for a front-end roll stuff like that I have an example problem here as well option three the realist which is bring your own repo and we'll Shadow you as you work in it so you head us up ahead of time saying Hey I want to work on this project I have been working on this on the side I have this bug I want to fix or this feature I want to add we take a quick look ahead we say yeah that looks good and then we just pair for the interview and then option n The Specialist which is bring your own interview plan if you think you have a way to better showcase your abilities to me than what I've listed here let me know and we can do that it's great it's great so why the hell am I bringing this up here well the reality is that even though we have all these options I'd say 2/3 is pick the pragmatist and the remainder pick the traditionalist the value of these options isn't that people pick any one of these options I'm not using what they pick to judge them or anything it's that the act of giving them options makes them feel more in control of the process which makes them much more positive much more open much more excited accepting and generally feeling in control and when you have that feeling when you feel like you understand what's next you have some control some say some ownership of that process you're so much more likely to do good work and be successful and I architected my interview process around that how can I set up my team to be as successful as possible so that's why I bring this up and if if we go back to my diagram you might see where we're going here when the dev gets to choose the tech they're working in themselves even if they pick the same thing a Dev who's working and react because it was what their code base already had versus a Dev who picked react and is now using it the one who picked react even if otherwise they're exactly the same person the one who made that choice is going to feel so much stronger about that thing and almost certainly is going to feel more positive about it too that's why I think this upward trend is so interesting because when something gets more popular usually that implies there are fewer people using it that chose it as something hits a certain threshold of popularity it stops being a choice and it starts being a default and once you're stuck with defaults not choosing the thing you want to choose that's when the sentiment starts to tank and that's what I feel like is going on here especially with react where people felt like they had to use react because it's what everyone's using in their code bases it's what every company is hiring for so they started using react they learned enough react it was flatlined for the positivity for years and then react started making changes specifically the server component stuff and now all of these devs who felt like they got forced into this but at least they learned it and understood it now they saw everything changing around them so if they felt like if they had to learn this much to know react and they didn't want to like their interests are somewhere else if their interests were like here if they want to work on other things like let's say animations or css hacks like these things all have some overlap with the react bubble but if it's not what their focus is not what they want to be doing that's going to feel awful and then when react comes out and says hey by the way we're doing server components now they didn't choose react they're stuck living in this tiny area of overlapping interest where this is the only section that they feel excited about is where these things overlap and now react is doing things way over here that don't benefit them in the things they're interested in they didn't choose react they're using react because they have to they're trying to force their interests their goals the things that excite them into their corner of react but in order to call themselves a react engineer they feel like they have to learn this other thing that's a big distance away from where they want to be like their goal is to live in this bubble you could even draw a line here like I'll just draw it here and say like stack split where on the left here is the front end side and front end interest and on the right is the server side and server interests and with server components happening knowing react now means knowing more about the server and a lot of people don't like that in that feeling that the bubble that they weren't interested in is expanding but it's expanding in the direction they don't want it to feels as though they are now being forced to learn all of these things that are outside of their interests and that feeling sucks it genuinely does and we've seen push back for this in a lot of places like I've seen a lot of outrage recently about the V2 to V3 move to the composition API thankfully Evan wrote this really nice reasoning for why he made this change which if I know my timing correct and if there's any of you people here correct me if I'm wrong my gut is that the huge left word shift happened when vue3 and composition API really started taking off am I correct that V3 was 2020 is thank you to everybody who confirmed views shift left is almost perfectly aligned with the move to V3 and the shift towards the composition API the composition API is to be frank a lot more hooky I love how they describe this here this diagram shows great how your logical concerns get mixed up with the options API which was the view2 way of integrating third party package and things so here we see all of these concerns getting mixed each color is a specific concern so at the start we have to in the data layer attach all of the state for all the different things that this component can do even if these things don't have any relation with each other they all have to go here and then we have to call out all of these additional things that are their own concerns for the most part and then we have to write these blocks that reference those concerns and intermingle between them and this is what they described as the common view to experience notice how code dealing with the same logical concerns is forced to be split under different options located in different parts of the file in a component that is several hundred lines long understanding and navigating a single logical concern requires constantly scrolling up and down the file making it much more difficult than it should be absolutely agree react had this problem too before hooks this is how it looks when it's refactored using composition API I love this diagram I I love this so much it perfectly showcases why this change was made each logical concern lives in its box and then you just return the HTML at the bottom but this change is something that view devs didn't want to do the reason they picked VI view is it felt the most like just writing HTML and JavaScript and CSS their goal was to not learn something that's part of why they picked View and now with the composition API you have to learn more View and they did not like that especially now I've been seeing more outrage saying that view 2 was the peak of web dev and it's only gone downhill since that perspective comes from people who didn't pick view because they liked view they picked view because they didn't like other things and they didn't like wanting to learn all of these new tools and Technologies and things they saw react said that's moving too much I want something simpler more focused and stable and then this happened and they all got mad this is also happening in spelt right now uh spelt introduced runes the goal of runes was to make it so you could write reactive code for spelt outside of spelt files because spelt files Chang what the equal sign means and when they did that it forced things to work differently but that also means if you're writing code in a JS file for a library getting that code to be reactive inside of spelt was not easy enough as they said here our common piece of feedback we get is I wish I could write all my JavaScript like this when you're used to things inside of components magically updating going back to the boring old procedural code feels like going from color to black and white the goal of runes was to make it so they could write this code in a way that worked in files that weren't spell files and they did that by wrapping the signals they wanted update with their dollar sign State calls at first glance this might seem like a step back perhaps even unspell likee isn't it better if let count is reactive by default well no the reality is that as applications grow in complexity figuring out which values are re active and which ones aren't can get tricky and this charistic only works for let declarations at the top level of a component which can cause confusion having code behave one way inside of a do fault file in a different way inside of a JS file can make it hard to refactor code for example if you need to turn something into a store so that it can be used in multiple places Yep this is another huge point that I want to emphasize here which is that a part of why we're starting to have these feelings is the code bases we're actually building with these things are getting more complex if the code base that you adopted felt for in 2019 was nice small and simple and now it's been 5 years of you adding more and more things to it and felt making more and more changes the complexity is just expounding it's getting so large and that is frustrating for obvious reasons you start to see the flaws in the tools that you're using I've seen this all over the place even in the react ecosystem I saw a post on Reddit recently where somebody was complaining endlessly that react doesn't scale and every large react code basis is a disaster L reality is that every large code Bas is a disaster another one of the reasons that we see upwards then leftwards is as the adoption goes up the age of these code bases starts to go up too and as these code bases get older and they have more complexity within them we start to realize that every big code base sucks and it's very easy to blame the tools you're using when your code bases start being unpleasant to work in that shift represents a combination of things it represents the frustration with the changes the framework is making it represents the people who didn't choose to use this technology that feel forced to use it now and it represents the complexity of the code bases we've made with these Technologies getting worse over time resulting in us having worse feelings about the technologies that we're using I know that my feelings about webpack were much more negative much earlier than others because I was upgrading the webpack versions on a codebase with 500 people contributing to it and it was miserable so I hated web hack before it was cool to hate web hack this is the thing I really want to call out though is a lot of the reason people are getting frustrated with these things aren't necessarily the Technologies getting worse or changing or these things happening it's almost entirely the trends that are inherent to things getting more popular when things get more popular they're used More Often by people who didn't choose them in code bases that are Messier the quality of the average engineer choosing them goes down as well where like if your picking felt right now you're probably a better engineer than the average JavaScript engineer I know that sounds crazy coming from me the react guy that the average spelt engineer is probably a better Dev than the average react engineer but that's simply a nature of the type of person who's choosing spelt versus is stuck working in react because if you chose to use spelt you're deep enough to know about these options you're deep enough to make decisions like that and you're excited about this new solution those things make you a much better engineer on average but if felt gets really popular the quality of the average spelt engineer is going to start going down and we're going to see them have a similar shift to the left where the spelt Engineers aren't necessarily people who like and picked spelt they become people who are using it because they felt like they had to or because it's what their company was already using there's one more thing that's going on here that I really want to call out though we saw it a little bit here with things like nextjs and n and all these other meta Frameworks but I want to talk about meta Frameworks a whole bunch more or if we look at this chart here we can look at the positive ity around these Frameworks over time and it looks like I'm assuming or what is green yeah Green's Astro so Astro is still going up basically everything else is flatlined or going down NEX has gone down KN has gone up a very small amount Gatsby is obviously going down still remix is going down Astro's going up 11t is going down spelt Kit's going up a little bit but it's largely flatlining docusaurus is doing okay good for them solid start I guess it wasn't on it last year but I know that there's been some concerns from Ryan carnado here the reason for this is because met framework stopped being a thing we were just adopting out of excitement it's not just the positivity that's going down here though one of the scariest things here is retention basically everything's retention is going down which is the percentage of people who are still using it that were using it in the last survey everything is plummeting here that is terrifying yeah NEX has dropped from 89 to 75 spell kits gone from 92 to 88 KN only down 2% gasby is obviously plummeting remix is plummeting to be fair remix doesn't exist anymore but when the survey was taken remix still existed this this is terrifying seeing all of these things pointing so straightly downwards there's a reason though previously the people who were adopting these things did it because they wanted to people would adopt things like next or n or remix because they were tired of existing Solutions tired of building their own framework which to be Frank if you were using anything like create react app or even vit you were building your own tooling around it the goal of next was originally to get that tooling out of your way so you could just build and it did a great job at that but next was kind of an in the no thing if you knew that next had a better webpack and fig and some good serers side rendering behaviors you would adopt it just so you would not have to deal with those things anymore but now next isn't just a thing you pick cuz you're in the no next has become a thing that you kind of have to pick if you want to stay up to date with the best and most modern react patterns and that sucks the fact that next stop being a thing people picked cuz they were excited about it and now is the thing they pick because they feel like they have to that's a massive change in how these things are adopted and previously meta Frameworks were a thing we picked out of excitement now they're not and that's not just a react problem we see this here with n as well obviously Gatsby which is react based Astros not getting hit quite as hard but all of these Solutions are seeing dips in positivity and retention because most of these Solutions are being picked by people that didn't want to use them in the first place it again feels like additional things you're stuck learning rather than things you were excited about and that's what I really think is changing here if we go back to the over all front-end happiness I think the whole industry is getting a little burnt out on the change if you were really happy around here which is when hooks came out which was a very exciting moment it felt like webdev was getting simpler and better over time more and more things have been introduced that might not be your specific cup of tea they might not speak to you in the problems that you've had and now you feel like you have to carry all of these Solutions over even if they're not the solutions to the problems that you have nextjs stopped being a better webpack build for react and started being The Meta framework for all the cool new things react is doing and that shift has changed our communal perspective on next it's no longer that oh I'll look into it later or oh my God I don't have to worry about webpack anymore now it's oh if I want to use the new react stuff I have to use next that sucks and that feeling is what I think is driving this because most of what we're seeing in these numbers the sentiment change is coming from feelings and it's crazy as it is to be sitting here breaking down diagrams and talking about Vibes that's the whole point I think the Vibes are changing because people aren't choosing the technologies that we're talking about here anymore when next was just a thing you picked cuz you liked it obviously you're be more positive but that's not the case anymore one last thing I really want to talk about here is the state of the industry specifically the job market over time getting a job in Tech especially in the web dev world has gotten much harder it went from reasonably speaking if you came out of a boot camp and were capable at react you could interview with 5 to 10 companies and actually probably get an offer that's not the case anymore because there are so many more people looking for jobs that have experience and so many fewer job opportunities as companies have cut their head counts down that means you feel like you have to stand out more and in order to do that you have to be up to date on all the latest things at least that's what we tell people and now that you're learning these things not because you want to because you're excited about learning them in your spare time but because you feel like you have to in order to get a job your mindset going in is going to be much worse if you feel trapped by the environment around you into learning this thing rather than excited to see the problems that it can solve for you you're going to have a rough time and you're going to feel way worse and it makes obvious sense to me that at the peak of the hiring bubble which was 2018 preo that's when we felt the happiest and as the market has shifted as the number of job opportunities has been going down we have seen this Decline and that makes all the sense in the world to me that when we were more stable in our jobs we had more consistent income we had less worry about our status as Engineers that we were much more willing to experiment and try new things and have fun with it and now that we don't feel that way now that many developers fear these things that feeling is a lot worse it's also worth noting that this survey only had a what 20,000 is people take it that's not representative of the whole ecosystem my channel has millions of people watching it every month there are millions of JavaScript developers that are deep enough to watch content like mine that's not the average JavaScript developer either I would be impressed if more than one tenth of JS devs knew who the hell I was because of that I think it's important to recognize this is a subset of the overall JavaScript developer group that is more interested in new things because they're taking surveys they're finding these things they're doing these things in fact if we go to resources the only person who had more wrin than me was midev I am the second most popular source of JavaScript news as a an individual according to the survey the reason that this is important is it shows people are interested in new technologies and solutions like some of the top people here it's like me known for talking about all sorts of cool new things rich Harris the guy creating spelt keny dods one of the core remix guys for a while doing lots of good educational content Evan U who's obviously the view guy of this top group only one of them only talks react which is Kent I talk about all sorts of other things obviously Eileen react but the top five are not react core people anymore Dan has shifted all the way down to seven that's because the people who do this survey and pay attention to these things are super super interested in new Solutions despite the fact that the average person taking the surve is a nerd about new technologies and solutions we're still seeing this downward Trend if this was a more General survey that hit devs that weren't checking these surveys all the time or watching my videos all the time I would expect this number to be even worse when I talk to people who just use react and don't really watch anything about it they're not on Twitter or YouTube they feel even worse and it's important to know that because what might be a 0.1 or a point2 drop in here industrywide could be a lot larger and that's why I'm scared here not just because oh we lost 0 2 points in the front end framework happiness but because overall the general webd Community seems to be in a bit of a negative slope right now I'm still hyped as hell about these things I still think we're on a great track to make JavaScript in the web better than ever I hope that comes through in my content I am genuinely as excited as I seem to be about these things it's not because versel is paying me or whatever I actually just love what's going on in the modern web in react ecosystems but I see these numbers and I get scared I know not everyone can be as excited as I am about these things but it still breaks my heart to see when they're upset about it so wanted to talk here a bit about why I don't have too much else to say here let me know in the comments what I missed and how you're feeling about these things too until next time peace nerds
Info
Channel: Theo - t3․gg
Views: 96,230
Rating: undefined out of 5
Keywords: web development, full stack, typescript, javascript, react, programming, programmer, theo, t3 stack, t3, t3.gg, t3dotgg
Id: rdKQczxKwe8
Channel Id: undefined
Length: 24min 10sec (1450 seconds)
Published: Mon Jul 01 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.