@@nope3616 I think Shubham Kale was asking about the video-editing software, not the IDE. (However, if it turns out there is a VS Code extension that can do THAT, please tell me about it, lol.)
This video is written like an award-winning novel. It's got a compelling storyline complete with the suffocating dread as we get bombarded with a seemingly endless amount of unfamiliar names and colorful logos which then climaxes when we throw it all out and start from scratch ultimately ending with a satisfying conclusion. A perfect 5/7
Perhaps I'm still too old school, but back in the days of BDD (behavior-driven development) we had the rule: "Vision first, features second, specs third, tools fourth!" Which means: Only when we all agree on our vision of our project, we can pin down the features we want to implement. Only when we all agree on the features of the project, we can specify *how* we want to implement them. Only when we all agree on the specifications (specs) we can look for the best technologies to get the job done. I still believe in this approach. Can't help it.
@Jordao Simplício your English is far better then any other non-english language i know. If you applied for UK citizenship, they'd have no idea you weren't born there.
This sounds like the dream. In my experience, you start with a vision, use the tried and true toolset to begin working on implementation and requirements at the same time, get most of the way through a project, have multiple features added and removed, then release something before it's done and make the spec match the implementation afterwards.
@@frankhuurman3955 Stack-a-Script 9000, chose your preffered stack, write what you want in plain english, and Stack-a-Script 9000 will package that shit for you!* *The license is only 10 million per month, or 100 million per year!
@@Saurus990 Actually, a programming language that uses natural language does exist. The funny part is: programming with that is actually harder, more complicated and takes much more space. Where you normally would write "let var ++; " You now need to write "Take the variable var and increment by one". If i remember correctly, it was a language from the 90s, but I forgot the name. And, big surprise, every developer that tested that language, hated it. But maybe that was not exactly what you had in mind.
@Solve Everything are you guys all being serious i cant tell. Maybe its different in other countries but i got work as a Junior Developer in the uk right after graduating without much difficulty. I dont have an exceptional cv or anything either. Maybe its harder on other countries
This guy is a genius. i thought about leaving the video several times because it was becoming too complicated just to memorize the concepts. The last part is perfect.
Bro, please never stop doing these videos. They have literally gotten me through college, and most of my work experience come from videos just like yours. I never comment on videos, but you sir deserve some recognition, not only have I learned with you, but I also just straight up love binging your videos!
As a developer, this video has me laughing and crying at the same time until the last section where everything got simplified and half the team lost their jobs, haha.
It depends. If your team is more than 1 person, and the company is comprised of more than 1 team, and you're working on more than a single application in an ecosystem that will be used by more than 1000 people, dealing with heavily audited, secure, scalable system which will host and process critical information (banking/national security/personal/ health information/logistics), you will all benefit from T H I C C, battle proven stack in the long run.
I've lived my professional life from the beginning to now dumping unfinished side projects left and right, but it hasn't clicked for me until I read the title of this video why do I tend to do that, it's over engineering and overall planning. A todo app build on a 10 layer stack will not change the world, I should plan just the right amount and save more energy for actually realizing the project and completing it.
I think the modern tech industry really has a problem with overengineering in general. It's like if you really ask them why they chose to use a certain uneccesary framework, most of them would say "Because that other company uses it" or "I have to to be a good developer" if they're honest. Like do you really need a complicated state management framework just to hide and show certain components? No, you absolutely do not.
@@SansidarUploads > do you really need a complicated state management framework just to hide and show certain components If hiding the component is based on some non-trivial user interactions and state coordination, then yes. Hiding a component could be as simple as a toggle-which wouldn't require a full-fledged state management library-to a complex decision-tree based on authentication, authorization, feature flags and other metrics. Trying to model that with internal state will make it a lot more complicated and harder to maintain, than using a well-defined finite state machine, for example. And that's not to mention handling any side-effects such as I/O and networking with graceful error handling, fallbacks and other edge-cases, so your app doesn't break underneath the user's feet. When you build a side-project or proof-of-concept, these things don't matter as much and you can get away with not caring about these edge cases. But for full-fledged products with multiple paying users this is not something you can just hand-wave away without creating a terrible experience for the user.
That's what bootstrapping is. Start ups need a proof of concept before you invest too much time into it. Shortcuts like css frameworks to firebase/cloud functions are great for that. Honestly you just need to match the stack with the complexity of the project, i love typescript, but for a super small app im probably just wasting time using it. I think overengineering is a problem, but so is under engineering too. Also these services will add up, especially when the app starts to scale. It's probably cheaper to have your own infrastructure once you get to a certain point.
This is why I tent to go through the whole software development lifecycle for my side projects. First define the problem statement. Then write a short requirements document for the project. Then architect the major parts of the code. Once that’s done, coding should largely come easily, just stick with a blueprint you have, you can always add more it after this first draft is done.
Tbh, I thought the same before starting to use aws. But it gives a lot of control over our infrastructure. For example, security groups are godsent. Imagine configuring iptables or ufw on all the servers, and only allowing ssh from a particular machine which don't even have static ip. Idk why people find aws complicated.
@@moxy-bison It's a complicated experience if your development team consists of developers who just want to write code and deploy it somewhere that works. If you're a network engineer, devops manager or something similar, you're like a kid in a sweet shop.
@@Oliver_Saer I am a developer and is handling deployments because there wasn't anyone else in the team to do it. I started off with digital ocean and it was simple enough, but as traffic increased, it was really hard to manage. Aws on the other hand is built specifically for these scenarios. Deployment and load balancing is much easier to do on aws. For smaller websites, it's easier to go with a vps or even netlify. But for a medium size project (which it is most of the time), aws is a blessing. And it's not that complicated to learn the basics.
@akashic seer nope. For basic security on digital ocean droplets, we have to set iptable rules manually (ufw if you want a simpler approach), but on aws, it's much easier to do it using security groups 😂😂
lol he doesn't even need 10s. dude converted a 5 page machine learning description into one sentence: "Machine learning. Teach a computer to do something without explicitly programming it to"
thank u!!! im graduating with a cs degree and i cant believe nobody has ever explained what each of these stack does. this is the first video ive seen that actually differentiates them!!!
Even though I do this type of stuff all day everyday for like 10 years now. This video made me realize how stupidly insane all these tools and technologies have gotten.
Over-engineering a website? Write the frontend in WASM without using the DOM, the backend in C because performance, duh, and create your own shitty database because you don't like any.
The C compiler writes worse assembly than the best humans, so rather just code your server in pure assembly. Also, same goes for wasm compiler, so just write wasm bytecode by hand. (If you want good perf)
Before this video, I was watching all the videos for every front and back-end tech stack, and it was making me sleepy. Thank you, fireship for this video and for rejuvenating me.
I usually don't like to watch much web dev stuff on RUclips because i find its often filled with way too much hype and over engineering, basically everything you demonstrated in this video Your videos are a breath of fresh air!
You are a genuine out-of-the-box thinker. Your videos are short yet densely packed with information, both technically and philosophically. Fireship is like a breath of fresh air. Awesome!
@@maximusdecimus2142 nor is it to most "programmers" touting react in their "tech stack" (cope stack). Tbh no code could be more efficient than most of the bullshit your average web dev writes for the vast majority of cases.
@@sussybawka9999 no code? how would that even work? having some block ui drag and drop shit that compiles straight into binary? because otherwise, theres gonna be some code in the middle of that
Manual deployment may work for small applications built by just a handful of engineers. But as soon as you have multiple teams building upon code that was written by other people, and all of it must play nicely together, and you have an active user base that you dont want to risk disrupting with outages, the packaging and deployment processes get more complex and more critical. And frankly, they become a lot more of a pain in the ass, and can require more developer time being spent going through the motions. And that time is expensive.
This is a great video. I reached a point where i was starting to feel out of my depth with with inane amount of information i was swimming in, but it was great because it felt like you were illustrating what its like to be an overwhelmed developer, not just reminding me about how little i know.
I just moved to a new company since a month ago, and most of these are the ones I’m about to delve into. To give you credit also, I found myself answering the questions during my technical interview quite well all thanks to your videos. So thank you very much!
@@sujittamang4734 No, this absolutely IS engineering. Ask me how many convolutional neural networks I had to write since I joined the workforce. You need to learn to separate software engineering and computer science as concepts.
mevn can be rearranged to venm and all of a sudden it's the coolest stack acronym. throw in something that starts with an O and you have the full effect. VENOM
It's also a more logical order. Front-end to back-end (Vue, Express, Node, Mongo). Putting Vue between Express and Node makes no sense, MEAN only did that so it would sound cool.
this video blew my mind away, I am amazed by the creator's originality, concept, and dialogues. How can a person like that exist? I would pay to have a conversation with you for 10 minutes.
I've been studying this stuff for two years, and this video and your JS framework comparison video are so succinct, they represent months worth of learning compiled into 10 minutes. Amazing. Thank you for this content.
This is by far one of the best videos I have ever seen stating exactly what NOT to do lol. Overengineering is a wormhole I fell into many times in my early days as a developer. Luckily, I just use K.I.S.S. now... Not necessarily a webstack rather than a frame of mind. "Keep It Simple, Supid" :-)
He should really stop the trolling because I cant tell when he is being serious. Why do develooers on youtubers always do this sarcastic humour with most vital pieces of information. I think it comes from a sens needing that vanity and applause that I am smarter than you vibe.
Lol, this is awesome. You literally listed every 'hey let's add every bit of bullshit into this, to make it impossible to debug' new technology that I've ever hated to have to deploy on a site. Literally wish you were in every meeting I've had to sit through with devs who can't figure out the shiny new tech that they wanted to add in so they don't have to write the 12 lines of code that would have saved the 3 hours it took just to get the environment setup, so that they could be confused by the syntax.
The thing is, every hobby project I do is mostly to learn something and display it on my portfolio so I can sell myself for a better price. A lot of companies specifically require certain skills, and that's for a reason.
these types of videos are needed bcz in college we learn just to code , data structures/algos etc but when we enter tech world we cannot figure out whats going on .
I work at one of the big tech companies, so the thing explained, over Engineering a website, is basically the same as what we do in big companies! I love your content and it is amazing.
waterhead as usual, big institutes, government, companies, religions ... there is a too much and it happens even faster since there are CEOs and not entrepreneurs leading companies
"Let's go with AWS to give us the most complicated user experience" I can't 😭🤣🤣🤣 Seriously tho, this is the best teaching strategy. Sass + humour + knowledge
The last part of the video was pure joy, with just Firebase and React I was able to deliver a web and mobile app for a client in no time, for the record before that the tech stack looked pretty similar to the start of the video it was freaking overwhelming, the lesson here is tech stack should be chosen after business needs are well understood
The most humble representation of tech-stack on the internet! Kudos mate. 👏🏽 Companies these days will go out on a limb to adopt some of those unnecessary "latest and greatest" technologies just because the biggies prefer them and then end up with a caricature of a product! 🤦🏽♂️
I'm a Laravel developer and I found for rapid proof of concept production systems, I go with: Laravel, Laravel Livewire, Vite or Webpack, using a LEMP stack on a dedicated bare metal server from OVH (if your budget is severely limited or it's personal then Kimsufi). Gets the job done, cuts development times massively and when it's time deal with scaling, using nginx load balancing and begin splitting the most resource intensive parts of the application into microservices (only split to microservices when it's proved its potential and it becomes a viable option).
This tech-stack concept is applicable for almost any user-end app development. For example, in the games industry, you also have a tech stack (typically all inside your engine).
Thank you for the ending, so many developers I've talked with have this amazing idea of their full tech stack even before they have a single line of html and they will never ship anything since it takes too much time and effort to get all requirements working before you even have a html site up and running -_-
Having done my first website in 1996, it is amazing how history repeats itself. Somebody comes up with an idea for simplification, then it is “contributed” to and eventually dies from obesity. We are doing websites ( sorry, “apps” lol ) the exact same way we were a quarter century ago, just with multiple layer upon layer of sludge on top to wade through. Well, we all have to make a buck.
Isn't it possible to close outside contributions on an open source project ? Just make the changes you think you need & let others worry about their features.
This is brilliant, I never realized how extensive the coding stack I use could be. Let's never list out our stack again and continue pretending it is simple and agile.
You don't have to over engineer your architecture from Day 0, but certain technologies can be adapted to run in different ways. For example a Docker Container can be ran in Elastic Beanstalk (a super simple setup) and then later you can adapt it to a Kubernetes cluster when you need to cross that bridge... And this let's you do it without having to do a massive rewrite. Basically there's a balance you can find between Fireship and crazy over complication from Day 0
You wouldn't believe the catharsis I felt when the music started playing and he started showing how to do this more simply. I felt so relieved knowing that I wasn't stupid for not knowing every single thing in the over-engineered stack.
i have been looking for a breakdown like this for sooo long! As a junior dev I'm so perplexed at how do decide on tech, knowing what a project actually requires etc. this is SO helpful! thanks
I found this very informative! In my personal experience, if there's more than one person involved with the coding, adding Github + GH Actions for the convenience wouldn't be too much of an extra stretch but you're right if it's just you doing your own thing and don't mind manually handling it.
I once got into the stack building blackhole once for a startup. By the time I was out of it the other partners had all left. Very good lesson learned in a very hard way
this is really crazy. I'm about to get hired as a solo developer at a company and i get to decide everything. this video drops at the right time. thank you!
I've never heard of Supabase before and have been spending the past few weeks trying to decide on a database/file-storage service provider to use. This looks like a pretty good option.
If you know dp/ds they switch to asking hypothetical math questions. Once employed your job is making coffee - they really should just check if you make good coffee.
In my opinion a good tech stack at the moment looks like this: Frontend: - Some frontend framework (depending on the app requirements e.g. React, Vue, Angular, Flutter, etc.) Backend: - NodeJS with Typescript - Either sql or nosql database depending on the stored data - Some framework for API stuff (NestJS or Express at least) - Deployed serverless to AWS or Azure
First of all, this is an amazing overview. It's the most confusing thing, even for someone who works in the space. Secondly, this is the most over-complicated tech stack I've ever seen lol. Web development has become Frankenstein's monster.
@@nathanwang3657 its not... unfortunatelly its not... When things scale fast or you get a big project that has been working for 10+ years, all of those becomes a total necesity
This is such an incredibly useful and well-produced video. I can say that about all of your content, but while watching this I am reminded of how terribly grateful I am that this channel exists. Thanks a million!
awesome video, at the start of the video I was: "what's going on"... but later, "sweet and simple", most of the time as developers, engineers, overthink the solution and forgot the focus of the project that we are working and just adding stress to us, at the end of the day we only need the tools that works great for us and then start having fun, without fun a project does not worth it, just have fun! Thanks for this kind of content, have a nice day Jeff!
I’m an embedded software engineer, so C/C++ and Rust are my thing but somehow got roped into redesigning a website at work to dynamically generate the HTML with vanilla JavaScript. During my time doing this I have been looking into the web development side of things. This is ridiculous
I never thought I'd hear Jeff say the word "Joomla" ... Honourable mention... Joomla 4 has just been released and it's ace! It might be "Old school" but it still does a very important job. Big love for Joomla and it's open source ethos and community.
I usually go for: NextJs for Frontend (with ts, tailwindcss etc) FeathersJs (NodeJs framework) - REST, sockets out of the box, building endpoints within seconds MongoDb
Last part is a must watch
9:23
ngl had us all in the first half 😂
one moment of silence for those who skipped before that
I was depressed until the last part
"pick your poison"
So you've chosen vendor lock-in.
Bro you're actually fluent in trash-talk XD
The passive aggressive sarcasm is absolute fire
It's not only fire, it's Fireship
do you know which software editor is he using
@@shubhamkale735 vscode
@@nope3616 I think Shubham Kale was asking about the video-editing software, not the IDE.
(However, if it turns out there is a VS Code extension that can do THAT, please tell me about it, lol.)
@@LinkEX 😂🤣
"Let's go with AWS to give us the most complicated user experience."
I'm glad Fireship thinks so, too. I thought I was just bad at it.
You can have the pleasure of getting kicked off of AWS if they don't like you.
Nope, definitely not just you xD
Oh boy you remind me of myself when i first tried to learn AWS. Long story short i deleted my account and ran directly to firebase.
I like it complicated tho, more flexibility comes with complication.
@@AlOlexy Parler
2yrs later ... This video still makes sense ... Grateful for this...
real
supabase is better than firebase. Only difference now
2 years later, and now I realized he showed Windows95man in a video long before he attended Eurovision
2 years later, supabase instead of firbase
This video is written like an award-winning novel. It's got a compelling storyline complete with the suffocating dread as we get bombarded with a seemingly endless amount of unfamiliar names and colorful logos which then climaxes when we throw it all out and start from scratch ultimately ending with a satisfying conclusion. A perfect 5/7
this is not an award winning novel,
a perfect 5/7 ahahaha
@@hobbes5043 Not *yet* :Ü™
bro 5/7 is not perfect lol
Perhaps I'm still too old school, but back in the days of BDD (behavior-driven development) we had the rule: "Vision first, features second, specs third, tools fourth!" Which means: Only when we all agree on our vision of our project, we can pin down the features we want to implement. Only when we all agree on the features of the project, we can specify *how* we want to implement them. Only when we all agree on the specifications (specs) we can look for the best technologies to get the job done. I still believe in this approach. Can't help it.
Sounds like waterfall design
@Jordao Simplício your English is far better then any other non-english language i know. If you applied for UK citizenship, they'd have no idea you weren't born there.
@@56independent time to go to the UK then I guess
I'm not a developer but I agree 1,000 percent
This sounds like the dream. In my experience, you start with a vision, use the tried and true toolset to begin working on implementation and requirements at the same time, get most of the way through a project, have multiple features added and removed, then release something before it's done and make the spec match the implementation afterwards.
Stacks was made to lessen the code, now configuring a stack is more complicated than writing the code
we need a new stack to solve the current problem of stacks. oh wait..
@@frankhuurman3955 JaStackScript ?! 🤔
@@frankhuurman3955 Stack-a-Script 9000, chose your preffered stack, write what you want in plain english, and Stack-a-Script 9000 will package that shit for you!*
*The license is only 10 million per month, or 100 million per year!
@@Saurus990 so for 10 million per month I still have to choose my own tech stack? sign me up! xD what a bargain
@@Saurus990 Actually, a programming language that uses natural language does exist. The funny part is: programming with that is actually harder, more complicated and takes much more space. Where you normally would write "let var ++; " You now need to write "Take the variable var and increment by one". If i remember correctly, it was a language from the 90s, but I forgot the name. And, big surprise, every developer that tested that language, hated it.
But maybe that was not exactly what you had in mind.
Boss: "We want to build a todo app."
Dev: "Okay, I'll just need these 18 frameworks."
@@Lucas_Simoni That's too soon, we gotta delay the release.
@@Lucas_Simoni AD as in "After Development"?
@@aebisdecunter after death of christ
@@trevidia after death of the world
@@abdullahraghib4008 after death of developer
And that ladies and gentlemen, are the requirements for a junior developer.
LOLOL FACX
entry-level developer*
After 3 years of working in company, then you would maybe become junior developer
@Solve Everything lmao true that
🤣
@Solve Everything are you guys all being serious i cant tell. Maybe its different in other countries but i got work as a Junior Developer in the uk right after graduating without much difficulty. I dont have an exceptional cv or anything either. Maybe its harder on other countries
This guy is a genius.
i thought about leaving the video several times because it was becoming too complicated just to memorize the concepts.
The last part is perfect.
Bro, please never stop doing these videos. They have literally gotten me through college, and most of my work experience come from videos just like yours.
I never comment on videos, but you sir deserve some recognition, not only have I learned with you, but I also just straight up love binging your videos!
As a developer, this video has me laughing and crying at the same time until the last section where everything got simplified and half the team lost their jobs, haha.
It depends.
If your team is more than 1 person, and the company is comprised of more than 1 team, and you're working on more than a single application in an ecosystem that will be used by more than 1000 people, dealing with heavily audited, secure, scalable system which will host and process critical information (banking/national security/personal/ health information/logistics), you will all benefit from T H I C C, battle proven stack in the long run.
hhh same here
@@gantzerek THICC being?
@@johndawson6057 thicc as in thick, fat
Stop commenting the same comment on every single video.
I've lived my professional life from the beginning to now dumping unfinished side projects left and right, but it hasn't clicked for me until I read the title of this video why do I tend to do that, it's over engineering and overall planning. A todo app build on a 10 layer stack will not change the world, I should plan just the right amount and save more energy for actually realizing the project and completing it.
I think the modern tech industry really has a problem with overengineering in general. It's like if you really ask them why they chose to use a certain uneccesary framework, most of them would say "Because that other company uses it" or "I have to to be a good developer" if they're honest. Like do you really need a complicated state management framework just to hide and show certain components? No, you absolutely do not.
@@SansidarUploads > do you really need a complicated state management framework just to hide and show certain components
If hiding the component is based on some non-trivial user interactions and state coordination, then yes.
Hiding a component could be as simple as a toggle-which wouldn't require a full-fledged state management library-to a complex decision-tree based on authentication, authorization, feature flags and other metrics.
Trying to model that with internal state will make it a lot more complicated and harder to maintain, than using a well-defined finite state machine, for example. And that's not to mention handling any side-effects such as I/O and networking with graceful error handling, fallbacks and other edge-cases, so your app doesn't break underneath the user's feet.
When you build a side-project or proof-of-concept, these things don't matter as much and you can get away with not caring about these edge cases. But for full-fledged products with multiple paying users this is not something you can just hand-wave away without creating a terrible experience for the user.
That's what bootstrapping is. Start ups need a proof of concept before you invest too much time into it. Shortcuts like css frameworks to firebase/cloud functions are great for that. Honestly you just need to match the stack with the complexity of the project, i love typescript, but for a super small app im probably just wasting time using it. I think overengineering is a problem, but so is under engineering too. Also these services will add up, especially when the app starts to scale. It's probably cheaper to have your own infrastructure once you get to a certain point.
This is why I tent to go through the whole software development lifecycle for my side projects.
First define the problem statement.
Then write a short requirements document for the project.
Then architect the major parts of the code.
Once that’s done, coding should largely come easily, just stick with a blueprint you have, you can always add more it after this first draft is done.
Omg, dude, you're a genius. Every video you make just proves how well you understand those stuff...No one can explain those topics better than you.
"If you don't build a good experience at first, you'll never get to the point where you'll need something like Kubernetes"
I love this quote
or stripe
This is fucking brilliant. “Let’s go with AWS because we want an overly complicated interface” lmao
Tbh, I thought the same before starting to use aws. But it gives a lot of control over our infrastructure. For example, security groups are godsent. Imagine configuring iptables or ufw on all the servers, and only allowing ssh from a particular machine which don't even have static ip. Idk why people find aws complicated.
@@moxy-bison It's a complicated experience if your development team consists of developers who just want to write code and deploy it somewhere that works. If you're a network engineer, devops manager or something similar, you're like a kid in a sweet shop.
aws has very simple user interface.
@@Oliver_Saer I am a developer and is handling deployments because there wasn't anyone else in the team to do it. I started off with digital ocean and it was simple enough, but as traffic increased, it was really hard to manage. Aws on the other hand is built specifically for these scenarios. Deployment and load balancing is much easier to do on aws.
For smaller websites, it's easier to go with a vps or even netlify. But for a medium size project (which it is most of the time), aws is a blessing. And it's not that complicated to learn the basics.
@akashic seer nope. For basic security on digital ocean droplets, we have to set iptable rules manually (ufw if you want a simpler approach), but on aws, it's much easier to do it using security groups 😂😂
“More code lead to a better quality app” the humor never stops 😂 also i liked the bigger video. 100s is too little
Bigger video lead to a better quality
@@korzinko but why say many word when few word do trick
@@theclockworkcadaver7025 Because as "More code lead to a better quality app", longer video leads to a better quality.
😁
Same
lol he doesn't even need 10s. dude converted a 5 page machine learning description into one sentence: "Machine learning. Teach a computer to do something without explicitly programming it to"
Jeff, in under 12 minutes, you’ve eliminated 200 thousand Million BILLION tech careers…. good going, dear 😂👍 … all the best to you, Cheers!
started watching.... **anxiety intensifies**
Whose?
The 'plot-twist' at the end saved me from the anxiety that started to rise from all the necessary pieces to build a web app.
Awesome video, as always.
thank u!!! im graduating with a cs degree and i cant believe nobody has ever explained what each of these stack does. this is the first video ive seen that actually differentiates them!!!
“You’ll never get to the point where you actually need Kubernetes” 😂😂😂 brilliant as usual
@@mountakhabi seriously speaking, knowing that I don’t know much about Kubernetes, I think AWS ECS is enough for that.
@@mountakhabi yeah, you're completely wrong rofl
@@mountakhabi docekr compose will not take care of for example load balancing
Just get a managed Kubernetes and you are up and running in a few hours.
If you're a devops engineer... Kubernetes is a must have! As that will come in handy when they ask you to justify your employment
Even though I do this type of stuff all day everyday for like 10 years now. This video made me realize how stupidly insane all these tools and technologies have gotten.
stupidly insane
Over-engineering a website? Write the frontend in WASM without using the DOM, the backend in C because performance, duh, and create your own shitty database because you don't like any.
or dont use any database at all and save everything in a textfile
And encrypt everything with your own cypher)
Tired of big bad company ripping you off? Build a shitty datacenter and host your own servers instead
@@necaton I just send random guids to the user instead of the data they requested and hope they figure it out
The C compiler writes worse assembly than the best humans, so rather just code your server in pure assembly.
Also, same goes for wasm compiler, so just write wasm bytecode by hand. (If you want good perf)
Before this video, I was watching all the videos for every front and back-end tech stack, and it was making me sleepy. Thank you, fireship for this video and for rejuvenating me.
I usually don't like to watch much web dev stuff on RUclips because i find its often filled with way too much hype and over engineering, basically everything you demonstrated in this video
Your videos are a breath of fresh air!
Man, the "pick your poison" slide killed me 😂
You really never disappoint on quality
Phenomenal content as usual!
And for all you young punks out there, the OG stack LAMP is STILL runnin' the block!
I read that as ruining
You are a genuine out-of-the-box thinker. Your videos are short yet densely packed with information, both technically and philosophically. Fireship is like a breath of fresh air. Awesome!
No code is the future.
@光宗耀祖啊
No code is where you drag and drop to create an app or a website.
Today, coders copy-paste 99% of their codes.
@@UnknownUser.ar1 so, optimisation is nothing to you?
@@maximusdecimus2142 nor is it to most "programmers" touting react in their "tech stack" (cope stack). Tbh no code could be more efficient than most of the bullshit your average web dev writes for the vast majority of cases.
@@sussybawka9999 no code? how would that even work? having some block ui drag and drop shit that compiles straight into binary? because otherwise, theres gonna be some code in the middle of that
Manual deployment may work for small applications built by just a handful of engineers. But as soon as you have multiple teams building upon code that was written by other people, and all of it must play nicely together, and you have an active user base that you dont want to risk disrupting with outages, the packaging and deployment processes get more complex and more critical. And frankly, they become a lot more of a pain in the ass, and can require more developer time being spent going through the motions. And that time is expensive.
As someone with non IT background and into business analyst, it gives a very good bird's-eye view and context to the whole orchestral
"It's impossible to make CSS look good on its own, so we're going to bring in Tailwind"
i'm crying
I actually really love tailwind...
Don't cry! 🫂
@@tarangpatil6952 but that html tho....
Tailwind seems like a good option for developers who don't write CSS. For me it seems like a bad pattern unless used for smaller projects.
@@msgesus4518 that's literally the exact same line we've been using with bootstrap for a decade, but people act like this is different
This is a great video. I reached a point where i was starting to feel out of my depth with with inane amount of information i was swimming in, but it was great because it felt like you were illustrating what its like to be an overwhelmed developer, not just reminding me about how little i know.
I just moved to a new company since a month ago, and most of these are the ones I’m about to delve into. To give you credit also, I found myself answering the questions during my technical interview quite well all thanks to your videos. So thank you very much!
Nice, good luck!
As a coder for 20+ years this hits hard 😅I hurts to know how many of these frameworks I've used and still use in the tech stacks I work with daily.
Phoenix is the most underated tech stack of 2022. server side rendering, websockets, pubsub, server rendered components all out of the box
The stack might be petite fire but this video is mega fire! 🔥
So you are tech guy?
@@sujittamang4734 lol Do you have any idea what did you saw in this video and what are you saying? amateurs
@@sujittamang4734 No, this absolutely IS engineering. Ask me how many convolutional neural networks I had to write since I joined the workforce. You need to learn to separate software engineering and computer science as concepts.
Yo kun line ma aaipugnu vo bro? 😂
@@CodingLabs g
mevn can be rearranged to venm and all of a sudden it's the coolest stack acronym. throw in something that starts with an O and you have the full effect. VENOM
Not a tool necessarily but object oriented?
Or Venmo lol
It's also a more logical order. Front-end to back-end (Vue, Express, Node, Mongo). Putting Vue between Express and Node makes no sense, MEAN only did that so it would sound cool.
@@JamesLuterek exactly!
How about we use Postgres, React, and Node instead?
"now it's time to switch gears to the hard part, the back end" ouch, my poor fragile front end heart
this video blew my mind away, I am amazed by the creator's originality, concept, and dialogues. How can a person like that exist? I would pay to have a conversation with you for 10 minutes.
This video is my motivation. Everytime I feel overwhelmed by tech I just watch it to feel better.
I've been studying this stuff for two years, and this video and your JS framework comparison video are so succinct, they represent months worth of learning compiled into 10 minutes. Amazing. Thank you for this content.
cannot agree more
This is by far one of the best videos I have ever seen stating exactly what NOT to do lol. Overengineering is a wormhole I fell into many times in my early days as a developer. Luckily, I just use K.I.S.S. now... Not necessarily a webstack rather than a frame of mind. "Keep It Simple, Supid" :-)
S.Y.L.A "See You Later, Alligator"
@@selehadinhabesi3855 F.A.R.T "fart"
Did you typo 'Stupid' on purpose? :D
@@soulextracter I love your username.
@@grigorecosmin 😂
"AWS for the most complicated user experience' LOL
So true lol
jesus, that was the most true sentence I've heard in a while
You can make a whole damn course for just navigating AWS
My ideal tech stack is "Burning Butterfly".
- Dart w/ flutter for Frontend
- Firebase for storage
- Spring for backend
No video has ever discouraged me more about writing an application 😂
This video is the perfect mix of good information and top notch trolling at the same time. Love it.
Loved your frontend course on freeCodeCamp man!
He should really stop the trolling because I cant tell when he is being serious.
Why do develooers on youtubers always do this sarcastic humour with most vital pieces of information.
I think it comes from a sens needing that vanity and applause that I am smarter than you vibe.
@@Turnpost2552 lol
@@Turnpost2552 That kind of sounds like a "you" problem, bud. His trolling is pretty evident.
9:00 AWS deep learning dk detection capabilities. Awesome
Nice one Jeff
lmao it was so funny to me
Alliteration was perfect.
Me for 9 mins: "Damn, I must be trash."
Also me: "THEEEEERRRREEEEE you go"
This is the third time RUclips recommended to me this video. I always leave at 2:49 to visit that website and I never came back.
Lol, this is awesome. You literally listed every 'hey let's add every bit of bullshit into this, to make it impossible to debug' new technology that I've ever hated to have to deploy on a site. Literally wish you were in every meeting I've had to sit through with devs who can't figure out the shiny new tech that they wanted to add in so they don't have to write the 12 lines of code that would have saved the 3 hours it took just to get the environment setup, so that they could be confused by the syntax.
The thing is, every hobby project I do is mostly to learn something and display it on my portfolio so I can sell myself for a better price. A lot of companies specifically require certain skills, and that's for a reason.
these types of videos are needed bcz in college we learn just to code , data structures/algos etc but when we enter tech world we cannot figure out whats going on .
I work at one of the big tech companies, so the thing explained, over Engineering a website, is basically the same as what we do in big companies! I love your content and it is amazing.
waterhead as usual, big institutes, government, companies, religions ... there is a too much and it happens even faster since there are CEOs and not entrepreneurs leading companies
i mean once you're in big tech, it's no longer overengineering, it's just engineering lol
@@coscorrodrift Yeah you are right...
I have to say, one of the most useful videos I've ever watched 🔥. As a newbie I feel a lot less overwhelmed 😀
A wise man once said that if your API is slow due to slow database queries, you don't need a Redis cache, you need someone to fix your crappy queries.
Imagine being required to know all this to start an entry level position
Exactly!
Well, that's actually really not far from reality.
That's not an entry level position, that's an entire IT/Software Dev department
you dont need to imagine... this is sad
@@OzzyTheGiant no it's JUNIOR requirements in some companies. I think if somebody knows everything mentioned there he must be invaluable
"Let's go with AWS to give us the most complicated user experience"
I can't 😭🤣🤣🤣
Seriously tho, this is the best teaching strategy. Sass + humour + knowledge
Nice one jeff, sometimes we do forget how much overhead we add with all these stacks! When all we need are some html pages with info... cheers
All that tech bubble money needs to go anywhere
I'm a beginner at coding, and this REALLY opened my eyes. Thank you!
same here 🙏🏼
The last part of the video was pure joy, with just Firebase and React I was able to deliver a web and mobile app for a client in no time, for the record before that the tech stack looked pretty similar to the start of the video it was freaking overwhelming, the lesson here is tech stack should be chosen after business needs are well understood
This is the most concise explanation of tech stack ever.
The most humble representation of tech-stack on the internet! Kudos mate. 👏🏽
Companies these days will go out on a limb to adopt some of those unnecessary "latest and greatest" technologies just because the biggies prefer them and then end up with a caricature of a product! 🤦🏽♂️
LOVE this video! I think some programmers and companies forget the end goal is just to solve a problem. No need for the over engineering
I'm a Laravel developer and I found for rapid proof of concept production systems, I go with: Laravel, Laravel Livewire, Vite or Webpack, using a LEMP stack on a dedicated bare metal server from OVH (if your budget is severely limited or it's personal then Kimsufi). Gets the job done, cuts development times massively and when it's time deal with scaling, using nginx load balancing and begin splitting the most resource intensive parts of the application into microservices (only split to microservices when it's proved its potential and it becomes a viable option).
I love that his humor is so subtle. Like he says the thing and it takes you a second to realize he was trolling, and yet, it' also always true
nothing like learning in 10 minutes more content than an entire university semester
If you are going to go to bad universities, maybe don't do it in the first place.
@@bryangomez5951 I'm just doing for the degree so I can start a masters' in another country
@@bryangomez5951 it's a joke bruv don't take things too literally
@@bryangomez5951 you guys been learning tech things in university ?
nothing like thinking that the absolute first layer of the surface of anything is "learning"
This tech-stack concept is applicable for almost any user-end app development. For example, in the games industry, you also have a tech stack (typically all inside your engine).
Thank you for the ending, so many developers I've talked with have this amazing idea of their full tech stack even before they have a single line of html and they will never ship anything since it takes too much time and effort to get all requirements working before you even have a html site up and running -_-
So what the correct approach?
The amount of knowledge I have received from this video is blowing my mind.
You are genius, 10 min is enough to become senior developer.
please put english auto generated subtitles, I need that as a deaf software engineer ❤️ thank you so much for all the great videos you’ve made since !
may Allah bless you♥
"Why he doesn't use firebase, why?!"
5 minute later...
"Oh, that's why"
Having done my first website in 1996, it is amazing how history repeats itself. Somebody comes up with an idea for simplification, then it is “contributed” to and eventually dies from obesity. We are doing websites ( sorry, “apps” lol ) the exact same way we were a quarter century ago, just with multiple layer upon layer of sludge on top to wade through. Well, we all have to make a buck.
Isn't it possible to close outside contributions on an open source project ?
Just make the changes you think you need & let others worry about their features.
This is brilliant, I never realized how extensive the coding stack I use could be. Let's never list out our stack again and continue pretending it is simple and agile.
This video is my comfort. I go back to it every time I learn something new.
You don't have to over engineer your architecture from Day 0, but certain technologies can be adapted to run in different ways. For example a Docker Container can be ran in Elastic Beanstalk (a super simple setup) and then later you can adapt it to a Kubernetes cluster when you need to cross that bridge... And this let's you do it without having to do a massive rewrite. Basically there's a balance you can find between Fireship and crazy over complication from Day 0
You wouldn't believe the catharsis I felt when the music started playing and he started showing how to do this more simply. I felt so relieved knowing that I wasn't stupid for not knowing every single thing in the over-engineered stack.
i have been looking for a breakdown like this for sooo long! As a junior dev I'm so perplexed at how do decide on tech, knowing what a project actually requires etc. this is SO helpful! thanks
I found this very informative! In my personal experience, if there's more than one person involved with the coding, adding Github + GH Actions for the convenience wouldn't be too much of an extra stretch but you're right if it's just you doing your own thing and don't mind manually handling it.
My favourite tech stack is a SQL Cloud Server+ Outsystems. Pure love/fun
I once got into the stack building blackhole once for a startup. By the time I was out of it the other partners had all left. Very good lesson learned in a very hard way
so if everybody was out already, why did you stayed there until the end? contract, vocation or what?
@@juansalomon1609 Never quit, Never surrender
this is really crazy. I'm about to get hired as a solo developer at a company and i get to decide everything. this video drops at the right time. thank you!
For the love of gods, don't use graphql
Title just made me smile 🤩
Tech stack:
What we use:
Angular
Firebase
What I'd rather be using:
NextJs
Supabase
😂😉🙃
Next + Supabase is sooooo good
I've never heard of Supabase before and have been spending the past few weeks trying to decide on a database/file-storage service provider to use.
This looks like a pretty good option.
Phew. I'm so glad you threw away that whole crazy tech stack. Even just seeing that was making me go insane.
First introduce popular tech landscape, then simplify it down to what should be focused by the beginners. Great content! 👍
Even if a person knows all these stacks interviewer won't ask these instead they would ask design patterns/principle or data structures .
leetcode ftw
If you know dp/ds they switch to asking hypothetical math questions. Once employed your job is making coffee - they really should just check if you make good coffee.
@@michaelnurse9089 Making coffee 😅
@@michaelnurse9089 I've heard this a lot as a beginner and I'm worried i have yo use a lot of time leetcoding
"Imagine we're building the next myspace."-Fireship, 2021
Literally, this video is the needle that I tried to find in the haystack. Thanks so much Jeff. Got a clear picture.
In my opinion a good tech stack at the moment looks like this:
Frontend:
- Some frontend framework (depending on the app requirements e.g. React, Vue, Angular, Flutter, etc.)
Backend:
- NodeJS with Typescript
- Either sql or nosql database depending on the stored data
- Some framework for API stuff (NestJS or Express at least)
- Deployed serverless to AWS or Azure
I almost gave up on the way of learning programming. In the end it gave me a little bit of hope again
First of all, this is an amazing overview. It's the most confusing thing, even for someone who works in the space.
Secondly, this is the most over-complicated tech stack I've ever seen lol. Web development has become Frankenstein's monster.
Is kind of normal for many ppl
@@latestcoder this. it's kind of standard
What a lot of unnecessary complexity.
@@nathanwang3657 its not... unfortunatelly its not... When things scale fast or you get a big project that has been working for 10+ years, all of those becomes a total necesity
@@LucyPLM Yeah, but you can add a lot of stuff at a later time when the project demands them.
This is such an incredibly useful and well-produced video. I can say that about all of your content, but while watching this I am reminded of how terribly grateful I am that this channel exists. Thanks a million!
awesome video, at the start of the video I was: "what's going on"... but later, "sweet and simple", most of the time as developers, engineers, overthink the solution and forgot the focus of the project that we are working and just adding stress to us, at the end of the day we only need the tools that works great for us and then start having fun, without fun a project does not worth it, just have fun! Thanks for this kind of content, have a nice day Jeff!
this channel is slowly becoming my fav tech channel out here.🤣🤣
I’m an embedded software engineer, so C/C++ and Rust are my thing but somehow got roped into redesigning a website at work to dynamically generate the HTML with vanilla JavaScript. During my time doing this I have been looking into the web development side of things. This is ridiculous
Axum + Sailfish + Vanilla javascript and css on each page is nice
Embedded Systems Programmers right some of the most grotesque code I have ever seen!
@@chisangamumba2961 That might be so but that’s what runs your lovely OS and most other critical systems.
@@chisangamumba2961They code practically at the bare metal level, it's gonna look ugly lol, no way around it
I never thought I'd hear Jeff say the word "Joomla" ...
Honourable mention... Joomla 4 has just been released and it's ace! It might be "Old school" but it still does a very important job. Big love for Joomla and it's open source ethos and community.
I cry every time someone says "Wordpress" in a sprint planning session.
9:20 I've seen this stack before, it's on skills required section of Full stack role 😂
This is the video I show to everyone who asks me why I'm a Frontend Developer, not a Full stack developer
This is the best promotion of a course I have ever seen. Around the 7min mark I was losing it
I usually go for:
NextJs for Frontend (with ts, tailwindcss etc)
FeathersJs (NodeJs framework) - REST, sockets out of the box, building endpoints within seconds
MongoDb
Another new and shinny thing with so much hype! 🤦
Next + TS is solid
I’m almost the same but I use express