if I wanted to become a software engineer in 2025 this is everything I would do right now I'm a software engineer how much do you make 191k how long have you been doing it a year I make $188,000 how much money do you make per as a software engineer 500k I have around 3 to 4 years of experience my base salary is $157,000 in this video I'm going to be revealing the five level pyramid to becoming a software engineer you have to go in order because each level Builds on the previous one and it gets
smaller as we go up because it gets more challenging and there are only a few people who can get to the top properly so I hope you're ready to take your career to the next level and with that being said let's get started right away coming in at level one is learning how to code but this is where many people make a huge mistake they fall into tutorial hell this is what happens when you spend all your time watching endless coding tutorials thinking you're learning but you're not actually building anything or solving problems if all
you do is watch motivational productive TED talks but you don't do anything differently you haven't learned anything especially coding it's not like biology or psychology where you mainly memorize vocabulary terms you actually have to shift your mindset roll up your sleeves and become a problem solver and you do that by following the build to code framework here's how it goes first start by learning some foundational Computing Concepts just to get your feet wet and establish your mindset consider taking cs50 course by Harvard it's beginner friendly and completely free it covers topics like algorithms data structures
and computer architecture it gives you Theory with Hands-On problem solving teaching you how to think like a programmer I'm not sponsored by them at all by the way but I think it's a perfect place to start start if you have no experience or background for example I took this course during my ninth grade summer because it's pretty flexible you could do it at your own pace that even give you a community to help you out and once you have your mindset established as a problem solver now we can actually start to learn how to code
so here we pick a coding language for beginners I recommend python it's easy to learn and widely used in pretty much everything from web development data science and machine learning other solid options are Java or JavaScript they're great for a backend and front-end software engineering respectively Plus I learn data structures and algorithms which is essential for technical interviews in Java myself once you've chosen your language dive into free resources like codex iio which makes You Learn Python through a fun video game like environment similar to Legends of Zelda you solve challenges like writing for Loops
conditionals creating functions to beat in-game enemies you even get to dabble a little bit with object-oriented programming which is essential for technical interviews but more on that later or if you want a simple traditional way to learn free code kimp is a great resource and they offer free python lessons while learning the basics of coding start building simple projects to put your knowledge into practice that's where this whole build to code terminology comes from for example you can create a too list app which helps you understand user input list and data persistence by allowing users
to add delete and Mark tasks as complete build a calculator where you can practice implementing functions conditionals and basic arithmetic operations to perform calculations or build a web scraper which introduces you to working with libraries like beautiful soup or requests to extract and parse data through websites these small projects will help you understand how to actually apply Concepts you learn and you will not be stuck in tutorial hell henceforth so once you're comfortable with the basics of coding it is time to go from level one to level two and that is where we work on
actual projects we did some baby projects in level one sure but those won't actually count going forward projects are your work experience before you get formal work when you're a full-time software engineer or even an intern your day-to-day work is just doing various projects hence before you get employed you need to do quality projects on your own to showcase that you have the skills required for the job itself so here are three project ideas at various levels of difficulty first a great beginner project is a personal expense tracker this is a practical tool that helps
you manage your income and expenses by analyzing your spending habits you can use libraries like Panda for data manipulation and map plot lip for creating visualizations like graphs and charts to make it even more engaging at a user interface by using flask if you think that you've done a really good job on this you can even deploy it or sell it to other people to use as a side Hustle a level above this for a little bit of a challenge try building a password manager project this project introduces you to basic cyber security Concepts and
gives you a chance to work with Python's cryptography Library by encrypting and securely storing passwords you can create functional systems that retrieves them on demand for a more polished experience you can consider adding a GUI graphical user interface with pame and because this is a pretty impactful project which affects the security of systems depending on how you frame it verbally in interviews or even on your resume this could become a pretty big deal for A Step Above This an advanced level project consider creating a chatbot using NLP natural language processing start simple by training your
chatbot to respond with predefined answers using Python's nltk library but once you've mastered the basics you can integrate more sophisticated features like handling real-time conversations using apis like Google speech to enable voice interactions and everyone and their mom nowadays has some sort of AI machine learning project so this project will give you the right amount of Hands-On experience in that field while incorporating it into a software engineering workflow but overall the specific Technologies don't matter as much as the complexity and the impactfulness of the project itself for example if one person creates a machine learning
weather application and someone else creates a simple web app but it helps local restaurants reallocate and reduce food wastage by 50% the second person is far more impressive because their project was way more impactful you need to be able to explain the why behind your project and if you're looking for more inspiration check out practical tutorials repository on GitHub it has many different project ideas for different programming languages plus some tutorials now we're going to kick it a further Notch up you have your background set now let's transition into setting yourself up for a career
in software engineering level three is your resume and no we're not going to deal with an average resume I'm going to be revealing the exact resume that landed me a software engineering role at Amazon wall and college I'll also point out subtle psychological tricks to make your resume stand out amongst hundreds of thousands of applic in this market let's put my resume up on the screen and let's dive in so starting with the header your name should be bold and Centered for easy recognition include two contact methods your email for interviews your phone number for
technical screenings add your LinkedIn Alias for profile your GitHub to Showcase your projects and open source contributions if you are a US citizen with a non-traditional American name like myself mention your citizenship status companies generally try to avoid sponsorships when they can so highlighting your citizenship status will give you a little bit of an edge next is your education bold your school name and City and italicize your degree and graduation date and if you are a student make sure to explicitly use the words expected graduation date on your resume because it subtly does give the
psychological impression that you are a little older as a student and that is super important because companies generally try to avoid hiring freshman and sophomores I then listed my relevant coursework and something that I did was I actually changed my course titles for example the Computing and python course you see here on my resme the actual name of it at my University Georgia Tech it's called intro to Computing there but I changed it up to align it with the technical skills that best represent what is optimized for the ATS system going down to the experience
section so here you need to be sure to use the XYZ format this is actually the format Google recommends its Engineers to use and what it basically says is for each bullet point you want to say something along the lines of accomplished X through y resulting in Z impact for example I described in this one project how I used Python and I created this UI and I trct algorithmic performance which resulted in outcomes of this per accuracy numbers are essential because they quantify the impact and draw eyeballs to your resume and this could be anything
it could be a percent accuracy it could be like hey I was a leader of a 200 member Club it could be like I created a game that has 8,000 app store downloads no one actually cares about your projects unless you make them care and by quantifying it you do make them care next section right on Q is projects I did a stock predictor machine learning project I listed models like neural networks na Bay's linear aggression along with performance metrics because once again numbers are important two big mistakes I see a lot of people make
is either they will just list out their projects that they completed in a bullet point list without any elaboration cool you got a fancy title of an AI project you did but no one knows what it's about so who cares second mistake is sometimes for a project people will just list out Technologies without any explanation of how they used it within it that's why it's like the through why part of the XYZ format is super important because employeers don't really care the fact that you know Java they want to know how deep and how far
you know it did you just use Java to develop a baby calculator application or did you use a spring boot framework to deploy a fullstack web application then comes the activities and Leadership section I put in my University clubs that I was part of like the web development where I learned HTML CSS and react and a data science club where I gained skills in Python libraries like numpy and tensorflow even though I wasn't super super involved in the club and I didn't really have so much to show show I made sure to emphasize the skills
that way I stood out more in the ATS system now the skills section and this is the only part of your resume where it's okay to not necessarily list items in full detailed sentences avoid unnecessary qualifiers like python parenthesis beginner or Java parenthesis intermediate because I fundamentally believe that if you just put like Oh I'm a beginner in this language it almost gives the idea that you don't know much like okay you know hello world in that language but what good does that do you in terms of employment not much really I fun m al
believe that if you put a language on your resume you should be at least intermediate in it so you don't need to be a full-on expert but you should be good enough but overall just make sure your resume is properly formatted if you want this exact template that I have right here I got a link for it in the description but get it after you watch the full video I would very much appreciate that coming in at level four so you have your resume you have your experiences level up now we need to actually get
you a job and for that we have applications and referrals and within this obviously you know how to apply to jobs I don't need to tell you how to apply to jobs you go to Career Fairs networking events LinkedIn GitHub Reddit levels FIA pretty much apply anywhere and everywhere the hard part is once you actually apply how do you get a call back because you're applying in a sea I mean an ocean of hundreds of thousands of candidates and I was actually recently talking to an exg Google Apple recruiter asking why it's so hard to
get a call back in this market and he said it's because of ai ai Auto applies to jobs for people there are AI tools that scrape the market job boards and as soon as a position opens up it applies on your behalf a job was just posted two minutes ago and it already has 200 plus applicants well how does that happen AI Mass applications so how do we beat it how do you beat it you need to get a referral and I know you're saying oh referrals are so hard to come by like referrals are
no longer nice to have they are almost at the point where it's a must-have and when it comes to referrals there are also three levels to getting a referral not all referrals are made equal and let's go one by one first we got level one this is what everyone knows about this is when you reach out to someone who works at a company you're interested in like you want to work at meta you want to work at Google sure you reach out to a meta or Google engineer you ask them hey can you refer me
you hand in your resume they're like sure I'll put you in the system you might get an interview I mean that's cool but like nowadays this is even a little too common for them to seem impressive or for it to be super effective so you try out level two and if you're a basketball fan this is what I call the LeBron James referral so you know how whenever LeBron James wants someone on his team he will get that person on his team whether it's a friend like Dwayne Wade or even his own son and why
does this work well because LeBron is a member of the Lakers organization and he has pull and warm connections similarly you need to establish connections with hiring managers or at least people who are connected with hiring managers have them review your resume and V you out because the hiring manager is the one who ultimately makes the decision if you're hired or not and if they like you based on your resume you will at minimum get a a job interview level three and when it comes to networking and referrals this is the most powerful one and
this one if done right you will pretty much never have to physically apply to a job ever again this is what I call inbound based networking I was recently talking to this one engineer a couple months ago and he mentioned for the last two jobs he had he never had to interview around you know why well because he regularly posts about his coding projects on Twitter and the two startups he's been part of the founder actually reached out to him via Twitter based on seeing his Amazing Project that he's been doing because why would anyone
have to evaluate you for your technical aptitude if you can prove that you can show your technical aptitude via the projects and your online presence so post about impactful projects you worked on Via LinkedIn via Twitter in fact even me in this terrible job market because of my online presence I have hiring managers Founders recruiters and hiring agencies regularly reaching out to me for a job and I'm not saying this to flex because thankfully I do have a job but I'm saying this because if you do develop your online presence in the text spere properly
it can transform the landscape of your career going forward all right so you have your background you have your experiences you've applied to jobs you've gotten referrals and now you have interviews coming up and you need to pass your interviews in order to actually land that offer so in this final level of the pyramid we are going to be doing technical interview prep and for that I'm going to show you so many resources so you pretty much never fail a technical interview going forward so first you actually have to learn your data searches and algorithms
so for that I have this thing called CSV tool.com it was actually developed by Georgia Tech woohoo my alond mod and as you can see we have many different data structures many different algorithms and it'll actually show you how to do it so first let's go into array list so say I wanted to add an item to an array list like the number two it'll show the visualization of it being added plus the code of it executing through and if you didn't catch that I can do it again I can even lower the animation speed
to help me understand better so it shows the exact code or actually pseudo code for this matter of how to go through so you understand it fundamentally I found it especially useful for grass specifically depth for search because you can put your start vertex and it'll show you the code that's going through but it'll also show you the different variables and what they hold as it's going through so as you can see it shows you the list the visited Set current vertex and the recursive stack so you know where the function calls are going so
it helps you keep track super helpful for recursion and obviously we know depth first search can be implemented with a stack too so it'll show how that is done and how the elements within the visited set and current vertex the way it evaluates changes just the slight bit I think this is an excellent resource for basic beginners to learn data structures and algorithms but once you learn a little bit I would actually say go on to visualg go.net it'll show you even more data structure and algorithms it'll show you a little more with the code
it'll just help you elevate your understanding to a more intermediate advanced level let's take a look at binary Heap and let's actually construct it so it'll show you the specific code now this is actually proper code it's not just pseudo code and it has the English of how it's going through it so it tells you exactly what it's being done how it's swapped dropping its items as it's constructing the thing because we either have a Max Heap or a Min Heap so it needs to move things around and how it maintains the efficiency of n
log n yep and we have our binary Heap constructed overall in combination of this resource and CSV tool I think this should be an excellent starting point for you once you understand your data structur and algorithms we actually have to practice for technical interviews and for that we need to practice our Le code don't blindly go on Le code.com because you need to identify the problems that you need to study for example if you have a technical coding interview for Amazon you should do this search up lead code Amazon questions and then boom you get
so many resources of previously asked Amazon questions specifically this one website top Amazon questions you'll have a list of different questions that have been previously asked by Amazon in fact in my final round interview I literally had this problem find the cap smallest pair distance you can also use Reddit to identify this through Le code through lead code community so we can search on Reddit we can search on lead code for those specific ones okay but let's just say you're on a problem and you're doing the longest substring without repeated characters and you're scratching your
head you know python but you just don't know how to piece together this problem don't worry I have an excellent resource to help you out so you take this lead code question copy it paste it into Google Space Geeks for geeks and then boom the first link so here in this Geeks for geeks article it'll pretty much walk you through the solution it'll first give you a naive approach to solving the problem plus then a few optimized approaches and the reason I like it is it gives you many different programming language options so you you
can understand it pretty easily it gives you comments and then if we scroll down we get to see the optimized approach and we can actually understand why it's optimized it gives you visual diagrams to help you out with this and plus it explains the time complexity and space complexity so you understand it even better I don't recommend that you just copy and PES into the leak code editor cuz then you actually learn nothing but I do recommend you take a good look at this read all the code read all the English read all the diagrams
and really understand it and then close this window and then go back to the leite code and actually try to implement it for yourself this way you actually understand practice and get better and hopefully you can pass your technical interviews going forward well I really hope you guys enjoyed this video and if you did make sure to hit the like button subscribe if you haven't already and if you want a full in-depth video as to how I pass the coding interview in under 3 months I want you to watch this video right here