Picking The Right Stack In 2024
Вставка
- Опубліковано 24 вер 2024
- I get asked a lot about what tools people should use. From Flutter to React (Native) to Angular to Svelte to Go to Rust to NextJS to Remix to Vite...there's a lot nowadays.
Hope this video helps you pick correctly
Check out my Twitch, Twitter, Discord more at t3.gg
S/O Ph4se0n3 for the awesome edit 🙏
"If you want to build confidence, you can't borrow mine."
So pointed and true. Love it!
You build confidence through doing.
I forgot I said this lol
daaaaamn, that's a good one
That's why there are millions of bad js frameworks instead of a few good ones that the community supports, everybody is confident now.
The weird thing is that companies want developers that are experienced in their tech stack and will favor someone who already has experience. I got my job because I have experience with Vue and when I asked about helping a team that was using react my manager's first answer was "But you're a Vue dev?". In this context it does matter what you pick
Learning either of React, Vue, Angular or even Svelte is going to be fine for the career
About the same can be said about backend where there are about 6-9 frameworks which you can learn and get a job regardless of what you picked
@@plaintext7288what I mean is for learning and becoming a better dev it doesn't matter and every dev interviewing you is going to see that. But hiring decisions are not made by devs but mainly by hr people if the company is big enough, and there mostly looking for keywords they recognize.
I think that it doesn't matter what framework you know as long as you know the basic underlying principles. This what Theo said in the video aswell, it doesn't matter if you haven't used Tailwind before if you know CSS well. At that point it's just reading the docs and finding the syntax.
Same goes with most backend frameworks, they are just abstraction and syntactic sugar so you don't have to go through the process of writing all this boilerplate code.
It's so silly...it's just Javascript in the end.
I generally agree, but want to provide a different perspective that often gets missed: if your whole team is React developers, and you're hiring, it's React developers that will be doing the bulk of interviewing. Some of them might be familiar enough with, say, Vue to follow along, but very few would be able to evaluate the quality of your Vue code. Hiring any developer for any job is a risk to the company, and which one gets hired is almost always decided by how confident the interviewers were in their evaluations.
All this to say, if you're interviewing with a Vue shop, don't try to write React in the interview, and vice versa, and you should practice whatever framework the interviewers expect ahead of time. The good news is, React/Vue/Svelte/Solid have a lot more in common than folks like to admit, so getting to the basic interview competency level doesn't take long if you know at least one well already.
I think it’s also important to draw a distinction between choosing things for side projects and learning vs making architecture decisions for real products. These decisions are important in the latter.
Web dev isn't complicated, the landscape is.
Web dev is complicated though.
Web dev is a house of glass cards that madmen fix over and over again so that it does't collapse and than shatter
So true
1) Go to url
2) Get http response with HTML file
It's definitely complicated. It's huge, won't stop growing any soon, has a history of bad tech decisions, need to support a myriad of platforms, standards are poor, and everything needs to be backwards compatible. The landscape being complicated is just a reflex of web dev, not the opposite.
As a beginner in web development, this video gives me confident to be more trust and throwing out all the worries. Just pick something. Thanks for the advice, Theo!
Choosing popular is always correct. And you will get the most help from the community.
beginners will always pick the popular. no new programmer will come and say he wants to make an app in htmx cause it's the right way to implement ssr.
Choosing popular is a local optimum, probably not the best overall but safe and therefore guarantees not to be the worst choice.
How is it going
Every app I've ever worked on had at least one technology in it's stack that was less than optimal for the use case. It's never resulted in the failure of the product or company, but it did result in me having a much better understanding of the tech, it's limitations, and when I might want to use it again, and when not to. Great vid
Thanks! Picking COBOL right now! CHAD stack let's go!
Hey COBOL is great, second language I ever learnt. (Pascal first ... well technically it was Spectrum BASIC but I don;t really count it)
I'm going to build my next web app with Microsoft Access as the database, jQuery for the frontend and Swift on the backend. It's going to be great. Thanks!
What was the Prime’s stack that included Haskell & COBOL backend?
@@evergreen- CHADstack Cobol Haskell AlpineJS DynamoDB
@@evergreen-the CHAD stack
Voted up not because I would choose the same, but because those are all mature tools that will allow you to a write a functional web frontend. You do you.
Why?
theo: my audience skews heavily senior
also theo: holy fuck my audience's decision paralysis
Best answer possible. It builds muscles picking stuff, but also builds confidence that you know what your talking about because you've failed and succeeded, and you know why that happened. You can then map those successes and failures to future projects. Everyone wants to know what tech stack they need to become a "senior developer".
No tech stack will make you a senior dev. PERIOD! THIS is how you become one. No shortcuts!
"It's way more important that you pick something, than it is that you pick the right thing!" ❤
Completely agree, especially for the context you presented. I would add though that choosing a tech stack is not only a tech choice, it is also a business choice. Which tech stack is cheaper to host, cheaper and easier to hire for, etc.
Strong disclaimer about this video: the advice given by this guy is only valid in the context of LEARNING not in the context of job search. For the latter, you don't decide what to learn, the industry demand determines that.
The thing is : this man hire people because they have good brains and he has the leverage to retrain them. not all companies do the same.
This video gave me the confidence boost to learn jQuery as my frontend framework.
hell yeah brother 💪
you'll like flutter
Is this path at least okay to step on?
1- SolidJS
2- Typescript
3- Vite
4- Snowpack
5- Sass
6- Gulp
7- Lightning css
Complimentary to this: Find a project that's complex enough for you to have to write at least a few hundred lines of code to do get it done. To-do list are nice for illustrating how things work, but it's when you work on bigger projects that you really learn to apply all that you have learned.
The big issue today is people focus on frameworks but tend to miss the how and why’s of development. I respect the fact that you interviewed on how they solve problems, not what the tools are. I explain it to people using a house building analogy, “An architect learns how to build and design a house, if they use wood, steel, brick etc, those are tools they add later. “
To that point, if you are still learning how to build things, there's absolutely an advantage to picking a popular framework/library because of the community. Svelte might be easier to pick up than React, but if something goes wrong the pool of resources is much more shallow. That isn't to say you should be reliant on outside help, but you also shouldn't be completely halted by a lack of insider knowledge.
I hope the JavaScript ecosystem doesn't release and framework after this video, and then call it the future of web development.
lol I'm making my own framework
Did you even watch the video? 🤦🏻♂️ It doesn't matter if a new framework comes up and people say it's the future. They're probably wrong, and even if they are right. It shouldn't matter as long as you are confident on what you chose. Because if you're a good developer you can choose the "worse" framework and make it work. Or maybe not even using a framework...
New frameworks are going to keep coming and it's a good thing, whether you like it or not.
@@tomshieff Dude, I didn't say creating a new framework was a bad thing. The comment was just a joke.
I wish I got that message about technology on your resume 10 years ago, that would have avoided me a lot of pain and bad decisions lol
I need to watch this at least once a month so I can get out of analysis paralysis and start building.
Choosing the stack makes much more sense when you have a product with real users and a team of more than 1 developer. Then you might want to consider scalability, performance goals, team size and their skills, security, and other factors.
Great advice! I got launched into learning to code by building an app in Scratch. The school I teach at uses an app to manage dismissal, but the old one stopped working at the beginning of last year. I had just been teaching the kids coding in Scratch and I knew exactly how I could code an equivalent app in Scratch (using the cloud variables meant for high scores for the "backend"). It is super hacky, but we've used it successfully for 1.5 years (and dismissal is faster than it used to be)! Since then I've begun to actually learn web development and I'm 95% done with a React/Firebase replacement. I've been doubting that stack choice a bit, so this video came at just the right time!
This rant could be the best possible share on so many Reddit threads
Too bad most developer subreddits hate me or have me banned lol
It only doesn’t matter as much in the beginning. I think it’s also important to think about the requirements of the project as it scales.
For example, there is no “best DB”. Rather it’s something along the lines of “is using Redis here in the topography going to improve performance and user experience”. How many round trips are happening? Oversimplifying here.
Assuming this video is for people who have never developed or worked on enterprise software before.
Great video!
it matters when trying to get a job though. Since companies use ATS to filter out applicants, its necessary to use the most likely stack to appear on a job ad. Unless you are an entrepreneur
As someone who's been working in this space for a company with government contracts, you need to know how to handle the hand you've been dealt. My first job was upgrading from .NET 3 up to .NET 6 for an AngularJS app, and that was the modern application.
Fact is, you'll almost never get to choose in the real world, so get good and working with whatever you have. Experiment with frameworks you think are bad so you know how to work as effectively as possible. Learn Blazor, learn React, learn Vue, just play around and pick the least worst.
Pick the one that sounds the most fun.
Agreed. I just would like to add one more thing - the final product is more important than the technology it is built with. Moreover, customers don't care what's behind, if the product solves their problem.
That's the typical misguided business guy approach to technology. Doesn't matter as long as I make the sale. The final product literally is the technology its built with, in action. What seems like it makes the customer happy or "gets the job done" today may be woefully problematic tomorrow based on the actual technology and considerations of what lies behind the surface, what you're in store for down the road. In so many ways. Real engineer talk.
opportunity cost has left the chat
Completely agree. A great developer is baptized in the fire of solving problems in every facet of the process.
100% spot on, I have builting my muscles 💪 for 30 years now and even though I am entering the end game of my career I am still strong enough to continue even in this new ai world we are starting. Because its not the tech stack that matters its the mistakes.
"You have to pick the wrong technology for the job, like, a dozen times before you get it right..." this is the story of my life lol.
So, what technology should I start with?
I agree with it doesn’t matter except database, if you don’t know, choose squeal
I would add a clarification to this: research the choices ahead of time. Get a feel for the docs and which packages are comfortable or at least documented well enough for you to be confident.
Then look into documentation that is connected. (Like using prisma with supabase for example)
Then build and grow, the process of unblocking yourself will be how you learn.
"Be a Software Engineer, not a React Developer" - ThePrimeagen
Amen. The best project is always your next one.
I agree and disagree with this sentiment. I think the issue is, there's so many emerging frameworks that come out and new trends that come and go and people often get overwhelmed. Web development is often seen as one of the worst hells because of how it seems to change all the time. I do agree that spending time making mistakes and learning things without just following examples is important, but that doesn't also mean you should go completely blind into everything you do and hope for the best. There are a lot of people who spend time and effort making things to solve problems specifically so people don't need to experience them.
Sharing information about what makes certain frameworks powerful for certain tasks is good information to know. It doesn't mean giving someone every answer to their questions to design anything, but to provide resources that empower people to discover the answers they want without having to go through a journey of failure over and over again just because that's what others have experienced before.
Obviously this video also is very personal to your experience with people asking you questions, so I get that this video is really made with that frame of mind, and I think it makes sense for you and not wanting to have to answer people over and over again to give them a shortcut.
Confidence comes indeed from making both good and bad decisions. Well said Sir
Thanks Theo, I needed this without knowing
Love how theo knows real nerds don't mind them being called nerds.
I'm very guilty of thinking too much of technical stack. Just build project, try out stuff, do de work, make mistakes and learn from it.
Hiring managers need to watch this.
Every coding bootcamp should feature this video in their advertisement.
Build the algorithms, business logic, and relationships first
The only thing I learned is don't chose react that framework isn't made for me lol
on the other hand I find it more fun solving Vue problems so I decided to go with Vue for the moment
Theo, An example of dopamine: one of your last sentence was: "please stop asking me which technology to pick, just pick something".
Meanwhile brain, (right after you said this sentence) but which technology should i learn first. :D
first thing - JS
Just pick react.. good enough
cheese! boys i know what to pick Js :D, but i was just trying to poke Theo with some dopamine.😁
I want to build confidence, but what framework should I use?
If you are just starting go with Vanilla Javascript and HTML first.
A framework would obfuscate the building base you should already know of.
If you do know JS and you mainly care to become hireable pick React.
It's the jQuery of current era.
For backend whatever you are most familiar with.
Either Node, Python, Go or even PHP are good enough.
Don't bother with Next.js until you are proficient with react.
I would argue rust for backend too
whatever anyone has any acquaintance with.
The only reason I didn't mention rust is that it§ doesn't feel like a starting language to me, but sure.
my favorite video yet
exactly like dating. find one you're comfortable with and make sure they're never out of date.
I'm choosing vanilla js
babe wake up, theo just dropped another banger
I once built a blog in in Angular, riddle me that!
I never thought I would see Dr. Disrespect without his glasses and wig
Felt like I was watching a bodybuilding motivation video 😂
I chose Django last year for a project, and I regret it dearly. Python is just for hobbies. Angular/TypeScript all the way.
I didn't have time to look through this entire video, but I should choose React is what you are saying?
Thanks for the video! Can you share how you screen interviewees and decide if they are good at solving problems, I’m interested to learn the differences between types of developers 💻
Theo , finally you spilled out the beans :)
Really good advice there ! Okay, let's try something bad just to get theses "muscles" XD... mmmh, let's try replacing wordpress with python django (that I don't know anything of it !) yeah ! 2024 will be HELL and hopefully fun ^^
Perhaps we can exclude legacy and experimental technologies in production. I've had clients want both and... you only end up learning why they are, and why you shouldn't.
Pick one and start working on it, the longer you are in the space, the more you will know what to pick on your new projects
Crucify me as much as you want - but I always go with React, Nestjs and PSQL/Mongo running on my own server...
Pick what your local job market uses
What category of developers are still asking this in 23/2024?
100%. Prime is giving some bad info about only using Go and Rust because he's build enough things that he doesn't want to have to rebuild the system when it scales, but 99% of people won't ever scale to that that number of users so it's not as important as just making something, anything.
Thanks, I needed to hear that!
Ok but what pants should I wear if I want to build a twitter clone?
Good judgment comes from experience, which comes from poor judgment.
Theo filming from his home. Yayyy 🎉💪🙀😁
Pick whatever guarantees a job (required in the Job market you are in) its a huge waist if you pick ruby on rails in the middle east maybe none really use it and they won't hire you remotely in the west because you need visa sponsorship.
Angular 1 here we go!
I feel personally attacked by this intro xD Nvm...that was just the whole video
What if Theo got a low taper fade?
Its not about what you use, its about how you use it
It only actually matters when you want to shave bits because you have 1e7 users/interactions going on.
it would be nice put that ur video is for developper. as an entrepreneur paying and collaborating with dev its actually important for us to understand the fundmentals and big ideas. I don't wanna know personnaly like every single detail i just wanna be sure i dont pick a api backend or front end code that will result in me loosing 10s of thousands i already notice that dev online seems to think that everyone whos looking at this type of video knows the lingo and is somehow in tech but truth is many of us are just trying to get a general idea but we only get videos with thousands of name and lingos thrown so if its for pros please add it for us to save time
One of the best things about working in tech is that we have a lot of safety and opportunity for trial and error, can you imagine if a doctor could try a heart surgery and if it didn't work as intended he could just "git reset" or could create a bunch of small trials to see what medicine does and doesn't work?
So yes, just pick anything and try to build something meaningful, worst case scenario you just learned something new, know that it doesn't quite work for that problem, know WHY it doesn't and can just try something different much sooner than if you tried looking for everything before giving it a go.
Okay, T3 Stack... Just kidding, great video!
I have a lot of opinions, as long as it's Vercel
Love this 🔥
What do you think about non CS degree programmer?
I know in US now companies willing to hire them but countries like where I come from which is Malaysia still require the degree.
Do you think self-taught programmer will have ways open to them to work in IT?
It’s hard to say no to a guy who can actually build nice things. I think if you can build some nice cleaning and functioning websites, you can land a job. There’s lots of people with cs degrees that can’t build anything, you can outcompete these guys.
Many self-taught programmers I've worked with are some of the smartest people I know. The industry is only recently adjusting to this, but imo the self-taught people are often better because self-teaching anything complex requires a lot of drive and initiative. Hopefully the scene will improve where you live, but don't lose hope. If it really does seem hopeless, I went to university and got a CS degree when I had already taught myself to code as a teen (although I was lucky that the tertiary education system is great in the UK where I live) but adding more "resume friendly" accolades like bootcamps just to have them there probably isn't a terrible idea. That and projects - people have been impressed just by the number of projects I've STARTED (and I've never completely finished one) just because it shows I'm willing to pick up something new and get to a pace where I feel comfortable in that ecosystem. It doesn't mean you need to complete everything or do everything perfectly, especially if you realise you may have set some goals that are a bit too ambitious. Enthusiasm to learn how to solve a problem (and your ability to then apply your learning of course) is really the biggest thing that any good employer should be looking for. If they ignore you without looking at your work just because you're missing a specific piece of paper, they probably weren't that great to begin with. I know this is a bit of a rant, but hopefully it covers what you were asking :)
Theo, what's your favorite framework?
Golang it is then
Hello ChadStack! Cobol, Haskell, Alpine, Docker 😂
you keep getting asked for recommendations because you name drop loads of products, how can you expect people not to ask
Yea I feel like it's definitely a given
Best advice ever
Don't be scared, be like Riddick 😅
So much yes. All the yes.
Mantine - mic drop
Wanna write less and do more? Go for Svelte.
just pick solid
I wonder where we can find stats of what is the most required framework or technology at the moment. Like a graph or numbers or something
Search for State of JavaScript
you can find where is the most used frameworks in stackoverflow survey
Theo gives prespective
what about alpinejs??
Theo had a haircut 😅
GREAT ADVICE!!!!
I don't see how starting with incorrect tech could help "build the muscle". The muscle will be built no matter what along the way. Somebody starting in web development has enough things to worry about already. The only difference is that somebody new to programming should ignore solutions that offer better performance or other benefits at the cost of being much harder to get into. In any case starting by asking someone who can navigate this completely insane amount of technologies used in WebDev is always the right thing to do.