Learn to code with an unfair advantage.

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
let's start from the beginning hello world every programming tutorial in the world starts with hello world so let's assume Java is your first language and let's take a look at hello world before I do though in the last year I started my own company went through y combinator raised $4.2 million hired two to three engineers and even a 17-year-old coding genius yeah I actually hired a 17-year-old kid over a senior engineer at Facebook but we'll get to that so back to Java let me open my favorite IDE notepad and this is your hello world function I actually kind of wish this was a joke but this is actually hello world in Java it says public keyword twice public twice for contrast this is what it is in Python but alast back to Java so wait hold up what is this system.out.print so that tells me that there's a some package that I know nothing about called system I mean how would I know about that so out is a subcomponent of that package and I mean what else is a subcomponent what am I missing and print is a subcomponent of that subcomponent like are there other forms of out am I supposed to just know that you might be asking yourself is is this a coding principle or is this just something I have to know for Java so taking a look at Python and other languages it's clear that this is just something you have to know for Java now remember this example cuz I'm going to bring it up in a minute in my last video I made a distinction between coding and programming I said coding is essentially solving math problems while programming is using coding to solve real world problems I want to revisit that and add another dimension when we're programming we use Frameworks around each language so for JavaScript we might use react or node.js depending on what we want to do but in this day in there's what I like to call framework fever which is detrimental to people's motivation because Frameworks are what I like to call a philosophy to explain what a coding philosophy is let me give you an example let's look at physics let's say I taught you everything about einsteinian physics that's pretty much everything that falls under the umbrella of Einstein's work Newtonian physics is just a subset of einsteinian physics now with just that knowledge I could ask you to solve a real problem and you'd be able to find the answer so if I said what's the velocity of the Earth you'd be able to take a few measurements and you'd be able to use an equation and you could find out what the velocity of the Earth is now let's say I switch back to computer science and this time I taught you data structures algorithms even JavaScript let's say it even taught you how code is compiled into binary and then is run on a machine basically you know how computers run and you know how to write code to make them do whatever you want now given all that knowledge I ask you to make a react application you couldn't just do it you couldn't just start with your fundamentals and then build a react app because react is in some way a philosophy to figure out how to build something in that framework you'd have to read their documentation which is in some way their Manifesto of how they believe that applications should be built so it's not inherent to computer science at all it's essentially a strong opinion with some tools built around that opinion so jumping back to the Java example how should I know that the print function is in system.out.print the answer is you shouldn't it just made sense to the people that were building the language at the time so because Frameworks are just opinions it takes a little bit of memorization and a lot of repeated use to understand them and get good with them so this brings me me to my first major point which is you're not Aristotle so don't become a philosopher every year there's a huge amount of new tools and Frameworks to learn but you should know when you're studying those you're not really studying coding you're not studying the part of the problem that's math you're not studying the part of the problem that's einsteinian physics you're studying someone else's opinion someone else's Manifesto now don't get me wrong there is coding too but you're studying a whole framework that's someone else's mental model of how things should be done now this puts you in a weird place where you're constantly learning where the print function is which is incredibly demotivating I I've seen it firsthand basically instead of learning how to build a kick-ass application in one framework you're learning how to print hello world in a million Frameworks which is just like not useful for anything now as a disclaimer I'm obviously exaggerating about finding the print function obviously that's easy but you get what I mean building a real application that solves a real problem and printing hello world are just two completely different things so you will need to learn a few Frameworks and later in this video I'm going to share the the ones you should learn now my second major point is if you can understand the thing before the thing you'll understand the thing I couldn't have said it any clearer than that but in all seriousness when it comes to these philosophies or Frameworks there's usually a pretty good reason why they were created in the first place if you jump to the bleeding edge of a technology and all of the Frameworks you're not going to understand the motivation behind why you need to use each of them so let's look an example react is the gold standard of front-end Frameworks but if you use Bare Bones to build a react application you quickly run into this problem called prop drilling now let's say I have a bank app and there are two components that need to display my bank account balance so let's say one place is at the top of the screen and another place is buried somewhere in the middle of the page the two components that want to display my account info are called component a and component F component a displays the bank balance but also passes it down to component B which passes it down to component C which goes on and on and on until it finally reaches component F what a waste we had to go through five components and all they did was forward it to the next component If you experience this pain yourself you'll think wow wouldn't it be great if there was just one location where this data was stored and then component a and component F just both read from that location well that exists that single place where the data is stored is called Global State and the framework is called Redux you can use it with react before when I tried learning Redux on my own I thought it was the most ridiculous thing ever I thought this is so much additional BS for no reason but After experiencing the problem it made so much more sense so if you can understand the thing before the thing you'll understand the thing now my third major point is think of the adoption curve now people often ask me should I learn rust or something similar there's no shortage of tech YouTubers that will line up to tell you that rust is the best language and you have to be learning it right now but the reason they do that is because they really like the philosophy of the programming language I mean which is fair rust is really powerful but should you believe them should you actually learn what they tell you to so the question is should you learn rust well to answer that question you have to take a step back today it's rust but tomorrow it's going to be some other programming language so let me give you a definitive guide on should you learn a new framework or language spoiler alert the answer is probably but maybe not right now so let's break this down and in particular they think knowing the latest framework or latest language will give them an unfair Advantage it'll set them apart from the competition here's the thing you're wasting your time learning a new language or framework that came out last week because companies that are hiring built their Tech Stacks 5 years ago it took those companies years to raise money get customers and now that they're finally starting to scale up well now they're hiring if you don't believe me let's take the most extreme example there's a programming language called Cobalt which came out in 1959 1959 that is 10 years before the USA landed on the moon but believe it or not it's still in use today and not just a little bit either the majority of banks still use it to process credit card transactions and Airlines use it for Ticket booking systems and of course cobal is prone to bugs which is why my credit card says I spent $10,000 on FIFA Ultimate pack but I swear it was only like half that but in all seriousness I mean they're not moving away from Cobalt just because some tech influencer said that rust is better and easier to maintain it took them decades to build these systems and moving off of it is going to be a multi-year Endeavor I mean they should do it obviously but they're probably not going to do it anytime soon so what would I call an institution that still uses cobal well there's a technical name for it it's called a lagard so here is the adoption curve I know you saw this once in grade 12 and haven't thought about it since so s to throw it on you unannounced but here's what it looks like it's broken into four sections the innovators the early adopters the Early majority the late majority and the laggards and for you really smart people out there you know well that's five sections so the laggards have a long tail which means they extend indefinitely into the future this is why cobal some people still use it it it has an adoption curb itself let's take a look at the adoption curve in the case of react react is the gold standard of front end Frameworks but it hasn't always been that way back in 2013 react was initi initially met with some skepticism but it was created by Facebook and a small subset of the developer Community saw its potential and started experimenting with it skip ahead to 2015 and react started gaining some traction courses tutorials communities all start popping up and companies begin using it for a bunch of their new projects then we skip ahead to 2017 react's ecosystem is beginning to mature with tools like Redux coming out major companies and platforms begin transitioning to react and job listings start preferring react skills now it's 2019 with the late majority and companies that were initially really skeptical begin to adopt react to became the number one programming framework for front end what's interesting is every front-end framework and and language doesn't make it through this entire life cycle they usually die somewhere in the beginning in the case of rust I mean it's definitely going to go through this full curve at some point but I can't accurately say where it is right now why will one of the major use cases of rust is to replace C and C++ but the likelihood of Microsoft rewriting windows and rust is practically zero Windows is Believe It or Not the largest code base in the world so that was a lot of words and no real conclusion let me give you one and it's dead simple if it's your goal to get hired you should learn the Frameworks and languages that people are currently hiring for and will be hiring for in a few years to come so this guy on Reddit scraped 14 million job postings over 17 months and came up with the most in demand languages right now so taking a look at this notice typescript and python are at the top which is why I recommended them in my last video now I know Java c c C++ but I don't know Ruby or PHP even though PHP is pretty popular I think all the companies that are still using it are laggards I think it's decreasing every year in popularity but I don't know Ruby so in my free time I might actually spend some Cycles learning Ruby now I was going to call out if I was wrong in my last video at any point and there is something I do want to call out in this Frame I mentioned how you should look into expressjs and reactjs while that's technically not bad advice it's actually good advice it's incomplete advice so let me add to it remember when I said you have to learn the thing before the thing to learn the thing so in this case you do need to learn react and you do need to learn Express but as you use them you'll realize they're kind of annoying to use to get react to do anything pretty basic you're going to actually need to install a bunch of libraries like if you want to do authentication you're going to have to add all of that for Express you're going to have to run a dedicated node server to respond to all the requests which is pretty heavy-handed now these problems build up into a framework called nextjs next is basically your server and your client wrapped into one now the reason I will recommend it and I don't think it's framework fever is because you're still using react although it's a variant that renders stuff on the server which is probably not important for you to know right now and the back end is essentially serverless function so it's not as heavy-handed as a full node project now if that didn't make any sense to you don't worry it doesn't have to go ahead learn react learn Express and then come back here when you're feeling a little more confident with those now at the beginning of the video I said I would explain why I hired a 17-year-old coding genius over a senior engineer at Facebook let me throw my hands up and say in all honesty these two rumes were not back toback over the last year I received over 300 resumés at different points in our startups Journey one time we got a senior Engineers one time we got a 17-year-old kids I happen to take the 17-year-old kid because he was applying for an internship not a full-time role and Senior engineers at Facebook are very expensive but nonetheless it's still really impressive that a 17-year-old kid can stand out in a pile of over 300 well-qualified applicants so let's take a look at why all came down to one major thing he made an app that had over 15,000 downloads now I can already see the comment section on this video it's going to be like oh Jason not everyone can build an app that has 15,000 downloads how is this even helpful to me yeah that is crazy I mean he's a 17-year-old kid I wouldn't have hired him if he hadn't had something crazy on his resume if it was just a weather app anyone can do a weather app but it's important to note he wasn't a coding genius when he first made this app he actually made it when he was 15 years old and it eventually over years got thousands of downloads so let me explain to you how he created the app in my last video I said you should focus on solving real world problems when you program and this is exactly what he did even though he didn't know app development he taught it to himself and built some really clunky version of an app that had like three buttons on it but it solved a problem he had in his life now for any problem that you have I can almost guarantee that at least 15,000 people also have that problem world is a big place now I'm not saying that your app will blow up or that it's some prerequisite for getting a job these days I'm not saying that at all but I am reiterating that previous advice that if you just write code that solves real problems in your life something good is eventually going to happen from it so let's think back to Sasha what did he do right that got my attention as a 17-year-old kid well he built a project that had a real impact in the world and was used by 15,000 people that's really impressive I noticed that people have a propensity to spend all of their time on building a portfolio project website instead of building a cool product and aort portfolio website it's just a static website it's not going to do any web requests it's not anything very unique and a lot of you want to be like backend devs anyway like let's be real you're not a designer so why are you spending all of your time trying to center a div and make a page look perfect when you could be spending your time building on an actual product that solves a real problem that's going to make you look unique that's going to make people excited to hire you right so I took this off of your hands I built a template in um Dragon drop website hostinger that you can just come in and modify for your own purposes and get back to building projects that have like real impact not just a portfolio project website so here's what it looks like you come to the page got a little Json there people ask me like where did I get my headshot photos done um this is actually AI generated like I've never had a good photo taken of me in my entire life scroll down um and it shows my work and this is a link this is an iframe to an actual website this to my company's website I want people to see this I want people to see the projects I'm building I want people to see the companies I'm building I don't care about spending all my time optimizing centering a div for a portfolio website if you have free time to do it great if you don't then use this I talk about my time at Microsoft I talk about the different internships I did at Blackberry toast Yahoo all of those other startups then I scroll down more I've got an About Me section that you can use to plug in a little bit more personality you know describe your life scroll down more I've got suffering from skill issues and then scroll down to the end and of course I have a contact form come to hostinger you can grab this deal it's a really cheap service so the business option it's got really good performance it's got a free SSL CT it's got a free email so that you can email from your own custom domain I recommend using a com instead of like a me or AIO and just add that to cart pick whatever time frame you need I'm just going to go 48 months I've actually already done this have a coupon code and then use the code Json 10 and there you go follow these quick steps to get access to the exclusive template thank you again to hostinger for making this possible again don't spend all your time trying to center a div for a portfolio website that doesn't use web requests that's not even going to teach you anything when you could be making a real impact in the world and setting yourself apart from other people that's what Sasha did do that now remember when it comes to learning new skills Henry Ford once said whether you think you can or you can't you're right to watch part one click the video here or here I think it there's a mirroring thing I'm not sure it's one of these
Info
Channel: Jason Goodison
Views: 164,096
Rating: undefined out of 5
Keywords:
Id: SXjIYRih13I
Channel Id: undefined
Length: 15min 5sec (905 seconds)
Published: Sun Jan 14 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.