@garybernhardti
iAccount based inUnited States
About this account
- Account based in
- United States
- Connected via
- Web
Account-level information from X, not a live location or the device used for a specific post.
Execute Program (learn programming tools quickly); Destroy All Software (dense programming screencasts); formerly Deconstruct conference.
Seattle, WA
Joined March 2007
- Tweets2.7K
- Following112
- Followers46.9K
- Likes1.7K
Programmers can make more now, but worse, to the delight of their employers. We continue to stray. "Good design is as little as possible. Less, but better, because it concentrates on the essential aspects, and the products are not burdened with non-essentials."
2006, condescendingly: "You use vim instead of an IDE? Why are you slowing yourself down for no reason?"
2026, condescendingly: "You read the code? Why are you slowing yourself down for no reason?"
I WILL NEVER LOG OFF
Gary Bernhardt retweeted
The "whiteboard defense:" I should be able to pull you aside at any moment and ask you to explain any customer-facing system you've shipped. You should be able to clearly explain how it works and defend the decisions you made. This is my benchmark for responsible AI usage.
I don't expect line-level familiarity with the code. I don't care if you remember the exact function name or implementation detail. You may not even know it. I don't care.
But if I ask "why did you do X instead of Y?", "what happens if this actor behaves maliciously?", "what data structure did you use here and why?", or "where does this fail?" you should be able to answer confidently.
For PoCs, demos, experiments, whatever: I don't care. Generate 100% of it and understand none of it. Speed over quality every time in those specific scenarios.
But if you're shipping customer-facing work, you can't be shipping things you don't understand at a high level.
"Why does it matter?"
Because cognitive complexity sets the ceiling for what you can do, whether "you" is human or not. You have limited attention and capacity for context, whether those are attention heads and context tokens or just regular attention and memory in your meat.
It's so surreal to contrast actual agent output with the things that I see people say about them here. In everyday changes, my reviews often cut the diff to 25% of its original size. Tons of useless tests; paranoia; inverted logic. Then I read Twitter and "coding is solved".
It's amazing that just a few years ago, AI fears would get responses like "we wouldn't just give them uncontrolled access to our computers." How many computers run a coding agent in YOLO mode per day? Arbitrary code execution, usually on admin accounts, with full internet access.
Lots of "they used it wrong" here.
90s flashback: "if your C has memory leaks or use-after-free bugs, you used it wrong."
It's true in a sense, but these beliefs hinder progress. If most people "use it wrong", that's a shortcoming in the tool.
nitter.cf/artalar/status/2098108…
This will lead to the same result we always got with human-written code. To satisfy the metric, the programmer/agent will spread control flow complexity out into different functions. It's all still there, but harder to understand because it's spread out. nitter.cf/asidorenko_/status/209…
An analogy that comes to mind: "If you want good visual design, can't you just give the programmers a tightly constrained design system to work in? Then they'll only make good designs that fit the system." It probably sounds totally reasonable if you've never tried it.
important: [good thing / bad thing] is happening entirely because [it involves AI / does not involve AI] and anyone who doesn't realize this [is a decel / has AI psychosis]
........................................................................................................................................................................................................................................................................................