Ask HN: Is looking at the code slowing us down?
4
rrstagi about 2 hours ago 12 comments
I know this scares many people, but you can control things with QA, evals, ship quality gates and so on... I know we might have more bugs in the short term, but is not looking at the code the right direction we should go for the long term?
Several important developers switched to this new idea, the ones who work in production grade stuff (one example is Antirez, who just wrote some tweets that inspired this post)

Discussion (12 Comments)Read Original on HackerNews
I've found that the forced do-it-once-and-do-it-right philosophy requires so much less total development time than the break-things-and-release-often philosophy that I've adopted it on software that I could update after the fact.
The biggest impediment is that you may be relying on a software stack adopting a different philosophy. No matter how good your software is, if the underlying OS or libraries are by, there may still be poor reliability.
Using standard C libraries is a pretty safe bet, whereas relying on Python or Node.js libraries means you'll need to issue constant patches, even if your software works fine, and the fixed libraries might even break compatibility.
Given the option, running your software on OpenBSD can give extremely high uptime as critical updates are rare. They have a philosophy of not only looking at what they write, but looking at it again later, even when they haven't changed anything, just in case they made a mistake.
In the context of many other measures I think speed is an important measure. Maybe even the key measure. I’ve even written a blog post entitled “reading code is an anti-pattern.”
But if the metric is, slowing us down from having more lines in production then the answer is unequivocally yes.
If the answer is providing customer value, or having a sustainable engineering culture. Then I’m not so sure. I’m not saying I believe the opposite, but it feels like excessively optimizing on the wrong thing.
Ultimately I think this asks the wrong question, I think most other surrounding questions is the right one which is - how do you safely and quickly deploy the right code to production that delivers customer value.
I think that will continue going forward involve doing so in an automated fashion, but then the right question isn’t, “should we stop reading code”. But something like “what is the right way to ship intent to production”
Because if you do the first without the second…
Individual ability? Newer engineers should read and write more code than experienced engineers.
Maturity model? Teams with better access to objective specifications can read less code than teams without it. Teams with more experience with building loops and validation frameworks the same.
Industry tooling? I think we need more work on the spec driven development front. Some set of standards as to how we define contracts that LLMs can operate against that are more deterministic.
As a user, I’d rather the developers release later with a solid product/feature.
As a developer, I’d rather release something that won’t be a support nightmare.
Would you drive without looking at the road (or blindfolded) because we now have autonomous vehicles?
Not looking at where you are driving and also never looking or understanding what the code does, makes no sense in the long term. Especially in the event of a disaster.
Both have something called "liability" and it gets expensive when it goes wrong.
> Several important developers switched to this new idea, the ones who work in production grade stuff (one example is Antirez, who just wrote some tweets that inspired this post)
Does that mean we should blindly follow them? Just because someone else is doing it does not mean you should too.
A better questions is...have we lost the ability to think for ourselves because we have LLMs doing all the thinking instead?