How To Get Ahead of 99% Of Developers

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
so I was scrolling through YouTube and I stumble upon Mel's video here he's a twitch streamer but he also makes YouTube videos as you can tell and one of the videos that I wanted to make something in response to was how to get ahead of 99% of software Engineers he did like a reaction video but if you go and Google this title there's like tons of content creators make the exact same thumbnail exact same title but I do want to kind of give my opinions on how you can kind of get ahead of some other developers and what I think is important to learn I've been coding for almost 10 years in the industry and there's a lot of different stuff you can learn but some of the stuff they don't really teach that much in Tech YouTube by the way I'll put a link to Mel's YouTube channel and his twitch Channel if you guys want to go give him a follow cool guy make some good content all right so the first thing that I highly recommend doing if you want to get good at developing and this one might seem very very simple and basic but honestly you'd be surprised how many people don't do this and this is read the docs So reading the docs I know documentation can be very overwhelming at times especially if you're a beginner and you're learning for example there's a lot of people trying to learn nextjs but they probably haven't even gone through this learn tutorial where they actually walk you through how server actions work they walk you through react server components they walk you through data fishing caching they walk you through everything but there's people out there right now who are trying to learn xjs and they're not actually reading anything about it for some reason and honestly this is something that I need to remind myself to do all the time I have fallen victim to this and you start getting into more complicated systems and you have to deal with like AWS reading the AWS docs although it does seem like a lot of information to kind of take in there's so many different edge cases and limits that you're going to run into with AWS that if you haven't spent some time like literally allocate a couple of days and just read through all of the documentation they have or AWS Lambda or I don't know cloudfront whatever service you're about to use make sure you have a good holistic understanding of how it works because if you don't you're just going to start building together a solution that's going to be suboptimal and then you're going to run into weird edge cases where you have to go and make like requests from the AWS team to increase your limits because you built a system some that didn't even have those limits in mind so lack of foresight can really cause a lot of issues like reading the docs obviously but this also includes like your first instinct should be ask chat GPT or your first instinct should be to Google it okay I have seen people and I've also done this myself where I'll just keep on hacking at a problem keep on trying to solve a problem myself and I'll spend like up to hours trying to solve it where if you just win and ask chat GPT or Google it you could find a solution within 5 or 10 minutes I know sometimes you'll get links to Long GitHub issues that have like 100 comments but learn how to scroll through those comments on GitHub and find the information you need okay so the second thing I recommend doing is learn how to ask the right questions all right now if you're learning the code you might not really understand what that means but when you get into the industry and you start talking to clients and you have a team of different developers and you have a a tech lead and you have clients that you need to discuss things with you need to understand how to ask the right questions okay so if you get into a meeting where they're talking about adding features a b and c you need to make sure that all of the different edge cases are being covered and you're thinking about those edge cases during those meetings so you need to ask the right questions so for example if you join a meeting and they're talking about adding a feature you should ask them questions like how many users might need this feature how popular will this feature be what type of data will be needed for this feature should this feature be be behind a feature flag you need to get in the mindset of like always asking the questions always make sure that you fully thought about the problem you're about to solve imagine if a client comes to you and says hey we need you to build X Y and Z well you need to understand what is the data you're going to be storing how much traffic are they going to be getting making a system for 50 concurrent users a second is much different from making a system that supports thousands of concurrent requests a second building a social media application might require a graph database versus building some type of blog system might do fine with mongodb or postgress so IID say the better you get at asking the right business questions the better you're going to be as a developer so get into the habit of just asking questions make sure you get out there and understand what you're talking about so a third one I think is pretty important this is one topic that I'm actually not seeing that much content on YouTube and social media not many people talk about testing some people bash testing but on the projects I work on we have added tests unit test integration test intin tests over every application that we built and it's a high priority to make sure everything is fully tested and the reason we do that in our projects is because we build software that's expected to work for years right we're not just building a startup and it's probably going to fail we are building software for government agencies and we want to make sure that the software might stick around for 5 or 10 years so we need to make sure it's structured properly to allow it to be easily refactor we also want to make sure that it has a lot of tests so that if our team were to leave that project and they were to hire another contractor to come in and try to maintain it they can easily do so because it's tons of intent test and test coverage so if you're a beginner I would highly recommend learning how to test that means go and read up about unit testing with just or vit test that means learning how to write inin Cypress tests or uh playright learn about integration tests like learn how to write API tests learn about test containers how do you run this stuff in a cicd pipeline these are really important things that you need to understand and I would say that where I work that's one of the things that we really focus on hard on when we try to interview people we try to make sure that the code you write when you do your take-home assignment if you don't provide tests or you don't understand how to talk about testing you don't articulate your points with testing you're more than likely are going to get hired because it is such an important thing that we care about in our projects that it's actually kind of like a make or break it in terms of uh if you'll get hired or not so for me I think if you know how to test that's just going to put you Far and Beyond in majority of developers who have never even written a unit test in their life all right let's talk about a fourth one that I think is super important and that is learn to write documentation now I think a lot of people when they're learn the code they're trying to just focus on code and a lot of people that's all they care about but honestly the better you get at writing documentation I think the more valuable you are as a developer right documentation is the key way so that you can collaborate and communicate with other people on your team so for example if you are setting up a new process for doing migration scripts make sure you document that process if there's a particular technology that you're picking for your project make sure you document why you're picking that technology list out the reasons list out any meetings you have any meeting notes say you talk to the other developers we feel like this is a good approach for this project and you have that written out and documented somewhere on your project for example one of these documentations I just kind of mentioned is called an ADR where basically you outline the things that you're about to use in your project and why you decide to pick them you list out the pros and cons of picking that technology over other Technologies just so that when someone new comes into the project you can review those and understand how your project got to the point of where it is today right so that's just one type of documentation you can write but also just good readmes when you want to onboard someone to your project you want to make sure that they understand how to actually do it so like adrs you could say onboarding docs there's been times where you'll join projects and you'll try to get stuff running and stuff just doesn't work because the docs are super outdated so that's one of these things you have to get into the habit of is when you're doing your normal development work go back update your docs make sure they're up to date make sure you go through your onboarding docs every once in a while and make sure that they're good doing diagrams that really outline what you're about to implement for example let's say you get a new feature you want to write some diagrams so that you and your teammates understand the approach we're about to take right diagrams are very very useful sometimes you'll get into meetings and people just talk and talk and talk about code and Tech and like you start talking about all these abstractions but you forget that there's people in the meeting who may not be on that level and so a diagram can really help solidify what you're trying to communicate and everyone can be on the same page and look at an actual visual element to learn how to um implement it or design something all right let's just add a number five I'm kind of just bsing this at this point but these are definitely important things to understand so number five is learn to collaborate you think this one would be super super straightforward and everyone would do this so when you first start learning the code I think a lot of people try to work by themselves you know they're just trying to understand the syntax and the basic problem solvings that is involved with um programming but one thing that people are lacking out on is collaboration right if you're just sitting there coding by yourself you're not learning how to collaborate it's it's a skill that you have to build and understanding how to talk about code and talk about designs and talk about architecture isn't something you just hit the ground running with you have to get good at those skills and you have to practice those skills and the only way to do that is to practice and work with others so I would recommend build a project with others learn how to do like the whole GitHub PR process code reviews these are things that you're not going to get if you just work by yourself learn how to join meetings and share your screen so share your screen with others learn how to talk about your code with your screen being shown um one thing that we do a lot at where I work is we do a ton of pair and onsemble programming so what pair programming is is basically every day at work you're actually in a zoom I do remote work but if you're in an office you probably sit next to somebody and you guys have to work together on the same problem right it's not just a bunch of Developers working off on their own little features and then at the end of the Sprint they come together and try to you know add it all together pair programming is you're basically working with someone every day 8 hours a day on solving a problem and so you'll you'll pass the keyboard back and forth or you'll take turns sharing your screen and committing the code in the personal switch and another person will start driving and that is another great way to just improve your collaboration skills because now you actually have to talk to somebody every day all day and try to code together it's crazy how many people out there have probably never tried par programming or never actually lik worked together in terms of software with somebody but it's a it's a great thing and a great way to build your collaboration skills I'm going to go ahead and say the last one is Master debugging okay debugging as I said in other videos debugging is probably one of the most important skills when it comes to software because a lot of focus is on writing the code but honestly there's times where you spend hours if not days just trying to fix various bugs so learn how to use your debugger there's people out there have been coding for years and have never actually opened up a debugger to try to debug their node API server which I think is crazy but I mean console logs can get you a long way but there's different strategies for debugging understand how and where you have to find your potential bugs this next point is super obvious but learn to read the error messages I don't know why I have to put this but often an error message will be there and it'll tell you exactly what's wrong but for some reason you won't copy that error message and you won't Google it you won't click on the link that's in the error message that takes you directly to the line of code that failed so learn how to read the error messages and you'll just become so much better than a lot of other developers who are just kind of like they see an error and they freeze it's like a dare in the headlights they don't know how to progress past the error you know learn from the error read the error understand what it's saying if it's saying like a null reference error well that means that you have you're calling dot on something that isn't even defined right so get good at all your error messages make sure you understand how to approach them what's probably going wrong with those error messages all right another point maybe this will cause some PTSD in some of you guys I'll write chors errors right I would say like when you fix these errors make sure you actually understand what you're doing to fix them I know there's people watching this who probably have gotten Coors errors and all they do is they add a Coors middleware to their express service and everything works and they move on with their life you need to understand like what what is this doing why did that just get fixed when you added a middleware function is adding a specific header to your responses so that your browser doesn't just block all the requests in the future right so you need to dive a little bit deeper into what went wrong so that you won't keep on repeating these issues uh I'll put one more learn what to log out when you start getting into larger systems you might have a lot of different code that's executing when you call an API inpoint and learning where exactly you need to put those console logs or where exactly you need to put that debugger breakpoint can really just help you go a long way okay so learn how to do some of the stuff I think this will put you ahead of a lot of other developers out there and like always I mean let's keep this an open discussion if you have a comment or a suggestion of what you could do to basically become a better developer leave it in the comments below we can all kind of learn and grow from it but these are the top six things I can kind of think of honestly I just kind of threw these together I didn't really think too hard about them I'm sure there's tons of other points I could talk about but I think this is a good start anyway give me a thumbs up if you enjoyed watching me ramble about this topic and like always be sure to subscribe and I have a Discord Channel you guys are welcome to join if you want to find a place to kind of hang out and talk to some other developers have a good day and happy C h
Info
Channel: Web Dev Cody
Views: 133,377
Rating: undefined out of 5
Keywords: web development, programming, coding, code, learn to code, tutorial, software engineering
Id: uhuTWQYgPIw
Channel Id: undefined
Length: 12min 59sec (779 seconds)
Published: Tue Dec 26 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.