hey my name is Forest welcome back so you want to be a programmer you see the cool things being built you see the money that's being made you want that but in what fashion you want to make games you want to build web apps you want to go Indie maybe you want to work at a big company all for one salute our new corporate overlords and how do you get there from where you are now well in this video we're going to discuss all that from career paths to money to the job market skills how
to learn them in the future of software development your future in software development now there are two types of programmers I know I ain't talking school or self-taught I'm talking you you do a bunch of research about the industry you map out your entire career path and all this and all that before ever writing a single line of code that's one the other is you've written code you had a problem that needed to be solved and something that needs to be automated or you built something that you just thought would be funny then you realize
hey I kind of I kind of like this whole programming thing how can I get paid doing it both are perfectly valid and both can be successful but that second person already enjoys coding if you're that first person that's something you got to figure out how do I enjoy the process of coding and all that it entails because if you don't enjoy it then what's the point the money well I I Pro I bet you that you will make more money doing something you enjoy than doing something just for the money that's just a little
message from from me to you uh that's neither here nor there so regardless of all that how do you get there how do you turn programming into a career well first you got to figure out what type of programmer you want to be what do you actually want to build games websites apps mobile web whatever llms the best way for you to figure this out is by building them I know easier said than done but just build a couple little games build a couple little websites build a couple or one app uh work on an
llm pull down some code and play with it you may not be men maxing your time as if you were to just pick one and Go full force at that one and you know I can get to this point this level up here within a year or so whereas if I try all these other things it'll make it'll take two years or three years to get that same level but trust me picking the thing that you actually want to build and figuring that out is going to pay off in the long run you don't have
to minmax everything you don't have to be the most efficient with everything the most productive individual in the world set yourself up for success by building a whole lot of different things to begin with and plus there's going to be a lot of transferable skills from the build process to the architecture and the project structure to the programming languages and Concepts that can transfer from one thing to another from games TS then figure out how you can get paid doing it that sets off everything else from here on out you got to do that first
and one of those things from here on out would be the skills what skills do you need to learn and it'll change from you know industry to Industry and there are quite a few skills the first one you probably thought of is well of course programming I need to learn a programming language but that's you really got to view programming languages and Frameworks and libraries simply as tools tools just like your IDE or your cic CD tool or your project management software you don't think oh I'm going to go perfect my hammer swinging skills and
my sawing skills and then I'll be the best Carpenter or woodworker in the world no th those are just the tools to get the job done of of doing the actual work and you'll get better at using those tools and understanding which tool is better for which job by doing the actual work by actually building things so it it is good to you know dive in and learn the basics of programming like what are variables and constants and functions and methods and classes and data structures and algorithms and things of that nature because referencing that
previous analogy you still have to know how to swing a hammer so yeah learned the basics but with the goal of getting out of there as quickly as possible or else you're going to get stuck in tutorial hell and the last thing you want to do is get stuck in tutorial hell because you actually building things not watching someone else build things things and you just write the same code as them but by Building Things yourself that's where you're going to learn and that's where you're going to be implementing probably the biggest skill that you
need and that is problem solving because you'll be faced with new problems that you have to solve you can't just always go Google something or ask chat GPT hey how do I do XYZ because it'll be unique in and specific to your code based to your use case that hasn't been seen before in this fashion and once you have figured out how to solve the problem you use these tools in these skills in order to implement the solution regardless of how it's implemented 5 10 20 years ago you had to write all of the code
yourself today you use an AI assistant to help you write the code and then maybe in 10 years from now you're more or less reviewing the code written by the AI in its entirety or maybe debugging the code or what have you and also I know this may come as a surprise to y'all but I have been wrong before and I'm will be wrong again this one obviously I don't think I'm wrong that's why I'm making the prediction but you never know and plus 10 years is a lot of time to learn and do a
lot of things anyway the tools that that you use as a software developer they start off with the programming language and then um librar in Frameworks and then where do you write all of this code and then IDE and then how do you control the versions this code in verse Control software like git or git system like GitHub or bitbucket or what have you and then you have build tools and then you have cicd tools watch my last video on a complete overview of devops because there you get to see the entirety of not just
devops but also the software developers role and the tools used by software developers in devops in in the workforce like get in PM Maven cicd and of course idees with jet brains idees being probably the best idees you can use and with jet brains Ides being the sponsor of this portion of today's video your IDE is where you live as a programmer this is where you write code and whether you write in Java or python or C++ or any of these programming languages jet brains has an IDE for you but idees or integrated development environments
are much more than just a simple code editor jet brains idees provide intelligent code analysis powerful search functionality and advanced features like AI to help you code fully equipped out of the box with all the essentials for everyday tasks like Verge control database tools unit testing and so on Plus what's beautiful about the suite of jet brains idees is that they are based on a single platform so if you've learned one of their idees like intellig idea for Java or cotlin that knowledge of the IDE is directly transferable to them all like if you decided
to hop into pycharm for Python and this will absolutely come in handy if you heed my previous advice of building different types of programs using different languages now you don't have to relearn an entire new IDE platform as well you get to focus on the language and what you're Building without having your tools get in your way I mean that's what we all want right a tool that just works as it should better than any of the others and in my humble opinion that is jet brains IDE through and through so I highly recommend giving
them a spin I will leave a link down in the description below for you to try it out but those skills how do you learn those skills do you go to college do you go to a boot camp do you do it online online course Es are they paid or free maybe you watch a bunch of YouTube videos well the overall answer is kind of just yes because at the end of the day I mean even if you go to college for computer science or software engineering or go to a boot camp or whatever you're
still self-taught to some degree you just have somebody that you have access to to help you out along the way hopefully of course um now I have some strong views on College and whether it's worth it and I've never really been a a huge fan of $10,000 boot camps that promise to make you job ready in 3 months or something but regardless of your opinions on any of that the best absolute best way to learn these skills and learn how to code and to become a software developer is by Building Things yourself figure out how
to set up a project in your domain with boilerplate so maybe something like if it's a web app or website cre create next app or create ashro or create V or something like that that you can install fairly simply and you already have something running then what you can do is hop into the code base and you can see the website running and you can make the changes and you can see those changes happening as you're making them and get an understanding of like oh well if I change this word here it changes that word
over there if I change this color in the code base it changes that color there and you just play around with it the way I see it that breaks down that like barrier to entry where you know you're setting up the IDE you're setting up all these dependencies you're installing all of these things and then you you you got to figure out all this boilerplate to write yourself and I don't know how to get started with all that well have something else get started with all that I mean that's what people use anyway for like
real world applications they they use some sort of something like that and that'll help you get over that barrier and to actually actually playing with things and looking at the project structure and the code and actually seeing it and playing with it to understand it and then what you do is you implement a new feature oh you don't know how to do that look it up don't look up how to create a social media site look up how do I create a news feed how do I put an image on this or how do I
make this look pretty in this color and that color you see or instead of Googling it you can use the your new jet brains AI assistant or you can plug it into chat GPT say here's my code this is what I want to do I want to put a picture in here and then very important have it explain it to you why did it do what it did and how like what why does this work right here this is where you want to let your curiosity you let your desire to learn fuel everything because that
interest that curiosity is what will just have you going from Next Step to next step to next step that's why I say you have to find what you enjoy in pursue that because that idea of enjoyment and curiosity and desire to get better at that thing because you like doing it is it's going to outweigh everything else however you're not always going to be curious you're going to be hitting roadblocks that you spend hours on and still can't figure it out or days on and still can't figure it out that's when you need to implement
discipline and those are other skills that you need that I guess could have been mentioned in the skill section but like I feel like that's kind of obvious and that kind of goes for anything in life that's worth having and worth doing but that's neither here nor there so long story long go the self-taught route first build silly little projects in the terminal or in your Game Dev Studio thing or what I just said with like create V maybe pull an existing code base down from uh GitHub that you know works and build that and
play around with that then and only then should you make the decision for the next step and that is don't want to go to school don't want to do this don't want to do that you just continue to build and build and build and build oh but however if you do end up becoming a computer science or software engineering student you end up going to college check out my notion student template Studios for notion at notion student.com but wait farest there are there even sofware engineering jobs I mean look at all these layoffs that have
been happening and I've been browsing perus if you will all of these career uh CS career subreddits and software engineering subreddits nobody can get a job it's all doom and gloom so if I can't get a job what's the point well I have some thoughts on that there have been a lot of layoffs this year even last year being 59% more layoffs than the year before in the tech industry but a lot of those layoffs are HR or Dei workers or middle management and so on not all were're devs how however many were but based
on the data I've seen the amount of layoffs is just a drop in the bucket compared to the amount of hires it really just seems like a cyclical process maybe to fill the same position at a lower salary or maybe to appease the shareholders because layoffs they do wonders for the balance sheet and as for the subreddits y'all y'all should know by now that when viewing things online you're just getting the 1% the worst 1% when things are bad and the best 1% when things are good like when people post on Instagram you're just seeing
the best 1% of their lives to make it seem like they're living such a greater life than you it's just it the data is skewed if you want to look at it that way and the fact of the matter is a lot of these people who are applying to hundreds and hundreds of jobs and being rejected or ghosted well they AR doing the right things I mean maybe maybe some are but many cases that I've seen they are not I've seen so many only applying to remote jobs yeah that's going to be a lot more
difficult because you're going to be competing against the rest of the entire country if not the entire world for that job that's why you see a thousand applicants for these jobs on LinkedIn are indeed instead how about taking a look at local companies where you work on site I maybe may not be the exact lifestyle that you want maybe you really want that remote job but the competition is much less Fierce having any job is better than having no job plus I've seen many of these individuals are like here's my resume that I've applied to
these hundreds of jobs what do you think about it that's not how you do things you need to cater your resume to every single job listing because there are automated filters that say oh they don't they don't hit this programming language or this framework or this or that let's just dump it and that's the automated system doing that you don't even go to a human or if you do go to a human it's HR looking at it and they're they're just filtering through and matching up the they have the job listing open over here they
have the resume open over here you need to write your resume to match the job listing because if you're applying to the job presumably you have the skills to do it so make sure that shines through your entire goal the only goal when you apply to a job is to get your foot in the door to show them in an interview what you can actually do and now I don't want to give anybody any false hope competition is fierce period there are a lot of software developers a lot more than when I got my first
job however many years ago now which is why if you have no experience you need to build something uh do something to stand out build a portfolio to Showcase that work network with people in the industry go to events and job fairs I don't care if you go to the college or not if there's a college nearby and there's a career fair going on just go they don't check your ID and cold email or DM managers or owners of small local companies that they may not have a listing for your exact position but maybe they
will or maybe they have an internship opportunity or something that you can do to just get that foot in the door anything and everything you can do like all that I just list listed you should do all of it there are software development jobs out there you just have to make sure that you're the right fit and that you're doing everything you can to give yourself a chance and now money I I've actually just recently made an entire video on how much software Engineers actually make so that video is going to do a lot more
for you in this department than what I can do in this video but the median for software Engineers According to levels.fyi which is aggregated a lot of data is $170,000 give or take however based on the data I am convinced that it is pretty heavily skewed towards the Silicon Valley salaries which you know some might say earn a little bit more than software engineers in the rest of the country oh by the way that is for the United States and by the way that is the median for everything from Junior all the way up to
principal software Engineers who are making seven figures and that's salary as well as bonus as well as something else maybe I don't know that's total comp and that salary for software Engineers is probably what you could expect to make around the high midlevel to senior software engineer rank so you know don't expect to make that right out the gate as a junior but maybe depending on all of these other variables that's what you could expect to make a few years down the line as long as you play your cards right if you wanted to do
some more research I would recommend using a lot of different sources this is the one that I had referenced just a second ago levels.fyi where they have a lot of you know different types of software engineers and their median salaries and more information about it data scientist software engineering manager security analyst and all that and they currently have software engineer salary listed the median total Comp US and all the other variables I previously mentioned from J Junior to principal is about $177,000 a year MLA software engineer around2 $155,000 a year testing $140,000 a year devops
150 Android 190 data 160 full stack 154 and webdev front end 153 again how accurate is the data I don't know just know that there are jobs out there that do pay this much for those jobs you just have to be in the in the right area I bet this is skewed for the higher cost of living areas and things of that nature you get it I just wanted wanted to make sure that I expressed that caveat so you don't you know so I don't get your hopes up that you think you're going to make
$200,000 a year when and then get an offer for $85,000 a year or something like that and that's that as much detail as I can give you while still trying to keep this video clean and concise although I don't think it was very concise I think this is a pretty long video um if you want to learn more about anything any step in the process from you know learning the skills to to all the way to being in the weeds of s engineering on the job I've made many videos on this channel going in depth
on all of those things so feel free to check those out if you have something specific that maybe I haven't addressed before in a previous video feel free to leave that question in the comment hopefully I'll get to it if not maybe somebody else will if you are genuinely interested in becoming a programmer then you probably want to sign up to my newsletter devotes at DeVos daily.com it's completely free sending you three emails a week on what's going on in the software development industry and also on those emails you can respond reply to those emails
and ask me more questions there too but that's all I got for now again I'm Forest I'll see you in the next one