So AI did two opposite things to the junior level. Which is, number one, in the short term, there are a lot less jobs for juniors. We have an employment for CS computer grads at 6% for the first time in years. That also has to do with the economics, but on the flip side, it also empowered the juniors a lot more. So back in the days, if you'd be a junior, you really needed a lot of hand holding and pretty much any questions had to be answered by a senior engineer that had to mentor you.
Usually those people never had the time because they're just churning out features and doing bugs, and you'll be left at your own devices with whatever documentation companies had, usually not a lot. Nowadays, they give you a code base, you can just query it with LLM and the LLM not only answers questions, but it can also guide you to bring a feature to an end and even do it for you. So all of a sudden, juniors can actually deliver features, kind of end-to-end almost features.
two questions pop into my mind. Number one, if juniors can deliver end-to-end or almost can deliver end-to-end, what does this mean for mid-level and senior developers? And secondly, if juniors with AI can deliver end-to-end, then why aren't there any job openings and it's so hard to find a junior position in the first place? Yes, so because juniors are also delivering end-to-end features, the frequency of everything that we shipped change a lot, we are shipping a lot more code.
So a lot of the work at the senior level, we'll see it's around building the software factory, building the systems that can sustain all this. As a junior, they can deliver features, but do they understand the long term? Consequences of choosing one strategy for our CSS or for our components or for our back end. rather than the other, probably not, they can know it at a theoretical level. But they never had that production experience when things actually break.
So, yes, they can deliver a lot more, but you need seniors to enable the platform on which they deliver. So that's number one. And about the employment question, the pro is the junior label, the way the industry recruiters and hiring managers look at juniors is still as someone that needs hand holding. And given the immense pressure it's on the budget right now, because a lot of companies are buying tokens, they're spending on AI and tokens and so on, they really want someone that just can come into the code base and deliver end-to-end, just because the economics around it. So, what happens is they don't want to bet on someone. It's also, because there's so much change, they don't really know where to go. So, they want the senior people to kind of tell them. They are not ready to absorb junior work. All this is to say is that if you're a junior, you have to brand yourself as a software engineer. Take any work you can, if you can freelance, if you can work for free, if you can do volunteering so you can add the work experience to your to your resume and work with AI, and then go to companies and show them how you can deliver end-to-end. Never market yourself as a junior and don't mention side projects or anything that makes you look junior. People talk about their portfolio and side projects. Those are they scream junior. You got to show them something that's real. So, if I understood correctly, if I'm a junior engineer right now, I should think of myself as a senior engineer from let's say 5 years ago, because with AI, even as a junior, you're way closer and way more able to deliver almost end-to-end, like a senior a few years ago. And companies are still stuck in this old mindset where they are actually looking for what a senior engineer was a few years ago. Right, so they're solving two problems in one shot. Exactly. Now, moving on to the mid-level, Bogdan, how do I go from junior to mid-level and what does mid-level mean? These days with AI. So, obviously, mid-level engineers also got a lot of benefits. from AI and so back in the days you'd define mid-level as someone that can own a feature. Now they can own a whole application. So if you're a front-end engineer, you could probably work across the whole surface of the application and even make more global decisions. And if you're a back-end engineer, it's pretty much the same. What changed is that as a front-end engineer now,
because when you're at mid level, you're working a lot of times in a implementation building the feature, now that will be more or less instantaneous. So you have the chance to go into architecture, you have the chance to go into the CI CD pipeline. If you're a front end, you can even touch a bit the back end, and if you're a back end engineer, you can get close either the DevOps side of things, go deeper in the database.
Just because you're time freed up. So not only you do feature delivery, but all of a sudden you can care about architecture, a bit of system design, in end to end delivery when it comes to observability, metrics, CI CD, granting, uptime. All those things used to be owned by the senior in the team, but now it kind of democratizing in a way. One question that comes to my mind, is now that everybody's kind of move moving up and doing more, the juniors are doing more, the mid levels are doing more.
I guess the seniors also doing more. A lot of people are worried about conflicting responsibilities, you know, if I'm doing more and you're doing more, at some point we are going to have a conflict, we're going to have a collision, right? Yes, if you assume a static mindset where we're building the whole thing, and now you can also do what A used to do, then cool, but what happens with AI is that a lot of things that were not possible are now possible.
People that were building React Native apps, are building now native apps with Swift and iOS. So the surface that any of us has to own became much bigger. The expectations on a junior level are not the ones we used to have. The expectations for an normal software engineer are not the ones we have. The speed at which you need to make decisions in terms of the quality of the code, it's much higher, and you need to make a lot of decisions without necessarily knowing what the code is.
You need to somehow infer what the decision will mean for the code base. Not only that, but what we are seeing is that the focus now, it's on token efficiency. So, until I think mid of this year, it was all about, okay, let's adopt AI, add it everywhere, spend as many tokens as you can, token max. But now companies realize, hey, it takes time to build valuable stuff. It takes time for us to monetize this.
what our cost increased. Now we spend on the people and on AI. So what they are doing is, okay, let's talk to our senior engineers and see how do we spend our tokens, how do we design the code base, how do we design a token efficient code base? And we call that a zero token architecture. So things definitely change. We are not building the same software we used to build three years ago. If you're looking at the software from three years ago, your typical crowd application that will take a lot of manual work to get to production, then yes, you'd feel like, oh my god, I'm being displaced.
But the reality is, yes, you are being pushed up, but there's a lot of space up where you can grow. Talking about this intuition about technical decisions and making technical decisions, I guess that leads us to the senior engineer, senior full stack, seems like, we have there. How does the senior engineer level changes with AI? Right, so one of the biggest difference between all those levels is that with AI, they could all build the same feature.
But the way you can tell if someone is a C or not, it's by the quality they get in their first version. What we are seeing is a lot of applications are just getting slop. There's a lot of production bugs, there's a lot of incidents. Because people don't think too much about what they're doing. They don't think about the consequences or they don't have the experience to own the service they they have.
So we are passing this depth to the consumer. We are passing the bugs to the user. And you can see big applications are breaking. And so the difference today is not anymore the speed. Back in the days you were a senior if you could deliver faster and the reason why you could as a senior engineer own end-to-end features is because you're reasonably faster across all the stack. Whereas the mid level it's take them ages.
So now the difference is quality. Whereas a senior could get the same feature live, they would spend less tokens and there will be less production defects. There'll be less bugs basically. The other difference is that the senior can understand the software factory we are building. Not only the feature that comes out, but also how should we set up our agent MD, our skills? is the more stable. So they talk more about the not only the car, but the factory that produces the car.
Uh now, a lot of people are talking about software factories. I saw other people comparing it with a kitchen. Because software it's a design process, we are not training out the same car all the time. So this whole comparison with the factory is not direct. People are trying to build the structure, but the software needs to be a lot more mobile. Anyways, all this is to say that the the senior full stack engineer would probably be the person that delivers across the stack with AI, with the highest quality in the least amount of iterations.
And I'll say they don't only deliver software, but they make the system that delivers software. The teams, the AI, the code base, the harness that the models are working around them better, right? And that's a totally new dimension for a senior engineer. One thing I want to touch upon is we see a lot of front end engineers which are also lost, they feel like the market has been displaced. And that's why you have this full stack word there, Bogdan.
So why full stack? So with AI, all of us are required to move towards the full stack a bit more. So either you're in the back end or in the front end, companies, they want speed, they know what the models can do. And you will be required to work across the full stack. Now, this does not mean you you have to get into database optimization, but if you look at front-end engineer positions in the US. In the last three months, we've scraped around 10,000 of them and 60% were mentioning rest APIs and Node.js as a core skill.
Those are front-end positions. So front-end is not anymore just the client application. You also care about the data layer. So my advice to everybody in the front end is look at your front end skills, make sure they are solid, and if they are, your best way to increase your chances in today's market is add full stack skills to your skill set. Bogdan, what about the next level? I think at senior level way people split between individual contributor and engine manager, and I know at least engine managers have been highly impacted by AI. Yes, so when it comes to the senior full stack engineer, this is what we call career level because it's where you could stay for the rest of your career. Now, the thing that changed with the senior level is that back in the days used to be very attached to your tech stack, so you'd be a senior full stack engineer that knows React and TypeScript. Nowadays, it's easier for you to extrapolate that to other programming languages or even other platforms. So when we talk about full stack is not anymore about your typical stack, somebody that can really think about the high level the fundamentals of software engineering and they can apply that to even a different platform like I don't know, you could do embedding engineering, you could build a mobile app. So this is the most stable level, it's also the hardest to get to. Because you need to be able to move very fast from sequel optimization to CSS patterns. So your fundamentals have to be really be really strong and you need to have this ability to transverse your knowledge from one point to the other. Now moving up, you could choose to either go on the management track or go to the CTO level. What we've seen in the last couple of years is that the management track also became more thin. A lot of companies fired a lot of engineer engineer managers and a lot of tech leads. A lot of the clarification and alignment can be done with the central LLM. All the companies have this central LLM that you can ask things about company strategy. So a lot of the management work, it's also being replaced. But again, when it comes to hiring people, making sure the culture is okay, you probably have a lot more conflict now as you mentioned between different people because they all overlap. It's very hard to set boundaries for responsibility. If there's a live bug, who did this? And so I do think you will need very good. Engineer managers and head of engineering, but again, the the sector is changing. A lot of those big companies have been letting people go and what
Amazon and a lot of water companies they they said they force their engineering management to become hands on, which is closer to the senior full stack goal or the lead developer. So all in all, this is to say that the manager also needs to become a bit more full stack. I would add, fuck that now that everyone it's building and building and shipping, I I feel like alignment of the product, alignment of the team, alignment of the code base, it's something that someone has to do a lot more intensely than they used to do a few years ago because you just have a lot more stuff. And it's easy for teams probably to go in different directions to be like, let me build this, let me everybody has an experimentation mindset right now and I think they forget about the the vision. Right? And probably an engineering manager role is to align that single vision just more intensely, like before because there's more stuff being built, align the product managers behind it and align the management behind it. So, if I would be an engineering manager right now in the market, I would specifically talk about my my ability to steer teams in the right direction when they're building and shipping so much. Exactly. So, it's easier than ever to just go into 100 different directions and you'll see products that are not cohesive at all in terms of how they behave. I'm not only talking about CSS, but also like the interaction patterns, how screens look like and what happens to the back end. It will all look different and the one thing that I want to mention with AI is that it made easier to build new software companies. Now, it's going to take some time, but I do you do see a lot of AI founding engineers, a lot of positions where they require someone that's pretty much at a senior level and has a bit of understanding of the product and they are building things from ground up. So, what happened is big tech is getting a bit displaced and a lot of the new positions and is very relevant to your senior full second year will be in traditional industries. where you're going into finance or healthcare and you're working almost directly with stakeholders and AI to build something from scratch. Awesome. Then what about the individual contributor path beyond senior? We had you could become a freelancer and contract, stay at a senior level, like you said. You could become a lead developer and lead teams, but technically.
And then there was the principal staff engineer Pat. Exactly, so the freelace contracting is pretty much the same dynamics as a senior. The only difference is you can usually charge more, but you have less stability. The developer is pretty much where engineering managers are being forced. And the principal staff, this one is weird because those are the people that are actually focusing on actually the AI work.
So this means kind of building harnesses, doing a lot of context engineering at company level and doing a lot of choosing which models do we use, optimizing our tokens. So there's a lot of work to be done there and also there's a lot of pressure on all these downstream services. People are releasing daily now, we used to release every two weeks. And so there's a lot of things that are breaking under the hood and the principal engineers are the ones responsible to together come to the company there.
One of the good examples I can give is we had this new model that is Jeff, which is basically about adding static safety to LLM generations, to LLM decision making. And that's where engineers, principal engineers come in and like, okay, what are we should we use a reasoning model? Can we use a decision making model? Can we use a local model? Can we run an open source model and all those kind of things?
That are not, you don't need to be a machine learning engineer for this, it's traditional engineering. And that's where they would work, whereas back in the days they would be like, oh, should we split this microservice or not? Which is now the kind of work that even seniors can grasp. Now, I feel like we went very fast around the freelace contracting. That's a whole word by itself, because now with AI, companies feel very capable and there's a lot less freelance work going around in the first place.
And the work that's left for the folks watching us, the expectations are crazy because people are like, hey, I'm I'm, you know, I'm paying you, you know, 1,000 bucks a day, then just can you just use AI and ship it? So if you want to go into freelancing right now, right, number one, you're getting into a much more unstable market. And and number two, you have to be a master of managing expectations because what AI did, it's totally distorted distorted expectations.
Over employees in the first place, but I can't even imagine. the pressure freelancers are under. Right now, if you want Bogdan I to do a video specifically about the freelance dynamics with AI coding, then just let us know in the comments. Now, moving on to the last ladder, Bogdan CTO, very interesting for people who have high aspirations in the audience. How did the CTO job change with AI? So, I think CTO was one of the most stable, just because a lot of the skills at the CTO level are dealing with varying incomplete information. It's a lot about hiring, and yes, you can ask AI how to do those things, but it will be a recipe for disaster. You still need experience. What we see a lot is this position called founding engineer, which is kind of a CTO founding engineer. And you see a lot of small companies, people that we're doing HR or sales, that all of a sudden, they see the opportunity to build their own software and they need a founding engineer. Which is someone that kind of does product management and development, and I think there's a lot of opportunities there too. Now you need to make sure that you have very sound fundamentals so you deliver with quality. Because you are the last person, something breaks, it'll come to you, and you need the product skills. So you get this combination between product management, moving fast with AI and traditional full-stack engineering. So, I think that's a new one, and it's pretty much the same about the what we call the forward deploying engineer, which is the equivalent of founding engineer, but in established company. Where you get in and you're doing a lot of consultancy around the product, and then once the solution is defined, then you can execute on it with AI. The million dollar question now, in the past, seniority being the difference between a junior, mid level, senior, what was all about thing capability, right? But I feel like AI changed that and my question is, what makes a senior now? And what is the thing that developers that who want to level up should focus on? What's the criteria there? So, if I would summarize it in one word, it would be quality. And so, quantity is not a differentiator anymore. Just like blog posts and social media posts, everything can
can be done in seconds with AI, but the quality will be very poor. And the problem with quality is that you will get that feedback after you deploy that to production and you have less users or more bugs. And what we will see is that is the people that can reasonable software quality is the people that ask themselves, okay, we're having all these bugs, is it because the architecture has to be changed?
Is it because we need to use something different in the way we do our state management or do we have to change our database? And so that kind of questions and having that wisdom only comes from experience. The problem I see with AI and cloud code is that they can definitely do great work if you are able to ask them to do great work. And the only way for you to do that is if you understand software engineering, you understand how computers work, you understand HTTP, you understand HTTPS, and you really can reasonable those things.
Now, you won't have to write as much code by hand as you used to, but the decision, the quality of your decision making matters more than ever. So, yeah, somebody can come in as a junior and talk about how they can ship a lot of features, but nobody will care because everybody, even a product manager can ship a feature on the code base right now. So that has nothing to do anymore with engineering.
And that's something I want wonderland because people say, hey, you know, everybody can answer these questions. You know, you just give them access to cloud code and we heard stories of developers and companies where everything is being done by AI, every everything has been the whole business logic has been fed into into models, the tickets are being written by AI and they are being implemented by AI and it's all kind of this virtual dimension where nobody really knows what they're just following what the LLM says.
And what people have to be aware of, it's that, yes, everybody can find an answer if they have access to cloud code. But but what if they don't? So the question is, how can you reason and what can you do without AI first? Because everyone has access to these models. They are a commodity. The one thing I would close with is that everybody can buy a camera and everybody can buy a phone, but that doesn't make a photographer.
With that being said, folks, if you're trying to and listen. Where are you at in the software engineering ladder? Are you a mid-level, junior, senior? Then check the link in comments, there's a free technical assessment, that's very much focused on fundamentals. It's about 10 minutes and it will give you a full overview of what your technical gaps. Also, if you're looking to get higher in the next 90 days, check the link in comments.
We have a specific program for that. And if you're looking to become an AI native senior full stack engineer and work with Bogdan I personally to help you do that. Check the link in comments and see if you're a fit. With that being said, Bogdan, thank you so much and we will see you folks in the next one.