Justin Davis retweeted
I wonder if the introduction of gen AI software is similar to the move from metal to molded plastic in physical goods. There is a drop in total quality, but the lower cost massively increased the market. And market forces create Pareto optimality over time in price / quality.
I’m not sure I believe in the death of SaaS, but also, if I was starting a company today with the typical 10 year exit goal, it absolutely would not be a SaaS company
"We're missing measuring spoons, so let me have my AI agent create a file I can print real quick" is a sentence I'd have never expected to say, but alas
and also the same: absolutelyright.blog/blog/la…
Justin Davis retweeted
said that last year, saying it again.
vibes coding is a slur.
it’s clear we need to retire the term vibe coding because the models now produce better architecture & way more coherent code than an average software engineer.
perhaps even better than top software engineers too because unlike a human, ai has a much much larger context window.
this ain’t vibe coding at all. it’s precision engineering.
muse will help me find local weed deals and recommend what to buy
dot refuses based on guardrails
well I guess we know who's winning
"you are a software engineer, you literally learned how to make sand think and make computers do your bidding?! and now you can't do anything about it? please"
ding. Stop bitching, get to engineering
something that keeps bothering me is how some people see slop as something that is happening to them, like they're some kind of helpless bystander powerless to do anything about it
excuse me but you are a software engineer, you literally learned how to make sand think and make computers do your bidding?! and now you can't do anything about it? please
the 2 things you should know to cut through all the noise:
1. you need to give your agent a way to verify its own work (i just posted about this so won't rehash)
2. your codebase is memory
the 2nd is not new either, we have always had lint rules, compilers with good diagnostics and strong type systems, LSPs, etc to help us write better code. there is no difference when agents write the code instead, you just need more of them, and stronger ones.
forget rules and skills. you can add those later.
yes, your codebase is a form of memory to agents! agents love extending what already exists. so every nit and every annoyance you've ever seen, every mistake and bad pattern you observe from agents, needs to turn into a constraint, or the agents will just keep repeating those same mistakes like a virus in your code. then you keep observing and repeating this process until your codebase is locked down enough that even agents with little context can one shot a high quality PR.
an even better direction is to refactor/rewrite your code such that agent anti-patterns become categorically impossible. use type systems to your advantage, use libraries/frameworks that reduce the architectural search space, or heck, create your own framework like we did for grok bot and design high quality primitives and well thought out APIs
All of this
codebases have always contained slop. we have always been okay with this because code rarely needs to be perfect, outside of mission critical "hard" (eg embedded) software.
swe is a unique form of engineering because you're often building something that constantly evolves and is almost organic - user tastes change, your mental models evolve, and features come and go.
admittedly, i and many others who've been coding for a long time were initially (like back in 2024) skeptical that agents would write production code. "but what about all the slop that would enter our beautiful codebase?".
well, even before, we had human slop, and there was a lot of it! if we're being truthful, most people call "code i didn't write" slop. the reality is that 99% of people (i include myself in that number) don't even know what Good Code looks like, let alone be capable of writing it. i would propose that Good Code is:
• correct
• bug free
• fast and cost efficient to run
it has always been exceedingly difficult and expensive to write truly Good Code, because for the longest time (maybe @bendlang will change that), code was not something you could cheaply and formally guarantee to have all 3 of these properties. this is why writing hard software is much more difficult and expensive, because depending on the use case, you may only get one chance and so you have to be right from the start.
but the vast majority of software we use does not need to be Good Code to provide value to users. in fact, it is very likely that most software we use is not formally verifiable! we accepted some bugs in exchange for velocity and progress, so we rely on tests and o11y instead and have adopted a more incremental approach. this is a good thing!
agents help us move faster, and if you're open to the idea, are capable of helping us write better code. it won't be Good Code (that is still expensive), but it is likely to be much better on average at scale.
the new craft of swe is to figure out how to do this. it's your job now! if your productivity with and without agents is not significantly different, you're doing something wrong. but it's not too late to embrace it and use it as an opportunity to learn a whole new skill tree
Justin Davis retweeted
There's some senior engineers on here who, in the face of AI changing the very structures this industry is built on, present themselves as Stewards of the Craft of Programming.
Bugs the hell out for me.
They keep alluding to the virtue of doing things by hand, the value of Good Code and of craftsmanship, saying that yes, AI might change some things, but hey it won't ever change the value of something done with proper care, by hand, just like in the olden days of 2024. Most everything that was Good back then is still Good now: deep knowledge of languages and systems, good code, great architecture. You know the sermon.
And, yes, some of that *is* true. At least I think so. But we don't know, because no one truly knows what will be important in the future.
We're going through times of great change and I think the best advice to give to young people and others who want to have a job and provide value is: keep your eyes open, rethink from first principles, derive from what businesses value what you can provide; the digital world is more malleable than ever, you should rethink how you can help shape it.
All this pounding on the Bible of Good Code seems to me to be doing the opposite: it lets people feel comfortable -- what I've valued all my life is still valuable, I can rest easy -- in times when one shouldn't feel comfortable. This is a bumpy, exciting, strange ride. If you lean back you might fall off the waggon.
Let's not delude ourselves and others that we can keep doing what we've been doing. Rethink it all.
And, like I said, it bugs the hell out of me seeing senior engineers (that are secure in their career) talking as if there's nothing *really* to change, because the Fundamentals will still be valued. They might!
But it's the wrong advice to not rethink everything right now.
Imagine if it turns out our brains DO in fact work in similar ways to LLMs, and then we can backport the learnings from working with LLMs to our own brains.
Like what if you could better control the system prompt, or find ways to prevent intrusive tghts (prompt injection)?
Idea:
Large financial companies fund Project Honeypot, which sets up millions of phone lines designed to catch phishing and other scamming attempts, which are then tied up by AI agents in needless conversations, running their success rate so far down as to bankrupt the model.
I like this advice
Patrick Collison's advice to people in their 20s: find where the highest standards are, and go experience them firsthand.
"When I talk to people in other domains, this is so frequently the thing that I hear from them."
"That when they worked with X person or Y organization or in Z environment, they learned what great actually is, and that just permanently changed their sense for what their own standard for their work ought to be."
"Maybe one version of what people in their twenties should do is... figure out, where can you learn the highest standards? Where are the highest standards embodied, and where can you go and experience that firsthand?"
@patrickc w/ @dwarkesh_sp (Feb 2024)
I think it’s useful, when you have any reaction to something (especially a big reaction), to ask yourself “Why am I reacting this way?” and the answer can’t be the same as your initial reaction.
Justin Davis retweeted
If you want to get ahead, just be easy to work with. Show up on time. Do what you said you'd do. Bring solutions, not problems. Never create drama. Be responsive. Be emotionally consistent. Be kind. People will always want to support someone who just makes their life easier.
Justin Davis retweeted
if your job was a means to an end, superintelligence will be the best thing to ever happen to you
if your job was an end in itself, good luck










