Everything I taught my devs to become AI proof (how you can steal these too)

Phil Choi teaches junior developers the fundamentals that AI won't replace: CRUD apps, backend APIs, authentication with JWT and OAuth, React state management, and deployment pipelines. He argues that understanding these core skills keeps you valuable even as no-code and AI tools proliferate.
What's up, guys?
It's February 19th, it's almost noon.
Have had a little break today, so.
I got away from the house, coding in a new environment, you know, over here with my homie, here's Jackie.
All right.
And it's kind of camera shy, but I'm working on some shit right now. Got the zoom open right here and working on some API stuff. I do have a bug in the code.
I looked it up, but there's not.
Too many solutions for it right now. And I'm making some kind of used.
Server health check right here so I.
Can know if the server's on. So we do have to set up some zero downtime deployment schedule. But I mean, right now I just, that's what I need to do. So just getting it done. And I'll see you guys in the next one.
And check out this beautiful view. Oh, Cody took those. In this video, I'm going to share with you all the essential things you need to know to become a Full Stack junior developer. So what are CRUD apps and why they matter? CRUD apps stand for Create, read, update and Delete. They're basically almost every app on the Internet because you're actually creating or post to the database or to the server. To post the database, read or get from the database, update something or delete something, you need to create crudouts because then you'll really understand how how everything works on the Internet. You're just working on a really big one. Database, you just, you know, and you need to save data to share that data. And the Internet is basically just communication of information, right? You know, Facebook, it saves data and shows it somewhere else, right? LinkedIn, it saves data, it shows somewhere else. It's everywhere in the world. If I just go to the Internet right now and I go to, let's go to LinkedIn. No, basically this data is getting shared with me. So you should always start with the backend when you're making an app because that's gonna be, you know, where your security is. That's gonna be where you set up everything of how, what data you're getting, checking out. You know, sometimes I think about the back end as like a librarian and the database being a library. And basically the client is always asking you, hey, can I have this data from this information? And with that information you need to go to the database and say, hey, give me all the books that start with a or whatever it is, right? Back end first. Development is always very good. I mean, you can do front end first, but you Set up like your APIs. So I have my API gateway open here using Molecular, you have your get which is your read, you have your post which is your create and then you have your get which is singular, you have get all and then you have the update which is a put and you have a delete which is a delete. And then if you have any other kind of features you can get that as well. So definitely you need to know how to authenticate. So a good one that I like to use is Firebase. So right now we're using Firebase to authenticate users which is just like a backend as a service they can handle all the passwords and I don't have to hash passwords and all that kind of stuff like in my database, I don't have to save any of it. And then we're using this Google OAuth OAuth kind of authorization. So I like to always look at this. So my app requests a token, gets the login consent, get some authorization code and then it's exchanged for a token and you get the token response and we can call like our token to call the Google API everywhere. So I really like to use this kind of like pattern and definitely JWT tokens are very good for protecting your server. With our server right now we're running with Mongo and I'm using Mongo Express. So this is like the database, this will be more in the future. But this is where I get all my data from and it's hooked up with some kind of mix ins from molecular. Let me see here I use, Let me see user service. I have my dbmixin which is the users here and inside of the DB mixins it's using this thing called Molecular db. But I'm actually using Molecular DB adapter Mongo and that lets me use something called an adapter in all my code. So you'll see like it has this adapter and this adapter is what is actually inserting into the database, things like that. It's pretty cool. Definitely like pagination is super important. You can use, you know, offsets and skips. I like to always use MongoDB. There is like some kind of way that you have to do it. You should like sort then offset and skip and then limit and then that's how you do the pagination. But I like to use Molecular db. The pagination is there already and it's very good. Definitely you don't want to just throw all the data from the database that matches to that person that's going to be too much data so you have to give it in chunks. And it's like when you're scrolling on LinkedIn or Instagram, it's not like they send you a thousand, right? It's like when you get close to the bottom they make another request for you for that next chunk of data. So that's like pagination for large data sets. And you know, definitely like all this backend stuff I started as a front end developer but like because I did front end for so long with like Vue, JS, React, Svelte, you name it, whatever it is, HTML, CSS, JavaScript, with PHP and because I did front end for so long I just feel like I moved to backend couple years ago, a lot of years ago. But anyways that really helped me because I knew what would be comfortable for the front end. And you know, I now I consider myself a full stack developer. If you want to learn how to create full scale apps to impress your tech recruiters on your portfolio, please click on the link in the description below and apply for my mentorship. Now that we talked about Backend, we should really talk about the front end. The front end has a lot of things to kind of think about as well. Like how I think about it. Backend talks to like business logic and the code, right? And now the front end you're really looking at like marketing design and like the code, right? So the engineering front end, there's a lot of things to consider obviously like if someone finds your app a little bit uncomfortable, they're probably going to find something else to use. There are things like, you know, caching data or saving things in global state management to not pull from the server every time to make things a little bit more snappy and you don't have to make as many requests. So something like Redux, this is just the beginning. But I'll have a lot of reducers here or Zeustin, which is another one or Recoil. I like Recoil and they're all definitely things that we can all learn and definitely use my share of like, you know, I think it's Flux, you know it all comes from something like called Flux Pattern. Flux Pattern Redux. Is it Flux and Redux. Flux is inspired by Flux. So I think everything's inspired by Flux. Pretty much like Flux Mobax, you know Redux Mobax. I think Flux is like the original, right? Flux. Read about it later and you know, definitely you need to make dynamic UI updates all the time. You know why it's called React? It's because you know React is. It reacts to every single change very easily and re renders the screen and a lot of this, a lot of the apps kind of do the same thing but it is not necessary for everything like HTML CSS. JavaScript is just fine. It's actually could be more, it is more performant for smaller apps as you don't need to import like huge libraries or anything like that. I think thing with React and Vue and all those kind of things felt it really helps you work in a team, right? It helps you break up, break down things and break Thomas size tasks and everybody can work on this part and I could work on this part and you don't have any conflicts and things like that and other things you have to like consider when you're doing front end is like a lot of responsive design and that goes with like just making things very comfortable for the end user because as soon as someone finds something uncomfortable or something weird, you know, it gets a bad review in the app store or whatever it is. I don't know, you got to make things comfortable and people are going to want to market things that are like comfortable to use. You want to be proud of what you build and definitely I think I'm always trying to be proud of what I built. I want to show off to even like my mom, like hey, I built this and all this kind of stuff, you know, and if you show it off and something breaks, it's not going to be too pleasant of a feeling. Definitely just try to create strong UIs, strong front end, strong back end, you know, resilient. Definitely there are like way more advanced things to go into, like you know, role based authentication. You're going to have like super admins, admins managers, users and you know, role based like roles for what they can do. Like oh, I can update this data but this guy can't update this data and all this kind of stuff. File uploads, handling blobs, image blobs and all that kind of stuff could be kind of like scary at first. How does this image like fly across the Internet? You know, we don't know but you know there's things like base 64 or you know, blobs. There are definitely a lot of things that help you handle all that like S3 bucket and you know, Firebase Storage. There's also, you know, real time updates with websockets, like in a chat app that's like a good one or like a stock chart and you know you can also use polling or long Polling and you know, set intervals and you definitely have things like searching and filtering with like elasticsearch, like Melee search and you know, the search kind of thing where you search in Google Chrome like Visual and then all these like auto suggestions pop up and things like that. And form validation is something that's always super annoying but you have to do. And there are definitely libraries to help you with that in the front end that's going to be like Zod and Reactive form which definitely like I like to use and I hope you like to use or if you don't know, definitely just like let me know and I'll teach you. There's a lot of things also like with security and performance like data sanitization, you know, also like clean code like API rate limiting. You have to make sure you're, you know, someone can't spam your server or whatever. There is this rate limiting rate limit. You got to make sure like you know, max number requests during a window. You have to make sure your server is strong and protected. Definitely like authentication strategies. I'm not going to show you mine, but that's some stuff that we have. And caching and lazy loading for performance. Definitely. Maybe you want to use Redis or some kind of memory cacher to make sure that it doesn't need to like, you know, it can send the data quicker. Definitely. Even if it's the same data. So it doesn't make sense if it's going to be the same response every single time to keep on hitting the server, keep on having to hit the server, then go to the database and all this kind of stuff. Definitely there's a lot of things with deployment and scaling, so there's like hosting options with say firebase hosting or AWS like lightsail or EC2 or whatever you choose. There's so many different ways to do it. S3 bucket CI CD pipelines like GitHub Actions. I know Travis and Travis used to be super popular back in the day, but definitely like all these kind of like deployment stuff and testing stuff. But like GitHub Actions is pretty good right now and with mobile apps there's like Fastlane and all that kind of stuff and definitely like just logging and learning how to search through your logs and all that kind of stuff. So I definitely have like my logs here. So I have my, in my config, I have my logger here where I am here just log into the console. But right now if I change it to file, it'll store up some logs or I'll probably use Pinot or Winston later something super small and then like even in the front end right I'm probably going to what I usually do in my apps, I know crash links is pretty good, I'll install that as well. But definitely create my custom logger where I can just use my utils. I have my log here, my logger and I'm just using react native logs here. It helps me prefix my logs so I know where it's coming from and then I just use that with what I use that with. I use that with my use logger. So I just app extended with the file path when I use it. So wherever I use it I just login screen wherever I use it I just use this use logger and then the logger equals this and it'll always be prefixed. I know where that log's coming from and later on I'm going to make like an error log or something. So whenever the app crashes from my API client or whatever it does, I'll probably send I'll make a backend place where I can collect all logs and log input in my.txt file again I teach my mentees all of this starting from HTML, CSS, JavaScript to creating full scale applications with React Node, JS, MongoDB, all the way to deployment. If you want to learn directly from me, please apply for my mentorship from the link in the description below. Thank you for watching this video. I hope you learned something and most importantly, I hope you realize that no code solutions won't get you very far, but rather programmers are still a necessity in this age of AI. And remember, if I can do it, you can do it too. Coding saves lives.
More from Phil

day in the life of a software engineer | 5 hour productivity | building my dev agency 🔥

day in the life of a software engineer | 3 hour productivity | coding my 6-figure community startup

day in the life of a software engineer | 5 hour productivity | coding our sns startup app LFG

day in the life of a software engineer | 5 hour productivity | creating apps that makes big money






