Hey everyone, thanks so much for watching. Let me know where you're currently at in your career and the biggest hurdle you're currently approaching, would love to help out :)
Hey Wayne, happy to hear you enjoyed the computer science principles course in high school. I saw your second comment about only having an iPhone, which will limit things quite a bit, but I’d go with one of the options listed here: www.maketecheasier.com/coding-apps-for-ios/ I wouldn’t worry about which one to use, just pick the ones that you like the most. I would try to save up money for a laptop, once you have that you could begin learning Unity which will help you move forward as a game developer. Best of luck and let me know if you have you other questions!
Hi, I am currently a senior dev, would like to eventually move up to the next level, I'm not 100% sure if I want to go into management or continue on the IC path. If you have hit this branch before in your career, could you explain your thought process and why you decided on IC? If not, what were some steps you took to get you from senior to staff?
Yeah, I go through this thought quite often. My mindset is if a company needs me to manage, I can manage. If they need me to write code, I can do that as well. Once you move into a staff role you should have fairly good leadership skills that are transferable to management. Really go with what you are interested in. If a management role popped up for me today I would probably take it because it’d be something different and would be a fun learning experience. You can always go back to an IC, especially if you’ve only been a manager for 2 years.
@@CodyEngelCodes Hi Cody! im on my way to change career into programming. without taking a degree, how would you make that happen? and in which field is it easiest to freelance and get hired as a "self-taught" while still getting a decent pay?
@@Bananskaalet congrats on the career change. I already made a video talking about how to get into programming with a degree so I'd recommend watching that: ruclips.net/video/Ih5zuxLxP_Y/видео.html As for the easiest field to freelance, it depends. Mobile has less jobs but also less competition so the lack of competition makes it easier. Web development has way more jobs but also way more competition, the variety of options though probably makes web easier.
As an engineer who has been in the industry for 12-13 years, this is one of the most important video I ever come across. There is hardly any content online to maneur at a 10+ level of experience. I truly appreciate you making this content and I will be following you for even more content. Thank you!
Thanks! My newer videos may have a bit more animations but I don’t know if they are fancy. I would love to get your feedback on them whenever you watch them though. I’m trying to find the right balance when it comes to use animations as I think they can help reiterate the spoken information, but I don’t want them to become distracting.
Thank you for the explanation of each level and expected responsibility. In my first 3 - 4 months as a full-stack engineer at a large company. I was given the task to build a new feature which was to implement the entire UI, endpoints, cloud infrastructure, and querying... I figured they had my best interest at hand, so I went for it, and you guessed it - I failed miserably. I blamed myself and was also labeled incompetent by my team and leadership because multiple senior-level engineers had to save the project. My confidence is still shaken from that assignment even though it was a few months ago, but I feel so much better after hearing this, thank you.
Nice clear explanations. The only thing I'd add to your Staff Software in a small company, is that in your ~50 people company, there's often overlap between "staff" and tech leads. You could have ~8 staff also doing light management tasks too.
Since I recorded this video I've noticed the Staff Engineer role evolve a bit to be honest. The purest version is what I would have considered a technical lead, however I've also seen it replace Senior Engineer 2 in some companies and be used intermingled with Senior.
Also for startups who have investor funding, it's not uncommon to find junior developers in a mid/senior level position in the company since it's so small. One pro of this is that if the company does well then those early engineers have a leg up on other engineers who start off as entry level at established companies but it comes at the risk of potential startup failure. If it does fail though, those developers usually have had enough autonomy and experience to apply for good positions in established companies.
Thank you! Great video. By your definition, I'm a staff software developer. I work on 3 or more products / projects / teams at any given time. Sometimes, I'm the sole engineer and others I might be a site reliability engineer working with off-shore teams or a engineering contributor.
Good question, the very general answer is to expand your scope of influence from where it is today. If your influence is only on yourself, then you'd want to expand it to be on your team. If it's your team, then you'd want it to be on your organization.
Great talk. I'm hearing this idea of the technical track with engineering roles as you've described and the management track. Where does the role of software architect fit into the picture? Do companies have dedicated solution architect roles or are their responsibilities tied into an engineering role?
Software architects can be thought of as staff engineers and above. It's not necessarily 1:1 but it's close. Lots of technical planning, lots of technical guidance, although architects may be in the code a bit less than a staff engineer.
Hey, great video. I work as a senior engineer for a medium-sized company in the UK. The next level would be Principal. I feel it's a tricky situation. Principal must tell what we need to do, they have to provide techincal leadership, good technical knowledge, larger problems etc. But in order for you to do that, you must know the systems and their technologies really well but that is something is not really there. We got the systems working and deployed and most tasks are about maintaining them, so how are we supposed to getting into that realm of principal if you don't know their systems except with longer time in the company? Most of the time you learn about something the moment you get a story to work with. Thanks!
Once you hit senior there is always a risk of just staying there forever. To move past senior you really have to show your abilities and also be clear with your manager about intentions. I’d recommend speaking with your manager if you haven’t already because they can give you good tips on what to focus on for the promotion. Past that it really comes down to understanding the system and being able to make a company wide impact with your work. Unfortunately there is not a guaranteed path, just keep doing what you’re doing and focus on learning the overall platform you are working on.
@@lepro0 Also be seen to be mentoring lower grade employees. Passing on Knowledge and experience is a huge thing in development. Any developer that hordes knowledge is likely insecure about his value to the company. The real deal dev will share anything he knows because he knows more than he can teach. Also when you hit Principal and you have to codify that knowledge into standards and the like you can meet some push-back. No-one wants to be told their way is less good. If you have been their mentor and have a reputation for bringing people on that will work much better. Luv and Peace.
How long did it take you to get to the principal engineer role ? and as an incoming software engineer what are some things I need to do in order to get to be a principal engineer?
My first job as a Jr SWE was three months ago. I was doing full stack work & full blown features for a small start up, it was remote, very independent, & asking questing was looked down upon. Which I understand, it was a small start up & people don't have a lot of time. Once my contract ended, they said yea, you were doing mid level work the whole time, I am glad I did not renew my contract since I was getting paid a Jr salary. I just want to find a company where I can learn & grow, give me mid lvl work I don't care...where are these companies???
Larger companies are generally happier to mentor juniors, but also smaller companies with a strong management and engineering leadership team can be great spots too.
The actual levels: The intern that gives up after three months The newbie The script kiddie The junior The Slightly More Experienced Junior that Everyone Abuses The visual basic or c# dev who can't wrap his head around pointers The guy who used to be okay but stopped learning and is now stuck in legacy maintenance The regular dev The 10x dev who can't deal with "those useless idiots" The embedded systems guy who only knows C and assembly The dev with so much experience he's been coding for longer than you've been alive, whose code is either the epitome of elegance or something you'll never understand even if you outlive him The guru who writes compilers, experiments with his own languages and advanced meta programming, consults with chip manufacturers on their architecture etc.
@@CodyEngelCodes It's all about results not time spent. If you can knock out a story solidly in about the estimate that's a win. Putting in overtime to do something you all agreed would take 1 day doesn't look good. Sometimes it happens but you should be able to explain at standup why it was more complicated. Luv and Peace.
I work in Mountain View and I think I am somewhere between junior and mid-level engineer. I can potentially grow and go up the ladder. However, I am finding the entire career path less interesting as I time goes by. I have less interest now in going up the ladder than I had few years ago. I like solving problems and coding, however, I hate the fact that I am doing it for someone else and how I am dependent on working actively to get my paycheck. I want to create something for me, a product or a service of some kind, where I have the freedom on taking few months off if I want to. I also want to work remotely for myself. I know they say the grass is greener on the other side, but I feel like this corporate job gets boring quickly...........do you have any advice for me please?
hey, I'm on the same both as you. I don't think invest will help. I put $100k into a market, making 100% returns but you know. It's not stable. I'm looking to build a product that I could sell. I'm currently looking into Compliance Automation (such as PCI). Just want to let you know that, there're people out there have the same feeling as you
@@hoangle8030 yeah..im sure there are some feeling like this. Tnx for replying....iv started putting my money in the stokemarket too...did you say you put $100k in the market?? Thats a lot of money lol
@@hoangle8030 By PCI do you mean Payment Card Industry? What type of compliance automation tools do you mean, like security compliciance or legal compliance etc. I am confused by compliance automation, even when i searched it up i still didnt understand the term.
It's weird seeing Principle Software Engineer at the top. Where I work, that's the third position of six, being superceded by Senior Principle, Staff, Senior Staff, and Fellow being beyond the regular 6 roles.
Hi Cody, I want to know that being a staff software engineer do we need to work as a senior engineer as well ? or it depends on a company setup that I will be looking after only a product line and team or I could work with code as well for a single product? I hope I am not confusing you 😊. Thanks for the video btw 👍🏻
Honestly, I have no idea. My best guess is they are working closely with their manager, which could be a Senior VP or CTO, to identify issues and come up with solutions to those problems without being too in the weeds. At a certain level, everyone stops coding day to day because their time is better spent with elevating others and empowering them to do better. What that looks like though is different between management and IC. Hope that helps, I wish I could give more concrete information.
Can you make OS like harmony OS from scratch👀 and could you lead the development of a new OS like fuchsia ?? Where I come from there are no staff software engineers to ask ... and i'm eager to know who designs ,leads and implements such complex projects.....I am like addicted to complex software😅
I felt presenting the explanation of a Principal Engineer as a combination of a Staff Engineer and CTO was confusing. It didn't make their day-to-day responsibilities clear to me. Are a Principal Engineer’s responsibilities more clear to you now that some time has passed?
Thanks for the subscription Gideon! I had been looking for a new job in January and am currently going into my last week of work at my current company. I say this because I haven published videos in a little while. However I should have new videos coming out the week of the 17th and I hope to be back into a regular cadence. Thanks again for subscribing!
How long did it take you to get to staff software engineer? I've been in the field for 5.5 years and have been a senior engineer for just over 2 years. I'm operating at a staff level but I'm not getting promoted...
It took me around 6 - 7 years to reach that level. It can take time and patience, ultimately I just said I wanted to make $12k more and justified why. My manager came back with a promotion when it was time for annual reviews.
I have a video breaking down my salary from 2019. It depends on level and location. The lowest I’ve made as a senior engineer was $78k it tends to vary quite a bit
It depends on company, when I was at Allstate they were a completely different career ladder so you wold have some architects out of college (which didn't work too well). Anecdotally though from what I've seen at other places an Architect is generally at least a senior software engineer if not staff or principal.
I'm an intern and my company has asked me to create an Uber like app for us complete backend and a website portal and the frontend app to another intern I'm so frustrated by implementing these complicated sockets request
It sounds like a fun intern project, the company is dumb as heck for giving that to interns though 😂 Don’t stress it, you’ll either complete project or you won’t. You’ll be able to talk about it later in interviews though so that’s a plus 👍
I would just focus on doing your best. Internships being time boxed to a few months makes things a bit more stressful. Your company ideally won’t be upset if you aren’t able to build Uber in 3 months, if they are, then it doesn’t sound like a great place. Saying you were able to get to 50% or even 75% done would be impress most interviewers.
Hi, currebtly i'm a senior software engineer in a big company, and now the company offered me a new promotion to software engineering specialist. Do you know this role? Thanks
I do not, I would check out levels.fyi to see where that role falls compared to other companies. In general I don't really care about job title, I'm more concerned with total compensation 🤷♂️
Yeah it really depends on the company. Some companies will have a lot of staff engineers others won’t have many. Being able to lead multiple teams is helpful, generally staff engineer is the same level as senior engineering manager while senior engineer is the same as engineering manager.
@@CodyEngelCodes I was mainly referring to FAANG companies. I think here an engineering manager is equivalent to a staff software engineer, with senior engineer being one level down. I am interviewing for one right now, and the level will most likely be senior engineer as per my recruiter. But I will try for staff software engineer. I do have team lead experience but have never lead multiple teams at once. So do you think that FAANG companies could accept someone without cross team lead experience as a Staff software engineer?
Really depends on company. I think Google and Facebook are a little stingy with levels so you have a lot of folks that end up at senior with fewer people working as staff. Although it does seem like the role is opening up more, perhaps because everyone was tired of getting stuck at senior 😅
@@CodyEngelCodes I see. I am actually interviewing for FB. Any tips that might help me get a Staff position instead of senior? Also it will be great if you could make a video explaining in depth the responsibilities of a Staff software engineer. Like does "team lead" include settings up the architecture? Do staff eng write code for both teams? Are they working on teams simultaneously or switching between the two (like weekly, monthly)? Do they do all code reviews for all the teams? Are they more focused on one team? How does their day look like? etc..
I can do a follow up video on this. For tech interviews the best advice I can give is to over-prepare (especially for Facebook) and tell the recruiter you are looking for a role as a staff software engineer. They want you to get the job just as much as you do so it’s good to be open with them about what you want (just don’t talk about salary until they give you an offer 😉)
Ok, I stopped the video @ 2:34 mark. I challenge anyone in the audience to post here an actual job listing for a Junior Software Engineer where they expect basic skills that Cody has mentioned. I am struggling to find a job as a Jr level position because each company I came across is under the impression that a Junior Level needs to have 2 or more years (on average 4+ years) of experience, knows how to write a complete program from the backend to front, thinks javascript is a child's toy, understands the whole OO theory and can walk you through the MIT version of improving the Oxford's Binary Tree traversal. When it comes to interviewing time, the technical questions, whiteboard, or code tests given are downright difficult and appear to be for mid to senior level. Companies are delusional if they expect a Junior developer to be a rock star Google Software Engineer. I'd expect junior level evaluation would be more like, here is basic questions or example problems on HTML or CSS. You know it great! We can work with you to improve your skills. We know it will take a few months to catch up to speed but you made it this far. I even applied for companies that would take in interns after college and it's the same deal, they want that expert Senior developer experience with intern pay. It's a big waste of time and demoralizing when you are two or more interviews in and you get that impression they are asking for too much responsibility. Why has it come down to this? Is the market flooded now? Did some expert developers start a new trend?
Hey thanks for the comment. Interviews vary greatly depending on the company. If they are recruiting from universities then they will likely ask very academic questions because that’s all the candidates would know how to answer. HTML & CSS wouldn’t provide a great baseline unless the interview is for an entry level front end engineer, but even then you’d want to see JS and some programming experience. I’m really sorry to hear about your interviewing experience. There are companies out there that have a more compassionate interview process for junior engineers coming from a variety of backgrounds (not just CS grads). I’ll try to make some videos on interview prep in the future. I can say that the junior level I describe in this video is what I myself look for in a junior engineer and it’s often what others look for too, whether or not that is reflected in their own interviews is entirely up to them though.
Yah market is way flooded. Unless you put into extra effort during your summer break such as finding internships, study leetcode, you won’t stand a chance at landing a good gig
Lead engineer is typically the point person for a project. Some companies will rotate leads while others just have it baked into their career ladder. If your a perpetual lead engineer then you are generally focusing on project architecture and ensuring everyone on the team understands the why, how, and what within the project.
This is really good presentation. May l ask you some question? I want to know that what is the highest goal of being in this field? Are our passion helpful when we work in this field What kind of passion required in this field? Thank you so much
Thanks for the nice comment. There are several paths folks tend to go down. One track is management which ultimately ends with CTO, or CEO (typically CTO if you are being hired by the company though). The other route is individual contributor (IC) which depends on the company. Some places cap out at Senior a Engineer, others have Staff and Principal roles, very large tech organizations will have Fellows as well which is typically the tippy top. Passion is optional. Typically folks that enjoy the work will progress faster and are usually ones that get to the top of the IC ladder. That said, it’s not required.
As a Principal (lead) engineer I was responsible for establishing good coding practices and code reviews and audits of projects. Choosing good technologies to standardise on was also a thing though with JavaScript that ended up a bit out of control as various projects swore blind this new framework would make things much easier. JavaScript is the worst thing that happened to the software industry since ANYTHING. There less understood code out on there on live servers than there has ever been. JavaScript moves so fast in terms of en vogue libraries that the code written now is just gobbledegook to a developer 5 years from now. One of my basic tenets of good code is that is maintainable in 5 years. I've maintained 15 year old code that is still in use today because it was well written and in a long standing framework. You write code in this month's best coolest java script framework, good luck maintaining it 5 years from now. React and Angular are probably OK but anything more esoteric is a future consultancy bill waiting to happen. (Edit: Working for a fairly conservative Oil and Gas Service Industry. YMMV)
Senior engineer in x company could be an entry level in y company. Do you think senior or staff in Google Brain is not the same as in an early stage AI startup.
I’ve been meaning to do a follow up to this video, still in the early stages of thinking it though but I’d like to cover each role a bit more in-depth than I did here
Hey Salmaan happy to hear you enjoyed the video. I’ve talked with some of your colleagues 😉 right now I’m finding the best path to management, if that changes I’ll let ya know though 😌
@@CodyEngelCodes Ok, I understand. : ) I always wonder why we have tons of people who rent apartments, when they make enough to buy a home. Thanks for explaining that!
Yep. It’s also more nuanced than that. It can be hard to save for a down payment while paying off student loans too. For myself though I don’t see myself staying in Illinois long enough for a home purchase to make financial sense.
Hey everyone, thanks so much for watching. Let me know where you're currently at in your career and the biggest hurdle you're currently approaching, would love to help out :)
Hey Wayne, happy to hear you enjoyed the computer science principles course in high school. I saw your second comment about only having an iPhone, which will limit things quite a bit, but I’d go with one of the options listed here: www.maketecheasier.com/coding-apps-for-ios/ I wouldn’t worry about which one to use, just pick the ones that you like the most. I would try to save up money for a laptop, once you have that you could begin learning Unity which will help you move forward as a game developer. Best of luck and let me know if you have you other questions!
Hi, I am currently a senior dev, would like to eventually move up to the next level, I'm not 100% sure if I want to go into management or continue on the IC path. If you have hit this branch before in your career, could you explain your thought process and why you decided on IC? If not, what were some steps you took to get you from senior to staff?
Yeah, I go through this thought quite often. My mindset is if a company needs me to manage, I can manage. If they need me to write code, I can do that as well. Once you move into a staff role you should have fairly good leadership skills that are transferable to management.
Really go with what you are interested in. If a management role popped up for me today I would probably take it because it’d be something different and would be a fun learning experience. You can always go back to an IC, especially if you’ve only been a manager for 2 years.
@@CodyEngelCodes Hi Cody! im on my way to change career into programming. without taking a degree, how would you make that happen? and in which field is it easiest to freelance and get hired as a "self-taught" while still getting a decent pay?
@@Bananskaalet congrats on the career change. I already made a video talking about how to get into programming with a degree so I'd recommend watching that: ruclips.net/video/Ih5zuxLxP_Y/видео.html
As for the easiest field to freelance, it depends. Mobile has less jobs but also less competition so the lack of competition makes it easier. Web development has way more jobs but also way more competition, the variety of options though probably makes web easier.
As an engineer who has been in the industry for 12-13 years, this is one of the most important video I ever come across. There is hardly any content online to maneur at a 10+ level of experience. I truly appreciate you making this content and I will be following you for even more content. Thank you!
No editing, no fancy transitions or animations.... just plain, straight to the point answers with examples! Good job, I'm subbed now
Thanks! My newer videos may have a bit more animations but I don’t know if they are fancy. I would love to get your feedback on them whenever you watch them though. I’m trying to find the right balance when it comes to use animations as I think they can help reiterate the spoken information, but I don’t want them to become distracting.
Same
Thank you for the explanation of each level and expected responsibility. In my first 3 - 4 months as a full-stack engineer at a large company. I was given the task to build a new feature which was to implement the entire UI, endpoints, cloud infrastructure, and querying... I figured they had my best interest at hand, so I went for it, and you guessed it - I failed miserably. I blamed myself and was also labeled incompetent by my team and leadership because multiple senior-level engineers had to save the project. My confidence is still shaken from that assignment even though it was a few months ago, but I feel so much better after hearing this, thank you.
Now you will know when your ready remember fail forward
Hey, that’s alright, it happens. You’ve got a wealth of experience to turn to now. It’ll come handy in the future. You got this!
I'm a Senior Principal and your explanation of being a mini-CTO is spot on. Great video!
Thanks Tom! Really happy to hear that you enjoyed the video ☺️
Can we talk sir??
oh so you’re a genius?
Nice clear explanations. The only thing I'd add to your Staff Software in a small company, is that in your ~50 people company, there's often overlap between "staff" and tech leads. You could have ~8 staff also doing light management tasks too.
Since I recorded this video I've noticed the Staff Engineer role evolve a bit to be honest. The purest version is what I would have considered a technical lead, however I've also seen it replace Senior Engineer 2 in some companies and be used intermingled with Senior.
Also for startups who have investor funding, it's not uncommon to find junior developers in a mid/senior level position in the company since it's so small. One pro of this is that if the company does well then those early engineers have a leg up on other engineers who start off as entry level at established companies but it comes at the risk of potential startup failure. If it does fail though, those developers usually have had enough autonomy and experience to apply for good positions in established companies.
Very true.
If a startup hire junior developers to do senior level tasks, the company will likely fail.
Thank you so much for this video. It really gives a great idea of the different level in the software engineer career :)
Very straight to the point and 100% true
Thank you! Great video. By your definition, I'm a staff software developer. I work on 3 or more products / projects / teams at any given time. Sometimes, I'm the sole engineer and others I might be a site reliability engineer working with off-shore teams or a engineering contributor.
Sounds about right Rick, if you are leading or advising those teams then definitely sounds like a Staff engineer 😊
THANK YOU for posting.
THANK YOU FOR COMMENTING ☺️
Straight to the point 👍. Thank you!!!
Thank you. Clear and succinct!
Love this video! Great explanations, and I just shared it with my team! :D
Happy you enjoyed this video, hopefully your team finds it useful as well ☺️
@@CodyEngelCodes yeah my team really enjoyed it, thanks again!
Thanks for the overview. I'm about to start as an intern soon.
Yeah you’re welcome, best of luck with the internship!!!
Quite illustrative thanks
Yeah you’re welcome 😊
What are some tips people can work on to move from their current level to the next one up? Great content 🚀
Good question, the very general answer is to expand your scope of influence from where it is today. If your influence is only on yourself, then you'd want to expand it to be on your team. If it's your team, then you'd want it to be on your organization.
Great info. Where do you work? :)
Great talk. I'm hearing this idea of the technical track with engineering roles as you've described and the management track. Where does the role of software architect fit into the picture? Do companies have dedicated solution architect roles or are their responsibilities tied into an engineering role?
Software architects can be thought of as staff engineers and above. It's not necessarily 1:1 but it's close. Lots of technical planning, lots of technical guidance, although architects may be in the code a bit less than a staff engineer.
Hey, great video.
I work as a senior engineer for a medium-sized company in the UK. The next level would be Principal. I feel it's a tricky situation. Principal must tell what we need to do, they have to provide techincal leadership, good technical knowledge, larger problems etc. But in order for you to do that, you must know the systems and their technologies really well but that is something is not really there. We got the systems working and deployed and most tasks are about maintaining them, so how are we supposed to getting into that realm of principal if you don't know their systems except with longer time in the company? Most of the time you learn about something the moment you get a story to work with. Thanks!
Once you hit senior there is always a risk of just staying there forever. To move past senior you really have to show your abilities and also be clear with your manager about intentions. I’d recommend speaking with your manager if you haven’t already because they can give you good tips on what to focus on for the promotion. Past that it really comes down to understanding the system and being able to make a company wide impact with your work.
Unfortunately there is not a guaranteed path, just keep doing what you’re doing and focus on learning the overall platform you are working on.
Be pro-active about it and see what you can do
@@lepro0 Also be seen to be mentoring lower grade employees.
Passing on Knowledge and experience is a huge thing in development.
Any developer that hordes knowledge is likely insecure about his value to the company.
The real deal dev will share anything he knows because he knows more than he can teach.
Also when you hit Principal and you have to codify that knowledge into standards and the like you can meet some push-back.
No-one wants to be told their way is less good.
If you have been their mentor and have a reputation for bringing people on that will work much better.
Luv and Peace.
I like how at the end he covered all the cases, true software engg 🤣🤣🤣
I do be like that sometimes
Excellent, please keep it up
I will try my best :)
How long did it take you to get to the principal engineer role ? and as an incoming software engineer what are some things I need to do in order to get to be a principal engineer?
Be good at your job.
Hi, thanks for excellent video! When you say you manage two products, do you own them or lead the teams that develop the products?
I was leading the dev team that worked on the products.
Great Channel!
Glad you enjoy it!
My first job as a Jr SWE was three months ago. I was doing full stack work & full blown features for a small start up, it was remote, very independent, & asking questing was looked down upon. Which I understand, it was a small start up & people don't have a lot of time. Once my contract ended, they said yea, you were doing mid level work the whole time, I am glad I did not renew my contract since I was getting paid a Jr salary. I just want to find a company where I can learn & grow, give me mid lvl work I don't care...where are these companies???
Larger companies are generally happier to mentor juniors, but also smaller companies with a strong management and engineering leadership team can be great spots too.
Doing senior engineer work as a junior engineer making half of what an intern does at a big company. Time to update that resume.
This is great video of the different levels on paper. Now in real life…👀
The actual levels:
The intern that gives up after three months
The newbie
The script kiddie
The junior
The Slightly More Experienced Junior that Everyone Abuses
The visual basic or c# dev who can't wrap his head around pointers
The guy who used to be okay but stopped learning and is now stuck in legacy maintenance
The regular dev
The 10x dev who can't deal with "those useless idiots"
The embedded systems guy who only knows C and assembly
The dev with so much experience he's been coding for longer than you've been alive, whose code is either the epitome of elegance or something you'll never understand even if you outlive him
The guru who writes compilers, experiments with his own languages and advanced meta programming, consults with chip manufacturers on their architecture etc.
Does 40 hours work are suffice to get a promotion or you have to work in your weekends also to get promoted?
40 hours is more than enough. If the company requires more than that, then you’re being gaslit and should find a new employer.
@@CodyEngelCodes It's all about results not time spent.
If you can knock out a story solidly in about the estimate that's a win. Putting in overtime to do something you all agreed would take 1 day doesn't look good.
Sometimes it happens but you should be able to explain at standup why it was more complicated.
Luv and Peace.
Great video man. Actually learned something
Loved it ❤️
Thanks Saideep!
Hello 🙂 is an expert software engineer the same as principal software engineer? Thank you.
I work in Mountain View and I think I am somewhere between junior and mid-level engineer. I can potentially grow and go up the ladder. However, I am finding the entire career path less interesting as I time goes by. I have less interest now in going up the ladder than I had few years ago. I like solving problems and coding, however, I hate the fact that I am doing it for someone else and how I am dependent on working actively to get my paycheck. I want to create something for me, a product or a service of some kind, where I have the freedom on taking few months off if I want to. I also want to work remotely for myself. I know they say the grass is greener on the other side, but I feel like this corporate job gets boring quickly...........do you have any advice for me please?
Start a business 🤷♂️ another option is to just stick to 40 hours, collect a pay check, and invest until you hit financial independence.
hey, I'm on the same both as you. I don't think invest will help. I put $100k into a market, making 100% returns but you know. It's not stable. I'm looking to build a product that I could sell. I'm currently looking into Compliance Automation (such as PCI). Just want to let you know that, there're people out there have the same feeling as you
@@hoangle8030 yeah..im sure there are some feeling like this. Tnx for replying....iv started putting my money in the stokemarket too...did you say you put $100k in the market?? Thats a lot of money lol
@@hoangle8030 By PCI do you mean Payment Card Industry? What type of compliance automation tools do you mean, like security compliciance or legal compliance etc. I am confused by compliance automation, even when i searched it up i still didnt understand the term.
Thank You :)
Thank you xof, I appreciate it.
“smaller things not as critical to the features”
My friends who were junior level that pretty much had to do just about all the features:” 👀”
It's weird seeing Principle Software Engineer at the top. Where I work, that's the third position of six, being superceded by Senior Principle, Staff, Senior Staff, and Fellow being beyond the regular 6 roles.
Hi Cody,
I want to know that being a staff software engineer do we need to work as a senior engineer as well ? or it depends on a company setup that I will be looking after only a product line and team or I could work with code as well for a single product?
I hope I am not confusing you 😊.
Thanks for the video btw 👍🏻
You’d still be hands on with the coding tasks as it’s still an individual contributor role. You’d also be expected to lead technical projects too.
@@CodyEngelCodes Thanks :)
what do distinguished engineers do? Or people like the VP of SWE, etc. I'd love to hear about the higher ranks too
Honestly, I have no idea. My best guess is they are working closely with their manager, which could be a Senior VP or CTO, to identify issues and come up with solutions to those problems without being too in the weeds. At a certain level, everyone stops coding day to day because their time is better spent with elevating others and empowering them to do better. What that looks like though is different between management and IC. Hope that helps, I wish I could give more concrete information.
interesting...in my previous company, a small company, only has 4 developers. Every engineer has to work like staff engineer.
What about The Tech Lead?
I don’t have anything nice to say about them.
Can you make OS like harmony OS from scratch👀 and could you lead the development of a new OS like fuchsia ?? Where I come from there are no staff software engineers to ask ... and i'm eager to know who designs ,leads and implements such complex projects.....I am like addicted to complex software😅
I'm probably not smart enough to make an OS from scratch.
I felt presenting the explanation of a Principal Engineer as a combination of a Staff Engineer and CTO was confusing. It didn't make their day-to-day responsibilities clear to me. Are a Principal Engineer’s responsibilities more clear to you now that some time has passed?
Tech lead here 🤓
subscribed
Thanks for the subscription Gideon! I had been looking for a new job in January and am currently going into my last week of work at my current company.
I say this because I haven published videos in a little while. However I should have new videos coming out the week of the 17th and I hope to be back into a regular cadence.
Thanks again for subscribing!
How long did it take you to get to staff software engineer? I've been in the field for 5.5 years and have been a senior engineer for just over 2 years. I'm operating at a staff level but I'm not getting promoted...
It took me around 6 - 7 years to reach that level. It can take time and patience, ultimately I just said I wanted to make $12k more and justified why. My manager came back with a promotion when it was time for annual reviews.
@@CodyEngelCodes Curious about your salary as well? I'm senior and make 120k. Other seniors on my team make 150k. :\
I have a video breaking down my salary from 2019. It depends on level and location. The lowest I’ve made as a senior engineer was $78k it tends to vary quite a bit
Please don't devolve into tech lead/joma type of channel. Cool videos
I'm hoping to keep the content educational and somewhat entertaining for a long time to come.
And on which ladder are you?
Had been a Staff Software Engineer for a few years but now I'm moving into management.
Where do sw architects sit?
It depends on company, when I was at Allstate they were a completely different career ladder so you wold have some architects out of college (which didn't work too well). Anecdotally though from what I've seen at other places an Architect is generally at least a senior software engineer if not staff or principal.
I'm an intern and my company has asked me to create an Uber like app for us complete backend and a website portal and the frontend app to another intern
I'm so frustrated by implementing these complicated sockets request
It sounds like a fun intern project, the company is dumb as heck for giving that to interns though 😂 Don’t stress it, you’ll either complete project or you won’t. You’ll be able to talk about it later in interviews though so that’s a plus 👍
@@CodyEngelCodes Yes I'll try to complete it though, I don't want to leave a bad impression on my first step of career
I would just focus on doing your best. Internships being time boxed to a few months makes things a bit more stressful. Your company ideally won’t be upset if you aren’t able to build Uber in 3 months, if they are, then it doesn’t sound like a great place. Saying you were able to get to 50% or even 75% done would be impress most interviewers.
Thanks for the advice, It's good to know that I'm not crazy for thinking it's too hard. Yes I'll do my best.
💯
🥳
Hi, currebtly i'm a senior software engineer in a big company, and now the company offered me a new promotion to software engineering specialist. Do you know this role? Thanks
I do not, I would check out levels.fyi to see where that role falls compared to other companies. In general I don't really care about job title, I'm more concerned with total compensation 🤷♂️
Is it possible to get a Staff engineer role in a big company without having lead more than one engineering team?
Yeah it really depends on the company. Some companies will have a lot of staff engineers others won’t have many. Being able to lead multiple teams is helpful, generally staff engineer is the same level as senior engineering manager while senior engineer is the same as engineering manager.
@@CodyEngelCodes I was mainly referring to FAANG companies. I think here an engineering manager is equivalent to a staff software engineer, with senior engineer being one level down. I am interviewing for one right now, and the level will most likely be senior engineer as per my recruiter. But I will try for staff software engineer. I do have team lead experience but have never lead multiple teams at once. So do you think that FAANG companies could accept someone without cross team lead experience as a Staff software engineer?
Really depends on company. I think Google and Facebook are a little stingy with levels so you have a lot of folks that end up at senior with fewer people working as staff. Although it does seem like the role is opening up more, perhaps because everyone was tired of getting stuck at senior 😅
@@CodyEngelCodes I see. I am actually interviewing for FB. Any tips that might help me get a Staff position instead of senior?
Also it will be great if you could make a video explaining in depth the responsibilities of a Staff software engineer. Like does "team lead" include settings up the architecture? Do staff eng write code for both teams? Are they working on teams simultaneously or switching between the two (like weekly, monthly)? Do they do all code reviews for all the teams? Are they more focused on one team? How does their day look like? etc..
I can do a follow up video on this. For tech interviews the best advice I can give is to over-prepare (especially for Facebook) and tell the recruiter you are looking for a role as a staff software engineer. They want you to get the job just as much as you do so it’s good to be open with them about what you want (just don’t talk about salary until they give you an offer 😉)
Could I become a software engineer with just an Associates degree in computer science?
People have become software engineers with less. As long as you can get an interview and get an offer that's all that really matters.
@@CodyEngelCodes Thanks for the reply. By the way I was wondering what you think are the most important languages to learn as a beginner?
I'm a jr engg and got big big tasks to do by myself 😐
Just do your best, no matter what the outcome is, it will be good experience 🙇♂️
Price range???
Ok, I stopped the video @ 2:34 mark. I challenge anyone in the audience to post here an actual job listing for a Junior Software Engineer where they expect basic skills that Cody has mentioned. I am struggling to find a job as a Jr level position because each company I came across is under the impression that a Junior Level needs to have 2 or more years (on average 4+ years) of experience, knows how to write a complete program from the backend to front, thinks javascript is a child's toy, understands the whole OO theory and can walk you through the MIT version of improving the Oxford's Binary Tree traversal. When it comes to interviewing time, the technical questions, whiteboard, or code tests given are downright difficult and appear to be for mid to senior level. Companies are delusional if they expect a Junior developer to be a rock star Google Software Engineer. I'd expect junior level evaluation would be more like, here is basic questions or example problems on HTML or CSS. You know it great! We can work with you to improve your skills. We know it will take a few months to catch up to speed but you made it this far. I even applied for companies that would take in interns after college and it's the same deal, they want that expert Senior developer experience with intern pay. It's a big waste of time and demoralizing when you are two or more interviews in and you get that impression they are asking for too much responsibility. Why has it come down to this? Is the market flooded now? Did some expert developers start a new trend?
Hey thanks for the comment. Interviews vary greatly depending on the company. If they are recruiting from universities then they will likely ask very academic questions because that’s all the candidates would know how to answer. HTML & CSS wouldn’t provide a great baseline unless the interview is for an entry level front end engineer, but even then you’d want to see JS and some programming experience.
I’m really sorry to hear about your interviewing experience. There are companies out there that have a more compassionate interview process for junior engineers coming from a variety of backgrounds (not just CS grads). I’ll try to make some videos on interview prep in the future. I can say that the junior level I describe in this video is what I myself look for in a junior engineer and it’s often what others look for too, whether or not that is reflected in their own interviews is entirely up to them though.
Yah market is way flooded. Unless you put into extra effort during your summer break such as finding internships, study leetcode, you won’t stand a chance at landing a good gig
Have you looking for jobs that say “new grad.” You might find better luck there
What's a lead engineer?
Lead engineer is typically the point person for a project. Some companies will rotate leads while others just have it baked into their career ladder. If your a perpetual lead engineer then you are generally focusing on project architecture and ensuring everyone on the team understands the why, how, and what within the project.
@@CodyEngelCodes oh okay, I understand. Thank you so much for replying!
i wish he recorded this standing up
I will approach IIT for graduation
Congrats!
Mostly the software endineers having utube channel are sde 1 or sde 2 level
Till now I had not seen someone above sde3
This is really good presentation. May l ask you some question?
I want to know that what is the highest goal of being in this field?
Are our passion helpful when we work in this field
What kind of passion required in this field?
Thank you so much
Thanks for the nice comment. There are several paths folks tend to go down. One track is management which ultimately ends with CTO, or CEO (typically CTO if you are being hired by the company though). The other route is individual contributor (IC) which depends on the company. Some places cap out at Senior a Engineer, others have Staff and Principal roles, very large tech organizations will have Fellows as well which is typically the tippy top.
Passion is optional. Typically folks that enjoy the work will progress faster and are usually ones that get to the top of the IC ladder. That said, it’s not required.
As a Principal (lead) engineer I was responsible for establishing good coding practices and code reviews and audits of projects.
Choosing good technologies to standardise on was also a thing though with JavaScript that ended up a bit out of control as various projects swore blind this new framework would make things much easier.
JavaScript is the worst thing that happened to the software industry since ANYTHING.
There less understood code out on there on live servers than there has ever been.
JavaScript moves so fast in terms of en vogue libraries that the code written now is just gobbledegook to a developer 5 years from now.
One of my basic tenets of good code is that is maintainable in 5 years. I've maintained 15 year old code that is still in use today because it was well written and in a long standing framework.
You write code in this month's best coolest java script framework, good luck maintaining it 5 years from now.
React and Angular are probably OK but anything more esoteric is a future consultancy bill waiting to happen.
(Edit: Working for a fairly conservative Oil and Gas Service Industry. YMMV)
I am quite sure there is the Cat under the kitchen countertop.
Could be
how much do you make a year?
I have a video breaking down my 2019 compensation dropping on Wednesday, stay tuned 😉
how much does he make?
I talk about my salary in several different videos on this channel 😉
As you move up you write less code, simple.
Senior engineer in x company could be an entry level in y company. Do you think senior or staff in Google Brain is not the same as in an early stage AI startup.
the video had a great overview, would have been nice if you had covered the tech aspects of a Principal Engineer, justa thought
I’ve been meaning to do a follow up to this video, still in the early stages of thinking it though but I’d like to cover each role a bit more in-depth than I did here
And here I am, getting no replies to junior engineer positions
Facebook E7 recruiter here. Enjoyed the video. Reach out to me sometime, maybe we can touch base ;)
Hey Salmaan happy to hear you enjoyed the video. I’ve talked with some of your colleagues 😉 right now I’m finding the best path to management, if that changes I’ll let ya know though 😌
It looks like you rent an apartment??
I do!
You sound sure about that, I guess you probably travel and work?
Don’t really travel, I just don’t want to buy a place in Illinois. Property taxes are bad.
@@CodyEngelCodes Ok, I understand. : ) I always wonder why we have tons of people who rent apartments, when they make enough to buy a home. Thanks for explaining that!
Yep. It’s also more nuanced than that. It can be hard to save for a down payment while paying off student loans too. For myself though I don’t see myself staying in Illinois long enough for a home purchase to make financial sense.
He has such a duckling face
Huh?