Hacker News new | ask | show | jobs
by kiitos 371 days ago
It turns out that the process of "tapping out characters" is (a) never any kind of bottleneck for meaningful product velocity in any kind of meaningful system; and (b) actually important for engineers to do in order to understand the system that they're expected to maintain.

If (a) isn't true for you, then you're operating in a pathological environment, context, organization, etc. which isn't representative of any kind of broader industry experience.

And (b) is usually clear to anyone who's, for example, taken a university course, and compared the efficacy of manual note-taking vs. (say) automatic transcriptions from lectures. The process of parsing the lecture through your brain and into notes that you write yourself, turns out to be essential to information retention and conceptual understanding.

1 comments

There's a big difference in criticality of different kinds of software. If the code you're writing will be 'the thing that runs the actual business logic in production' of course you should understand and own the code. And that code is very meaningful in the way you describe.

But so much of the software we need to solve various problems is not mission critical. Like tooling. Or any low stakes software that can be easily replaced. Or some script that makes your life a little bit easier. Or maybe even a small gui app that helps you compose some specific configuration for that other software. Tools where the output is easy to verify and can stand on its own and can't be used by an attacker to exploit your systems.

If you put a lot of effort into tooling that you can throw away the moment better tooling appears you can make the mission critical software leaner.

> actually important for engineers to do in order to understand the system

It is one tool for it and an important one. But it is not the end all tool for understanding or trusting code. If that were the case you'd have to rewrite all code you ever had to maintain. You rely on a stacks of software all the time that you do not write.

AI indeed makes mistakes but so does humans so we have to validate the code we use with multiple such tools.

In any kind of minimally-effective engineering team, engineers will only ever be working with and maintaining code that's "mission critical" in the sense you're describing here, there won't be any meaningful amount of "non-mission-critical" code worth considering or optimizing.

This is in some sense a didactic assertion: if it's not the case, then your engineering team isn't providing any value beyond what a bash script, gluing-together JIRA tickets and GitHub PRs via the LLM-du-Jour, could do autonomously.

I have never worked in an engineering organisation that lives up to that level of efficiency that you seem to describe. Once you scratch the surface there's always a mountain of things that would help people get more efficient that never gets prioritized.
And I've never worked in an engineering org that _didn't_ live up to the level of efficiency that I'm describing. I guess, seek better employment?