Reposting a question for Ed Zitron, I'll forward responses. He asked on Bluesky and will get sub-Mastodon-tier answers:

"This is a serious question and I would be delighted if I only hear great things but, software engineers: both before and after LLMs, how often in your professional lives have you run into software engineers that seem completely useless or lacking in basic knowledge? I hope the answer is rarely"

@ludicity Like… basically everyone I’ve interacted with in my career except a notable handful?

@ludicity Ask me how many times someone other than me has, in my presence, used or mentioned using a debugger (As contrary to inserting a bunch of debug prints in the code).

Zero. It’s zero times.

@philip @ludicity that's because prints are usually the correct way tho? 🤗

@tartley
valgrind, debuggers and print all have their place depending on the barrow of the code - and runtime constraints...

@philip @ludicity

@iinavpov Yes, you are right of course. No doubt the coding situations we each face are very different, so I'm not AT ALL saying this to suggest that you are wrong. But in my line of work, I think the optimal frequency of debugger usage is about once every two years. Every other day, if I want to reproduce some situation in the code, then I want to do so in a reproducible way, so I write a test to do it, where asserts are perfect, and prints make a fine fallback occasionally.

@tartley
I usually start with prints for a logic error, valgrind for a crash, and the debugger when the logic is getting hairy...

so definitely print first.
@philip @ludicity

@tartley
I usually start with prints for a logic error, valgrind for a crash, and the debugger when the logic is getting hairy...

so definitely print first.
@philip @ludicity

@ludicity I founded an entire subreddit on this topic which still considers me to be an absent god.

Truly. But its name cannot be spoken.

@jacques unrelated but wahey! Another .id.au domain holder!
@arichtman It is peak nerd cred to those who know
@ludicity pretty regularly pre LLMs, the whole half-the-people-are-worse-than-median thing. Haven't been out and about enough to comment post LLMs really.
@arichtman @ludicity like the old gag goes:
How many people do you have working for you?
About 50%
@ludicity Sadly, the answer is not “rarely”. In the past few years, I’ve been fortunate enough to work in a fairly stable group, so can’t really differentiate between before and after LLMs. But regardless, there is a reasonable fraction of NNPPs — net negative productivity programmers.
@UweHalfHand @ludicity they existed before LLMs but maybe the fraction has increased.
@ludicity @davedave I do very much think so, just I haven’t directly seen that increase yet.
@ludicity About 90% of the time, so goes Sturgeon's Law.

@ludicity For the record, I work at a software company that employs ~10k developers.

Before LLMs, I'd encounter such engineers a couple of times a month, but I interact with a lot of engineers, specifically the ones that need help or are new at the company or industry at large, so it's a selected sample. Even the most inexperienced ones are willing and able to learn with some guidance.

After LLMs, there's been a significant uptick, and these new ones are grossly incompetent, incurious, impatient, and behave like addicts if their supply of tokens is at all interrupted. If they run out of prompt credits, its an emergency because they claim they can't do any work at all. They can't even explain the architecture of what they are making anymore, and can't even file tickets or send emails without an LLM writing it for them, and they certainly lack in any kind of reading comprehension.

It's bleak and depressing, and makes me want to quit the industry altogether.

@drikanis @ludicity

"they claim they can't do any work at all." Saying something like I can't do this terrifies me, as it says Im incompetent and should not be filling that position. Besides that this doesn't provide any information for others to give me help which I desperately need.

That's why I try to say what I want to acomplish, what I hove done, and what's the issue, and thanks to that half the time I get new ideas to check and maybe even I get to solve my problem.

@drikanis
Thanks for this comment. It made something click for me -- token limits for developers are probably a good thing. It's a built in signal to take a break and step back from their work for a minute. Do some planning, reading, or writing, or just go stretch your legs.
This problem is not specific to LLM-assisted programming. There's always a risk of tunnel vision in the desire to get more done, and failing to establish foundations and context for the product.

@jablkoziemne @ludicity

@adamr @drikanis @jablkoziemne @ludicity That's not the point being made.
@soc @adamr @drikanis @jablkoziemne @ludicity ever notice how you can tell someone uses LLMs a lot by how they start to adopt their writing voice?

@jablkoziemne @drikanis @ludicity I claim that I "can't do any work at all" when a tool that I am *required* to use by my employer is broken (think source code control, the build system, whatever).

Some people might fall into this category if they work for one of those employers who *mandate* the use of LLMs to write code, and track usage, and penalise people who write code by hand.

In which case such a claim is fair enough.

(FTAOD: 🤣 😭 )

@drikanis @ludicity Similar experience here. More and more people cannot function without an LLM prompt ready to answer to them, they totally lost any autonomy. If you ask anything to them, they will basically give you the output of their LLM, instead of formulating an answer by themselves, even when they know the answer. It’s pure cocaine.
@javerous @drikanis @ludicity The same thing happened with the web years ago.. programmers who claim to be fluent in a language or algorithms who are completely unable to program without constant googling for even basic stuff.
@aachrisg @javerous @drikanis @ludicity not the same. Using a search engine is basically having optimized documentation. I learnt the trade ‘fighting’ with the old ‘wall of paper’ of DEC orange binders with VAX/VMS documentation. Being able to search for them was a blessing.

I remember those big binders for VMS and RSTS!

@jguillaumes @javerous @drikanis @ludicity

Nowadays you could memory leak a string big enough to hold the entire DCL manual and barely notice.

@jguillaumes @javerous @drikanis @ludicity

@jguillaumes @aachrisg @javerous @drikanis @ludicity Back in the day, working with VAX/VMS I mostly wrote software that had little OS dependencies, portable C code using the C standard libraries, so I didn't need the Red Wall (and later the Grey Wall) much. But the online HELP system was indispensable. (1/3)
Today, I mostly use a web search to find the documentation I know (e.g. Python libraries), but not by heart. (Yes, I am looking at you, datetime!) That is a time saver, but I could have that documentation locally just as well. Sometimes a StackOverflow answer is helpful, too. But I still know what I am doing, I promise! (2/3)

For me, documentation on the web has effectively replaced books — printed language/system manuals anyway, and StackOverflow has also taken the place of books like e.g. Tom Christiansen’s excellent Perl Cookbock. But I don't know if there is a really good online replacement for textbooks like W. R. Stevens’s excellent TCP/IP Illustrated or Advanced Programming in the UNIX Environment.

(I have lots of that stuff. Any takers in Berlin?) (3/3)

@jyrgenn @aachrisg @javerous @drikanis @ludicity did you use LSE? (Language sensitive editor) At that time it looked like magic.
@jguillaumes @jyrgenn @javerous @drikanis @ludicity TECO! (I was using paper terminals, mainly a Silent 700).
@aachrisg @jguillaumes @javerous @drikanis @ludicity Unter VMS I invoked TECO once. IIRC it needed the PDP-11 compatibility mode, and the VAX 8650 I worked with was the last model to offer that. Couldn't make much of it, though.
@jyrgenn @aachrisg @javerous @drikanis @ludicity now I have something like six simh emulated VAXen running in a couple of raspberries at home. And also a there PDP-11s and Kl10 mainframes. And THIS is incredible
@jguillaumes @aachrisg @javerous @drikanis @ludicity Recently I tried out the current version of OpenVMS under community license. Turned out (a) my knowledge of VMS as a system has never been that great as I was only a developer, without any sysadmin aspirations; (b) without TCP/IP or *any* networking included in the license it isn't much fun, really. Never learned anything of the other DEC systems except RSX-11 (I think) on a Pro 350, but with DCL.
@jguillaumes How did you solve the OpenVMS on VAX licensing (missing) problem?

@monospace do you mean after HP killed the hobbyist license?

There are… ways… to get around that. I won’t comment it in the open. Let’s say the PAK generation was cracked loooong ago.

@monospace oh, and before VSI sends the cops for me, I inherited some PAKS when my company decommissioned the VAXen. I also have two small uVAX machines I boot from time to time.
@jguillaumes I see. No more questions. 😆

@jguillaumes I did this years ago, and would love to revisit the topic.

https://youtu.be/BMegrNgJQLo?si=-FV28bq7g0tk66Fm

VAX on, VAX off - we're installing OpenVMS!

YouTube

@monospace hmmmm…

There is a little program around which allows PAKs to be GENerated. It’s written in .c, and all of it is in lowercase.

@jyrgenn @jguillaumes @javerous @drikanis @ludicity I first used it under rsts/e on a pdp-11/70 so when I got access to a vax 780 I stuck with it.
@aachrisg @jguillaumes @javerous @drikanis @ludicity Have to admit I missed that era. I got my first student job end of '87 where a research group had got their big honking 8650 the year before. When I left three years later, everything was dominated by workstations of the 680x0 or SPARC type, and after another few years I could have got the 8650 and related stuff for the cost of hauling it away.

@jguillaumes @aachrisg @javerous @drikanis @ludicity Nope, EDT first, then EVE, later Emacs (yes, on VMS at the time), and Emacs *is* magic.

I think LSE was part of some software development tools package, together with a make-like program, a version control system, and some testing tool IIRC. As I would likely have been the only one to use it, my boss didn't want to shell out the rather significant money for it. (1/3)

I haven’t been working with VMS for over 35 years now. But today it is still Emacs, or vi, as the use case suggests it. I switch between both a lot. (2/3)
I was amazed by the parallels of the EDT vs. EVE and vi vs. Emacs duality — both EDT and EVE are not quite as far from each other as their Unix counterparts, but the characteristics of the duality is the same in both. One, small and lean, somewhat basic but with clever solutions that support a full-time use of it, the other very sophisticated, more extensively configurable, extensible, and much bigger, intended to remain running all the time. (3/3)

@jyrgenn @aachrisg @javerous @drikanis @ludicity yup, first it was called VAXset after DECset. I pestered my bosses until I got a license.

Their static code analiser was also incredible for the time.

@jguillaumes @aachrisg @javerous @drikanis @ludicity the downside being that these days our stuff doesn't even have that kind of documentation. It's not in a different form, it's not all online somewhere, it just doesn't exist.
@drikanis @ludicity it's a good time to become a carpenter. Being able to build a house from scratch seems to become more relevant these days.

@drikanis @ludicity

Tangential, I have noticed a trend with customer emails (wide spread, many multiples companies) that makes me believe more people are using LLMs to write reply emails & not reading at all.

there's a 'jje ne sais quoi' to not just them not answering questions but *how* they're not answering questions.

I can't put my finger on it, but it's tripping my spidy-sense / pattern recognition.

@wifwolf @drikanis @ludicity

Entirely true. Copilot is always offering to summarize my emails for me and wants to help with my replies.

Doubtless there are many that accept these offers.

@wifwolf @drikanis @ludicity lorem ipsum but with real words.
@wifwolf @drikanis @ludicity the students of mine that email me because they have just failed an exam in my course are *definitely* using an LLM to write their emails, because I know their English is not that flawless (I just read their exam). Credibility, meet toilet.
@drikanis @ludicity Very stressful situation, sorry to hear that. I guess the dynamics of cooperation has been broken suddenly.
@drikanis @ludicity It's notable that, if these useless meat sacks are in the US, someone likely either borrowed $250K or spent their own money for them to cheat their way to a degree using AI. Some days, I'm comforted by the fact that I'm old.

@Patrickoldhiker @drikanis @ludicity Amen to that. The fact that I'm so close to retirement is a great source of comfort to me. Yeah, I enjoy my job, and I know I'm good at it. I do not need to use an LLM for anything.

But should I get that dreaded conversation tomorrow and a disappointing redundancy package, it would no longer be a cause for concern.

@rozeboosje @Patrickoldhiker @drikanis @ludicity I'm seeing this comment a lot (and I would feel the same were I closer to retirement). LLMs are pushing knowledge and experience out of the workforce and replacing it with vibes.
@nivrig @Patrickoldhiker @drikanis @ludicity Yeah. To be honest I wouldn't mind too much if a colleague told me they wrote something with some LLM assistance. I wouldn't do it myself, but okay then. But I WILL review the code. If I have trouble following it I WILL ask them how the solution works and if they cannot explain it to my satisfaction their PR will be rejected.