(no title)
hex4def6 | 2 months ago
Was having a discussion the other day with someone, and we came to the same conclusion. You used to be able to make yourself useful by doing the easy / annoying tasks that had to be done, but more senior people didn't want to waste time dealing with. In exchange you got on-the-job experience, until you were able to handle more complex tasks and grow your skill set. AI means that those 'easy' tasks can be automated away, so there's less immediate value in hiring a new grad.
I feel the effects of this are going to take a while to be felt (5 years?); mid-level -> senior-level transitions will leave a hole behind that can't be filled internally. It's almost like the aftermath of a war killing off 18-30 year olds leaving a demographic hole, or the effect of covid on education for certain age ranges.
strickjb9|2 months ago
In the past, a junior would write bad code and you'd work with them to make it better. Now I just assume they're taking my feedback and feeding it right back to the LLM. Ends up taking more of my time than if I'd done it myself. The whole mentorship thing breaks down when you're basically collaborating with a model through a proxy.
I think highly motivated juniors who actually want to learn are still valuable. But it's hard to get past "why bother mentoring when I could just use AI directly?"
I don't have answers here. Just thinking maybe we're not seeing the end of software engineering for those of us already in it—but the door might be closing for anyone trying to come up behind us.
shagie|2 months ago
This is especially annoying when you get back a response in a PR "Yes, you're right. I have pushed the fixes you suggested."
Part of the challenge (and I don't have an answer either) is there are some juniors who use AI to assist... and some who use it to delegate all of their work to.
It is especially frustrating that the second group doesn't become much more than a proxy for an LLM.
New juniors can progress in software engineering - but they have to take the road of disciplined use of AI and make sure that they're learning the material rather than delegating all their work to it... and that delegating work is very tempting... especially if that's what they did in college.
ah979|2 months ago
roadside_picnic|2 months ago
It's worth considering how aggressively open the door has been for the last decade. Each new generation of engineers increasingly disappointed me with how much more motivated they were by a big pay check than they were for anything remotely related to engineering. There's nothing wrong with choosing a career for money, but there's also nothing wrong about missing a time when most people chose it because they were interested in it.
However I have noticed a shift: while half the juniors I work with are just churning out AI slop, the other half are really interested in the craft of software engineering and understanding computer science better.
We'll need new senior engineers in a few years, and I suspect they will come from a smaller pool of truly engaged juniors today.
thayne|2 months ago
But it's hard to know if a candidate is one of those when hiring, which also means that if you are one of those juniors it is hard for you to prove it to a prospective employer.
Zarathruster|2 months ago
I keep hearing this and find it utterly perplexing.
As a junior, desperate to prove that I could hang in this world, I'd comb over my PRs obsessively. I viewed each one as a showcase of my abilities. If a senior had ever pointed at a line of code and asked "what does this do?" If I'd ever answered "I don't know," I would've been mortified.
I don't want to shake my fist at a cloud, but I have to ask genuinely (not rhetorically): do these kids not have any shame at all? Are they not the slightest bit embarrassed to check in a pile of slop? I just want to understand.
johnnyanmac|2 months ago
seems like something a work policy can fix quickly. If not something filtered in the interview pipeline. I wouldn't just let juniors go around and try to copy-pasting non-compilable Stackoverflow code, why would I do it here?
agumonkey|2 months ago
unknown|2 months ago
[deleted]
lezojeda|2 months ago
zcw100|2 months ago
amarant|2 months ago
AI provides a bar. You need to be at least better than AI at coding to become a professional. It'll take genuine interest in the technology to surpass AI and clear that bar. The next generation of software professionals will be smaller, but unencumbered by incompetents. Their smaller number will be compensated by AI that can take care of the mundane tasks, and with any luck it's capabilities will only increase.
Surely I'm not the only one who's had colleagues with 10+years experience who can't manage to check out a new branch in git? We've been hiring people we shouldn't have hired.
_aavaa_|2 months ago
Is there bar is set at a competent mid level engineer, people entering the industry need a path from algorithms 101 to above that bar which involves getting paid.
andrewmutz|2 months ago
It's clear why people do it (more pay) but it sets up bad incentives for the companies. Why would a company invest money in growing the technical skill set of an employee, just to have them leave as soon as they can get a better offer?
throwaway2037|2 months ago
ike2792|2 months ago
kulahan|2 months ago
You're falling for the exact same fallacy experienced by failed salesmen. "Why would I bother investing time in this customer when they're just going to take my offer to another dealership for a better deal?"
Answer: you offer a good deal and work with people honestly, because if you don't, you'll never get a customer.
kentm|2 months ago
I've started viewing developers that have never maintained an existing piece of software for over 3 years with skepticism. Obviously, with allowances for people who have very good reasons to be in that situation (just entered the market, bad luck with employers, etc).
There's a subculture of adulation for developers that "get things done fast" which, more often than not, has meant that they wrote stuff that wasn't well thought out, threw it over the wall, and moved on to their next gig. They always had a knack of moving on before management could connect the dots that all the operational problems were related to the person who originally wrote it and not the very-competent people fixing the thing. Your average manager doesn't seem to have the capability to really understand tech debt and how it impacts ability to deliver over time; and in many cases they'll talk about the "rock star" developer that got away with a glimmer in their eye.
Saw a post of someone on Hacker News the other day talking about how they were creating things faster than n-person teams, and then letting the "normies" (their words not mine) maintain it while moving on to the next thing. Thats exactly the kind of person I'd like to weed out.
endemic|2 months ago
asdfman123|2 months ago
Some genius MBA determined that people feel more rewarded by recognition and autonomy than pay, which is actually true. But it means that all the recognition and autonomy in the world won't make you stay if you can make 50% more somewhere else.
dgunay|2 months ago
loeg|2 months ago
semiquaver|2 months ago
asdfman123|2 months ago
But that means there's no need for entry-level glassblowers, and everyone in the field with any significant experience is super old. The pipeline has been dead for a while now.
Ferret7446|2 months ago
samrus|2 months ago
xhrpost|2 months ago
Not disagreeing that this is happening in the industry but it still feels like a missed opportunity to not hire juniors. Not only do you have the upcoming skill gap as you mention, but someone needs to instruct AI to do these menial/easy tasks. Perhaps it's only my opinion but I think it would be prudent to instead see this as just having junior engineers who can get more menial tasks done, instead of expecting to add it to the senior dev workflow at zero cost to output.
smiley1437|2 months ago
Tech companies are betting that in 5 years, AI should be good enough to replace mid-levels.
Rinse and repeat with seniors 5 years after that.
Hard to say if that bet will pay off, or what the endgame would be; just the CEO commanding an company of AIs?
samrus|2 months ago
checker659|2 months ago
asdff|2 months ago
jjk166|2 months ago
unknown|2 months ago
[deleted]
furyofantares|2 months ago
That said, you hit on something I've been feeling, the thing these models are best at by far is stuff that wasn't worth doing before.
QuercusMax|2 months ago
I've also written a lot of python 2 in my career, and writing python 3 still isn't quite native-level for me - and the AI tools let me make up for my lack of knowledge of modern Python.
squirrellous|2 months ago
x0x0|2 months ago
We had code school grads asking for $110-$130. Meanwhile, I can hire an actual senior engineer for $200 and he/she will be easily 4x as productive and useful, while also not taking a ton of mentorship time.
Since even that $110 costs $140, it's tough to understand how companies aren't taking a bath on $700/day.
johnnyanmac|2 months ago
you can't have rent at 3.5k a month and not expect 6 figures when requiring in-office work. old wisdom of "30% of salary goes to rent" suggest that that kind of housing should only be rented if you're making 140k. Anyone complaining about junior costs in these areas needs to join in bringing housing prices down.
hershey890|2 months ago
Bear in mind these types can explain things like why word-alignment matters and train themselves into being net productive within a few weeks.
icedchai|2 months ago
fundad|2 months ago
gausswho|2 months ago
darkstarsys|2 months ago
JumpCrisscross|2 months ago
Plenty of skilled work requires a master’s or PhD. CS, for those who want a safe, secure job, looks like it’s going that way.
zingar|2 months ago
ansgri|2 months ago
twosdai|2 months ago
Basically this type of maintenance work for any sufficiently complex codebase. (Over 20k LOC)
When I was an QA intern / Software Dev Intern. I did all of that junk.
devin-2030|2 months ago
roadside_picnic|2 months ago
frmersdog|2 months ago
So, there are two parts to this:
The first is that a lot of those tasks are non-trivial for someone who isn't a digital native (and occasionally trivial for people who are). That is to say that I often found myself doing tasks that my bosses couldn't do in a reasonable time span; they were tasks which they had ALWAYS delegated, which is another way of saying that they were tasks in which proficiency was not necessary at their level.
This leads into the second part, which is that performing these tasks did not help me advance in relevant experience at all. They were not related to higher-level duties, nor did they endear me to the people who could have introduced me to such duties. My seniors had no interest in our growth as workers; anyone who wanted to see that growth had to take it into their own hands, at which point "junior-level" jobs are only worth the paycheck.
I don't know if it's a senior problem generally, or something specific to this cohort of Boomer/Gen-X seniors. Gun-to-my-head, I would wager the latter. They give enough examples in other arenas of public life to lend credence to the notion that that they simply don't care what happens to their juniors, or to their companies after they leave, particularly if there is added hassle in caring. This is an accusation often lobbed at my own generation, to which I say, it's one of the few things our forebears actually did teach us.
Yet again, AI is just a cover for mismanagement.
RogerL|2 months ago
Everything turned out fine. Turns out you don't really need to be able to perform long division by hand. Sure, you should still understand the algorithm at some level, esp. if you work in STEM, but otherwise, not so much.
There were losses. I recall my AP physics professors was one of the old school types (retired from industry to teach). He could find the answer to essentially any problem to about 1-2 digits of precision in his head nearly instantly. Sometimes he'd have to reach for his slide rule for harder things or to get a few more digits. Ain't no one that can do that now (for reasonable values of "no one"). And, it is a loss, in that he could catch errors nearly instantly. Good skill to have. A better skill is to be able to set up a problem for finite element analysis, write kernels for operations, find an analytic solution using Mathematica (we don't need to do integrals by hand anymore for the mot part), unleash R to validate your statistics, and so on. The latter are more valuable than the former, and so we willingly pay the cost. Our ability to crank out integrals isn't what it was, but our ability to crank out better jet engines, efficient cars, computer vision models has exploded. Worth the trade off.
Recently watched an Alan Guth interview, and he made a throwaway comment, paraphrased: "I proved X in this book, well, Mathematica proved...". The point being that the proof was multiple pages per step, and while he could keep track of all the sub/superscripts and perform the Einstein sums on all the tensors correctly, why??? I'd rather he use his brain to think up new solutions to problems, not manipulate GR equations by hand.
I'm ignoring AGI/singularity type events, just opining about the current tooling.
Yah, the transition will be bumpy. But we will learn the skills we need for the new tools, and the old skills just won't matter as much. When they do, yah, it'll be a bit more painful, but so what, we gained so much efficiency we can afford the losses.
geoffmanning|2 months ago
weatherlite|2 months ago
Who knows if we'll even need senior devs in 5 years. We'll see what happens. I think the role of software development will change so much those years of technical experience as a senior won't be so relevant but that's just my 5 cents.
giancarlostoro|2 months ago
While the work seems to take similar amounts of time, I spend drastically less time fixing bugs, bugs that take me days or God forbid weeks, solved in minutes usually, sometimes maybe an hour if its obscure enough. You just have to feed the model enough context, full stack trace, every time.
lezojeda|2 months ago
[deleted]