Microsoft and CMU team up to train early career software engineers
Posted by azhenley 4 days ago
Comments
Comment by layer8 4 days ago
This seems cognitively dissonant with the AI upheaval resulting in the industry needing fewer developers. Maybe they want cheaper developers?
Comment by keeda 4 days ago
There is of course the possibility that AI gets good enough that even senior engineers won’t be needed, but at this point it seems unlikely. My reasoning is that even expert humans make mistakes, which is why we need other humans to collaborate and check each others’ work (which, if you think about it, is a source of a lot of the processes and bureaucracy at companies; trivial example: code reviews.)
So even if AI gets to the level of human experts, this dynamic will not change... unless we hit ASI, where the AI far exceeds human capabilities. At which point we’ve hit the singularity and all bets are off.
Short of that, however, human experts will be needed, which is why programs like this are needed: to future proof against the short term economic pressures to minimize junior workers which will impact the long term pipeline that produces senior experts.
Comment by socializer 4 days ago
This is really what we're doing? This makes sense? Am I taking crazy pills?
Comment by CoolestBeans 4 days ago
Comment by keeda 4 days ago
Comment by CoolestBeans 3 days ago
Programs are swapping capstone projects and courses for comprehensive oral examinations and that's partly from input from industry that there's been a skill drop. But that feels like a panic stopgap and we really are going to struggle with this for a while.
Comment by keeda 4 days ago
These economics would choke off the pipeline that turns junior engineers into senior engineers, which would still presumably needed to supervise the AI.
I don't see the irrationality here?
And yes, bottlenecks at MSFT (or any large corporation) are unrelated to kLOC/hour, which I would argue are primarily because of human factors... which also AI threatens to obviate: https://news.ycombinator.com/item?id=50121996
Comment by socializer 3 days ago
You're replacing juniors with AI to save money (because again, I doubt there are velocity gains to be had at MSFT), and then you're spending money to keep junior SWEs on payroll and train them in a parallel program.
There's no way this is cheaper than just letting some junior SWEs actually do the coding on the actual projects you're building, right? And gain experience that way?
Comment by keeda 3 days ago
Comment by sublinear 4 days ago
Comment by bagacrap 4 days ago
Comment by LanceH 4 days ago
Comment by flowerlad 4 days ago
If we freeze AI models at their current stage of development, then yes. If not, given the rate at which models are improving (compare Claude today to Claude 1 year ago), in 3 to 5 years software development could be fully automated.
Comment by bzzzt 4 days ago
Comment by dominotw 4 days ago
Comment by flowerlad 4 days ago
Comment by gessha 4 days ago
Comment by BoggleOhYeah 4 days ago
Comment by astrobe_ 4 days ago
Comment by orphea 4 days ago
> given the rate at which models are improving
Right. https://xkcd.com/605/ > in 3 to 5 years software development could be fully automated.
Yes, and as we all know, AI has replaced software engineers "in 6 months" several times by now.Comment by linhns 4 days ago
Comment by pjmlp 4 days ago
Comment by teiferer 4 days ago
Let's see, my grandparents were about 160cm when they were 35. My parents were about 170cm when they were 35 and I am about 180cm around 35. You are saying I can expect my grandchildren to be around 200cm at that age and their grandchildren 220cm?
Comment by tomkarho 4 days ago
Of course it is possible also that Claude will marry a chinese model (since it's asian odds are it is also smarter) bringing some diversity into the "gene" pool. Or better yet, a Russian supermodel.
Comment by emdash 4 days ago
Comment by wlesieutre 4 days ago
Comment by flowerlad 4 days ago
Comment by samudrijan 4 days ago
Comment by falcor84 4 days ago
Comment by Terr_ 4 days ago
Not that the new LLM-as-junior trend doesn't make it worse.
Comment by alpha21io 4 days ago
Comment by keeda 4 days ago
There is even some evidence that suggests senior roles are more in demand (and getting correspondingly higher pay too) which gels with the common observation that senior workers are more effective at managing the AI which is doing the work of (and hence displacing) junior workers.
Asking a chatbot or Google AI overviews should surface relevant studies.
Comment by Grombobulous 4 days ago
Junior roles are always affected when industries have high unemployment rates.
I don’t think AI has eliminated the need for junior engineers, nor will it, it’s just that companies have their pick of available experienced hires.
I would think that junior engineers would make more sense in an era where AI can fix and catch rookie mistakes.
Comment by BoggleOhYeah 4 days ago
Like the mass layoffs the last couple of years seemed to be primarily driven by the goofy hiring spree every company went on during the pandemic and the AI reasoning was only partly true and mostly a coverup for their mistakes in hiring in previous years.
On the other hand, the amount of garbage level devs that were being churned out of bootcamps and such in the years leading up to COVID was also due for some kind of correction and AI may be the catalyst for that correction.
I’ve been around devs making an easy 6 figures that did nothing but copy/paste code from the internet or other parts of the codebase and spew jank into the repo because management needs the work done yesterday.
Comment by zugi 4 days ago
Thanks! I've heard numerous examples of this. E.g. paint rollers, and later paint sprayers, made painting so much more efficient and cheaper that people wanted their houses and apartments painted more often, ultimately increasing house painter employment. But I didn't realize the phenomenon had a name.
Comment by sublinear 4 days ago
The reason why AI induces more demand is more interesting than simply observing a correlation. At the root of the paradox is the dissatisfaction with AI as it raises the bar for human work. In that sense, AI functions like training wheels more than actually doing anything useful on its own. More people can ride the bike well as a result.
This is the "law of diminishing marginal utility". In other words, LLMs are an NLP-powered google search 2.0. That sums up pretty well why AI hit a plateau a couple of years ago. There's only so much training data and humans become more efficient and creative once exposed to the exact information they were always looking for, but could never find in the past.
Comment by georgeburdell 4 days ago
Comment by austin-cheney 4 days ago
It’s a problem of missing training and missing mentorship coupled with weak leaders who would rather throw their people to the wolves armed with crayons and coloring books until they just figure it out.
Before AI was a thing once a large organization hired too many shitty developers you could occasionally clean house by laying some off and ordering the rest to own more responsibilities. Once AI starts replacing the weakest among us the scapegoats are gone. Then what? Eventually the finger pointers can only point at themselves once there is nobody else to point at.
Comment by bossyTeacher 3 days ago
This. I imagine they are showcasing a template to hire a new breed of cheap highly replaceable/fireable devs.
Comment by cm2187 4 days ago
The demand for software is huge, the number of manual processes that can be automated in any organisation, small or large, is humongous. The Jevons paradox will play at full, as software gets cheaper we will consume even more of it, and I think there will paradoxically be more software developer jobs.
Comment by optimiz3 4 days ago
https://apply.careers.microsoft.com/careers?start=0&pid=1970...
Comment by dimes 4 days ago
Comment by szmarczak 4 days ago
Comment by sharts 4 days ago
Comment by DeepYogurt 4 days ago
Themselves.
Comment by plasticchris 4 days ago
Comment by BatchJob 4 days ago
Comment by bradfa 4 days ago
Comment by icantevenhold 4 days ago
Comment by avaer 4 days ago
If you need to be told what to do, it's a short step to your AI replacement being told what to do; money will ensure it. If your job is to discover and capture new things in an exploding possibility space, that's a career.
Schools should teach hacking, but it doesn't seem that's what this program is doing.
Comment by gedy 4 days ago
Comment by geraldwhen 4 days ago
Comment by vismit2000 4 days ago
Comment by xyst 4 days ago
Comment by rurban 3 days ago
Comment by up2isomorphism 4 days ago
Comment by coolThingsFirst 4 days ago
Comment by ahartmetz 4 days ago
Comment by amelius 4 days ago
Comment by petcat 4 days ago
Basically still just a prompt jockey but knows the difference between outputs that are good and bad.
Comment by rfgplk 4 days ago
Comment by icantevenhold 4 days ago
Comment by stingraycharles 4 days ago
Comment by majormajor 4 days ago
Comment by crassglassass 4 days ago
Comment by 1270018080 4 days ago
2024 me would be shocked at current me saying this.
Comment by teiferer 4 days ago
It's my impression that the best way to be able to read code and distinguish good from bad is to write code. Get burned a few times and you know why certain patterns are a bad idea. You don't internalize that equally well from a powerpoint slide.
Compare this to math. Every successful mathematician has gone through the motions of proving certain basic theorems in math. Like Euclid's proof that there are infinitely many prime numbers. And then they went through related exercises. This was all learned with sweat. The statement above is akin to saying there is no point in doing any proofs by hand anymore, just read one and you will have sufficient understanding of mathematics and become a good mathematician. I don't think that's true. (And I also believe that many sw eng people would be better at their job had they groked the proof of the halting problem.)
Comment by garaetjjte 4 days ago
And how you would know to do that, if you're not writing code?
Comment by pjmlp 4 days ago
Comment by foltik 4 days ago
Comment by voidfunc 4 days ago
Comment by pards 4 days ago
... in Github Actions? What a great way to discourage them from entering the industry.
Comment by thadk 4 days ago
Comment by dyauspitr 4 days ago
Comment by strathmeyer 4 days ago
Comment by flowerlad 4 days ago
Comment by BoggleOhYeah 4 days ago
Comment by frank00001 4 days ago
Comment by deadbabe 4 days ago
Comment by bradfa 4 days ago
Comment by LanceH 4 days ago
Quite simply, I'm more mentally drained at the end of a day working with AI than I am a normal day of coding. There is still a lot of energy and thought that needs to go into what needs to be written.
Comment by Terr_ 4 days ago
Anecdotally, I find the flow-vs-drained state is more about who uses the LLM and whether I'm in a position to know the difference between artifact and intent.
1. [Good] I know what I wanted, I have a concept of what "correct" looks like. I ask the LLM to do the thing, and I check if it's the thing I intended. Even if it's annoyingly wrong, I can fix it up.
2. [Bad] Someone else had a concept once. They put it through an LLM to generate something that reaches me, a ticket, PR, or review comment. However now I have to constantly guess which parts of the thing are "real" and which are nonsense the human never actually intended or even noticed.
The latter is worsened by how reading means inferring/simulate the mind of the writer, but LLM output is not from a mind we typically simulate. Subtle persistent wrongness is exhausting.
Comment by throwaway_45 4 days ago
Comment by lelanthran 4 days ago
What value would an architect provide that a SOTA LLM can't?
Comment by flowerlad 4 days ago
Comment by majormajor 4 days ago
But is that workflow enough in a competitive world anyway, or will there be an edge for people who do more than "outline the end-user requirements" like it's the waterfall 70s?
Comment by justinhj 4 days ago
Comment by dude250711 4 days ago