8 ms·
The Future of Junior Software Engineering Roles
- pootietangus 1y ago”… I think that at this point, you might see the problem for many junior engineers. If a senior or even lead engineer can break down his problem into the smallest pieces and task an AI coding assistant with writing those pieces, then why bother with a junior engineer at all?”
- andsoitis 1y agothe senior engineers will age out, so the industry would want to make sure there's a pipeline of new software engineers
- dedup 1y agoFrom the individual incentive standpoint, it's not immediately clear who would make a decision to establish such a pipeline and subject their organization to short-term competitive disadvantage. A CEO of a public company can't really say "our R&D is 2x our peers because we're building a pipeline". What I suspect is going to happen is something like the regional pilot situation, where one toils for pennies at lower levels and then gets to comfortable compensation numbers 10-15 years later.
- ringeryless 1y agoI suspect we will continue to have junior developers, albeit the tasks they are tasked with may change. One big issue is that it is expensive to have senior devs essentially correcting AI slop. Additionally, at current prompt pricing I suspect a junior dev is a better ROI still. A more likely result is increased expenditure due to trying to keep up with the AI hype, not a reduced team size. I have yet to hear of a productive software development shop successfully reducing staff count due to LLM usage.
- Terr_ 1y ago"Why should I train them up when they might leave? Let somebody else train them, then I'll hire them afterwards." — Companies, in a prisoner's dilemma.
- ochronus 1y agoThis. So much this.
- MonkeyClub 1y agoI train them for you, you train them for me, together we make a happy industry. The juniors you train today someone will poach, surely, as you'll poach someone else's, and it levels out.
- rndmio 1y agoTraining people is a cost, an investment, if everyone does it the cost is amortized across the industry. If I can cut that cost by using AI I'm now at a competitive advantage, everyone will look to cut that cost because the downside of paying for training juniors that may leave is worse for that company than the downside of the whole industry not training juniors any more.
- MonkeyClub 1y agoThat's true in the short term. Fast forward half a decade forward, and there's no juniors or mediors to onboard, no-one to have gemeric expertise that can be fine tuned to your product.
- deleted 1y ago[deleted]
- amy214 1y agowell you sit them down before they take the offer and level with them "If you come here I promise I'll treat you good and train you up for a bright future, but in exchange ideally I want you to stay for at least two years if you can help it, otherwise the cost of training doesn't work out" It's not a legal agreement but a gentleman's agreement. They may still freely leave for whatever reason, especially if they were not treated well or treated like a slave (ie employer broke the agreement), but if all goes well it's some assurance, or at least a communication so everyone is on the same page. And usually being on the same stage and starting out with such trust sets the stage nicely for a good, trust-based safe working relationship
- devoutsalsa 1y agoThere are a lot of careers with no formal training on-ramp. If demand for software engineers continues and there’s no practical way to get enough on the job experience, there will be plenty of self taught developers that grind long enough to get the experience they need. I became a software engineer at age 40. No one would take me seriously as a junior developer, so I just kept leveling up my skills until I could get a mid-level role at a company that was desperate enough to hire me.
- ggm 1y agoI think in hindsight it would have been amazing to have senior students in the team exercises, but really what would have been even more excellent would have been industry placement. Things like not having this is why my 1982 degree failed the bar for BCS chartered engineer status. I continue to believe the first 12-18 months after graduation are vital. I still can't believe some of the things I thought about s/w before I entered the workforce and I can't believe some of the things I got away with over the years since.
- eastbound 1y agoI thought Quality Assurance was a thing! The more I fled it, the more I learnt the skills of programming. I think our kids will look at us and the way we thought filling forms was providing any assurance of quality, and perhaps by then it will be all LLM-no-forms.
- dzonga 1y agomost computer science programs in the US - are just "applied math". I'm from a 3rd world country but did CS in the US at a state school - you only do programming for the first intro programs like C then OOP that's it. DataStructures, Databases, Operating Systems, Discreet Math etc are usually done without any programming at all. besides one or two assignments The rest of the program it's mostly Math stuff. The only other time you do programming is if you choose an elective towards your graduation.
- rester324 1y agoInteresting. I wouldn't have thought that. I have an MS in CS from a small Eastern-European state run university, but the curriculum looked very differently: a ton of applied math yes, but also assembly programming, graphics programming, networking, databases, programming intro I-I, advanced programming I-II, project management, artificial intelligence, all kind of specializations, algorithms and data structures I-II, etc. Is this not how it is in the US? Edit: and most of those courses had practical lab sections with hands-on programming
- hansmayer 1y agoWell, thats the reason its called computer science, and not "computer vocational training".
- codr7 1y agoSomeone with enough money and long term vision could hire them, train them and rent them out for profit.
- constantcrying 1y ago>I believe that the response of computer science departments should be to refocus themselves on the skill abstract problem-solving. Absolutely. The value in a CS degree is not in learning this or that language or tool. It is in being able to understand how to solve difficult problems effectively.
- marcus_holmes 1y agoWhen I got into the industry (back in the early 90's), a large minority of new developers didn't study CS at University. We learned to code on the new, fun, microcomputers that were around, and then later just landed jobs as programmers almost by accident because we could already code. I suspect this will be the future; the vast industry we're in now will shrink (as we're seeing now), and will rely on self-taught programmers more as AI removes the Junior role. There will always be people who enjoy writing code and will do that for fun, I think. It'll be interesting to see what happens to all the other folks who never wanted to do this in the first place and only got into it because it's a good career.
- tialaramex 1y agoI think this "self taught coder" approach has two distinct big problems over actual Computer Science graduates writing software 1. Cliffs. There are big swathes of theoretical CS where we know things can't be done, and the self-taught people would smash their faces into such problems forever because they won't even realise it's insoluble in principle rather than merely difficult, whereas with a more principled background you needn't expend this wasted effort. 2. Local Maxima. Without a principled understanding it's easier to mistake a local maximum you've stumbled into for a global maximum. After all, all the small tweaks you tried make it worse, so, how are you expected to guess that a violently different solution would be better? Theory could help but you don't have any.
- raddan 1y agoThese are absolutely spot on. I worked as a programmer having been a self taught coder. There were important things I just did not understand. A good example is how to gauge the runtime complexity of a program. I did not know what I did not know. Looking back at the code I wrote then—eek! I hit another wall later in my career and that drove me to go to grad school. I met some folks there who clearly leveraged their CS knowledge (eg, people who were solving niche compiler problems “for fun”) and I realized that there was a lot more to CS than the stuff I had learned on my own. So I stuck with CS and never went back.
- shivasaxena 1y ago
- ochronus 1y agoThere's one angle which most of these arguments miss (totally not in the scope of the article, which is fine). A couple of statements I believe are true (based on my and my network's limited experience): 1. Juniors grow. Most of them grow fast, becoming solid mid-levels in 1-1.5y (in the right environment) 2. The industry depends heavily on a wide pool of mid-levels. These are the folks who can produce decent quality solutions, and don't need hand-holding anymore. They are the “velocity” of the team. Engineers tend to spend a few years there, before they might grow into seniors. 3. Seniors will age out. 4. AI doesn't grow (as it is today), it's stuck on the low-junior level mostly. This might change, but currently there are no signs for this. 5. Seniors would need to spend _a lot_ of time fixing AI's output, and course-correcting. Now, all of this combined: the junior --> senior transition takes say, 5+ years on average (I know, depends). If we move on with the "1/2 senior + AI agents" model, how does a company form a new team? When those seniors move away / retire, who's taking their place? What happens to the velocity of the team without mid-levels now? If we let this go on for a couple of years before a reckoning of "oh crap" happens, it'll be very hard to come back from this --> certain "muscles" of the aforementioned seniors will have atrophied (e.g. mentoring, growing others), a lot of juniors (and mediors!) will have left the industry. I hope companies will recognize this risk in time...
- gloxkiqcza 1y agoOne more thing to add: AI enhances capabilities of everyone, including juniors. Juniors with LLMs can do more than juniors without them could and therefore their value proposition is greater than before.
- ochronus 1y agoVery true! But, they are also more prone to just rolling with whatever quality AI throws at them.
- gloxkiqcza 1y agoRemembering some PRs from before... It was always about how much attention to detail/quality the particular junior dev pays. Often times it’s not much at all which might be harder to notice now.
- 5350-uiop-1130 1y agoin 10 years everyone will be junior just having a brain and thinking for yourself will be a super power half the US economy already relies on the fact that younger people dont know how to use computers
- MonkeyClub 1y ago> half the US economy already relies on the fact that younger people dont know how to use computers That sounds interesting, could you expand on what you mean by that?
- iLoveOncall 1y agoNot OP but people though that GenZ would be great at using computers because they were born in it. Turns out they suck at using computers even way more than boomers because they are used to the curated interface of smartphones and can't solve any sort of problem on their own.
- amy214 1y agoIf one looks at the chronology of programmers you can see a sort of parallel > whitebeards: programming was assembly on big iron. these guys understand computers at the lowest level and can code down to the punchcard >graybeards: programming was C/C++/pascal/vanilla javascript/html etc these guys sometimes know assembly but do generally understand memory, stacks, heaps, and can write optimized code >brownbeard: programming is python, react.js or similar. grew up in times of cycles-a-plenty, so never learned as much about optimization (nor, never really needed to) what we see throughout is a russian doll of abstractions. and 99.99% of the time it works great these abstractions, everything is faster and easier and what's underneath doesn't really matter. the debatable point is that 0.01% of the time where "under the hood" can be useful, sometimes tremendously useful.
- JoeAltmaier 1y agoIf we're talking about execution hours for common apps, that stat might be close to real. If we're talking about engineering effort to create performant, deployable apps and systems, it may be different. There are a significant number of difficult software systems that require complete knowledge of what's going on 'under the hood'. Think, runtime for all those wonderful abstractions. Libraries to port huge systems to different hardware and operating systems. The large datacenter infrastructure that supports all the magic. Those things are an entirely different universe than 'put up a webpage' or 'auto-generate a schema' or whatever.
- zkmon 1y agoThe big assumption being made here is that the software work involves really coding a lot. Not it doesn't. In my company, actual coding, design, logic etc all are only about 10% the overall work. Software engineers are not employed by technology companies alone. We call these tech companies technology vendors. The situation described in this article might be a bit applicable to these technology vendor companies, but not for non-tech companies who employ the bulk of the global software workforce. There is hardly any real logic or coding work involved. You would believe me if you work in a non-tech company. Most of your time goes into navigating the company's process, tools, and people. Yes, it is called People-Process-Technology for a reason. Even the word "Technology" here refers to engaging the tech vendors and consultants to get some work done, or just figuring out how to use a legacy software or constant chasing others to get dependencies resolved. Weeks and months pass by, waiting for a dependency to get resolved so that your last code commit could actually finish it's build. Tons of JIRA tickets and INCs would have flown around meanwhile which creates an imaginary realm of huge work and productivity - all resulting in a single line of code change getting tested. It could even be celebrated via huge email thanking every one (100s of people), making it look like a big achievement. The point is, AI doesn't replace junior engineer roles. Junior engineers are preferred for assigning all dirty drudgery, who can be blamed if things go wrong and who can give away their credit to bosses when things work well and who kind of flexible with good attitude. That's very attractive! Basically we hire people to own some risk and accountability. Distribution of work is primarily to distribute the risk, blame and accountability, not really to get the work done. Actual work is done by non-employee consultants in India, eastern Europe or Vietnam etc. For example, we don't use opensource because we can't hold someone accountable. The fact that opensource simply works, doesn't count. However if some vendor offers the same opensource tech with enterprise support or as a managed SaaS, we would buy that.
- nh23423fefe 1y agoThis is exactly what I think and believe about my day to day experience of what value I produce. Yes I know how to code and passed the whiteboard interview. I don't write lots of code everyday because that's not what the business wants from me. The business wants me to understand a large blob of legacy services and act like a normal human when someone in product ask for a change that I don't understand yet. The main thing I believe AI is going to help me with is making decisions under uncertainity by processing large amounts of data and producing a context/environment that I am faster in. Other people are going to drown in that context and be unable to act. My value is my decision making ability and my ability to talk to humans and find out what they want. My value is not the production of text.
- kazinator 1y agoI've never worked in any example of this fictitious organization where seniors are too important and well paid to write the code, so they just wave conductor's batons to orchestrate juniors into doing all the work.
- raddan 1y agoIt is most definitely a thing, and that is how my job worked when I was at Microsoft, in three different roles. All of the senior people I worked for definitely could code (one of them was well-known in the memory management research space), and they would occasionally do so. But largely, they focused on the big picture, and virtually all of my interactions with them was over a whiteboard. I was very surprised when I first got there that they basically never wanted to put eyeballs directly on my code; they preferred to talk to me about it. As a junior person, developing the fluency to have whiteboard conversations was difficult. But when we’d leave the meetings I would have a much clearer idea about what I should do, and perhaps more importantly, what I should not do. In all of those projects, 100% of the code was written by me and other junior people.
- geoka9 1y ago> 100% of the code was written by ... junior people. No offense, but it kind of shows with every product by that company I've touched over the years. But then again they are largely not a technology company. More like a lobbying firm that happens to be very good at politicking to get their wares on every enterprise PC. The quality doesn't even matter, since most of their end users are a captive audience.
- michpoch 1y ago> No offense, but it kind of shows with every product by that company I've touched over the years. You still have code review process which will be done by the owner of that space and someone with the language fluency.
- rvz 1y agoIf you are doing web development as a career, there really is no future for those software developers and it does not matter the rank given that AI has reached senior staff-level for typical web apps. Sam Altman already outlined that this year AI agents will reach the level of a base-line senior software engineer on most tasks including web development such as HTML, CSS and Javascript and those web apps can be built in minutes. One can even say by their own definition of "AGI", it is actually "AGI" for web developers today.
- sroussey 1y agoEvery time I see a CEO say this, I think it’s time to reach out and poach their engineers. All I have to do is show them the CEO’s quote to demonstrate what they think of their engineers. How can they see a future at that employer?
- hansmayer 1y agoEh, they are all hoping to make it big and bank out their paper money. As long as they are still bankrolled by the VCs, it won't change. Although the engagement of Softbank is a solid historic indicator they could eventually go bust :)
- hansmayer 1y agoWhile I strongly agree that frontend development roles will definitely be in less demand, especially for those devs who decided long ago make a hard cut after whatever comes beyond the browser/client code, as those tasks were always fairly trivial...Sam Altman also said that "we know how to build the AGI" some time ago. Meanwhile, we are in what, year 4 or 5 of the hype and ~year 20 of the ML LLM models? Fighting it out with the AI-fied web search which will ocassionally give us a wrong or just dangerous recommendation. Or generate a picture of a person with 6 fingers, etc. This is not AGI and never will be. A 6-year old kid would know you dont make pizza with glue and stone, so I'd say even the frontend devs are somewhat safe here.
- dgb23 1y ago
- iLoveOncall 1y agoAs a senior engineer I'd much rather hand-hold a junior rather than an LLM. Junior roles aren't going anywhere. The expectation that LLMs will multiply the output of more experienced engineers is simply ridiculous. I work in a FAANG on one of the main teams using GenAI. The impact from GenAI we've calculated and that senior leadership is taking decision upon is an overall gain of about 5% velocity on CODING tasks, so about 2.5% on overall tasks. If you feel like GenAI has overall doubled or tripled your productivity I'm sorry but it's a sign that you suck and are working on incredibly simple problems.
- disqard 1y ago> it's a sign that you suck Beware, your comment is likely to age incredibly poorly. Also, I wouldn't want to work in the same team as you, if that's how you communicate.
- iLoveOncall 1y agoMaybe ask your favorite LLM to explain how a comment on a state at a particular point in time cannot age.
- Gud 1y agoTo be honest, and maybe I’m using LLMs wrong, but are they really _replacing_ juniors? I use ChatGPT occasionally, as a teacher. I feed it a query and typically it responds with the correct result. Wouldn’t this be empowering junior developers and make them more productive? I use ChatGPT in the same way to learn German.
- thefz 1y agoHow can you have mature engineers... with no juniors?
- airbreather 1y agoThe skill of breaking down the system to smaller constituant parts was formerly the domain of the Systems Analyst - an occupation now almost extinct by formal title, as the coders reached up into this role. Presumably this occured because the Systems Analyst was virtually archtecture agnostic, but a computer person could consider both the problem breakdown and the optimal architecture to fit, juggling each a little to optimise that interface between requirements and implementation. This personage then claimed the title of "Architect". However, I am seeing, in certain areas, a deep lack of specification skills and wonder the Systems Analyst might not partially have a resurgence as a profession.