this post was submitted on 15 Sep 2026
573 points (96.3% liked)

Programmer Humor

33823 readers
1706 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 3 years ago
MODERATORS
 

We're about to learn a painful lesson about delayed gratification in software engineering.

New data from China, 26,811 students tracked January 2023 through June 2025. Students using AI for homework saw their scores jump 20 percent. Completion time dropped nearly half. They aced the assignments.

Then exam season came. Those same students scored 20 to 40 percent worse when they couldn't use the tool.

The homework phase is over. The exam phase is coming.

We're doing this in software right now. Vibe coding feels incredible. Features ship fast. Nobody's asking what happens in Month 18 when the original dev has left and nobody understands the codebase.

Commercial pilots fly with autopilot for most of every flight. They're required to maintain manual flying proficiency regardless. If the system fails mid-air and the pilot can't take over, people die.

Most teams using AI right now have forgotten how to fly manually. They've become passengers in their own systems. The autopilot flies, nobody checks instruments, and the first sign of trouble will be a breach notice or outage.

Three rules:

  1. Command the mission. Define architecture before prompting. Ambiguity kills in code and in flight. Delegate selectively. Offload mechanical work. Keep design and security reviews human. Verify everything. Audit before production.
  1. Never trust the automation without checking instruments.
  1. Quick wins feel good. Sustainable engineering feels boring. Boring keeps systems standing.

Organisations surviving the next two years won't ship the fastest. They'll be the ones who remember how to fly without the aids.


people insisting that you actually be skilled, independently of your tools, doesn't make them Luddites. Rather, being unable to do so makes you a phony.

(page 4) 50 comments
sorted by: hot top controversial new old
[–] mindbleach@sh.itjust.works 0 points 1 month ago (3 children)

Compilers would look the same. You give some people a tool that turns fiddly low-level repetition into relatively painless double-checking. Then you yank that tool away, and oh no, they're not as good at the fiddly low-level repetition.

What matters is - are these students worse-off, with the tool? It's not going away. Foreverafter, a couple gigs of linear algebra will turn your to-do list into an actual running project. We have to ask if teaching the fiddly low-level repetition is the point... or just a means to an end.

You can scoff that compilers are objectively better, but they weren't! Sometimes they still aren't! We were teaching kids to consider inline assembly well into the Windows Vista era. Even now, compilers with decades of active development can have bizarre corner cases, which any hardened bit-banger of machine code would never write. But they're all good enough that plaintext assembly has become an arcane third-year topic, and hexadecimal machine code is the realm of bare-metal maniacs.

Teaching math, kids have to know what numbers are, and how base ten works, and why the calculator says 11-3=8. But as you go up to college math it matters a lot less whether people can do shit in their heads... or even remember how. Open-book and open-calculator exams are still fuckin' hard. They're just hard because you're trying to apply some obscure proof to a rat's-nest of swooping symbols, instead of because you're worried about having enough time to write out long division to umpteen places. The latter can be sufficiently approximated with two wooden sticks. We can assume anyone doing math professionally has two sticks. Continuously! As a given, for their job. Probably at home as well.

Teaching programming, you have to break people a certain way. No gentle and charming syntax can disguise the mechanized nastiness of what code is. Whatever semi-readable text you're looking at will be squinched through a flake of tortured sand in a bazillionth of a second. But only after getting transformed at least two times in processes you kinda have to trust will be computationally equivalent, unless you want to minor in a branch of mathematics haunted by Stephen Wolfram. Ultimately there is a shockingly small state machine designed to trick you into off-by-one errors.

But once people can knock out fizzbuzz on a paper 6502... they've kinda got it. They've been inculcated. They will soon apply arcane patterns to a rat's-nest of obtuse variable names. Ssshould they have to do that by hand? They're not doing the assembly by hand. They're not even looking at the assembly. They might never need to think about assembly again. So long as they're playing spot-the-bollocks for a flurry of pull requests, that's arguably a more useful skill than writing clean toy code from scratch. Especially in pen and ink.

load more comments (3 replies)
load more comments
view more: ‹ prev next ›