Comment by daddynogo234
3 days ago
I don't think it is abstracting over code. It's abstracting over people. Let's do a concrete example instead of philosophizing.
"Build me a web dashboard where I see all my OSs processes etc. Maybe also memory usage and whatever, think of cool stuf. Ping me when you're done." is a perfectly valid instruction. It's vague, it's not code, but it is a perfectly valid instruction. In fact, I regularly deal with instructions from my boss that are orders of magnitude more vague and unclear than this.
What happens then is engineers scramble, gather their thoughts, present their ideas to the pointy-haired-boss and inquire about the context, the Why, the desired end state, the planning, etc. Given that "programming" is slow, extraordinarily costly and error-prone we have to carefully manage this. We create processes, systems of accountability and governance. After a "sprint" or two or ten some sort of dashboard will appear that will have about 60% of what was actually required if we are lucky (because the rest was unstated, heavily implied or genuinely unknown or some unholy combination of those things). We will have more meetings. Some will consist of stylistic discussions, some will discuss the "framework" and some "deployment". At least one will detail either the merits of a certain set of icons, the beauty of htmx or whether we should use Rust or Go on the backend. At least one person will argue for Elixir.
AI agents turn all of this into a "here is a result" and you'll be learning new requirements and iterating constructively on the idea itself instead of wasting time on NixOS and the nitty gritty of Material Design. You want Elixir? Ok sure.. let's do that in five minutes instead of twelve weeks.
I'm not at all saying the "nitty gritty" is useless or is a complete waste of time _generally_. I think I am saying that it _usually_ is a waste of time, in my bubble, and many projects would be served well with quick, concrete iterations on the ideas themselves instead of getting bogged down in bullshit. This is of course just my experience. I admittedly live in a weird bubble.
> What happens then is engineers scramble, gather their thoughts, present their ideas to the pointy-haired-boss and inquire about the context, the Why, the desired end state, the planning, etc. Given that "programming" is slow, extraordinarily costly and error-prone we have to carefully manage this. We create processes, systems of accountability and governance
That is when you go and create a whole politically motivated circus. Instead such ideas could have been coded and deployed in a single day. The actual discussion are not really about the tech, they are mostly about business needs and constraints.
The technologies are technically equivalent, but there are different tradeoffs between them. Most of engineering is finding the best set to help the business.
But it seems that a lot of people can’t bother refining their ideas conceptually. Or trying to solve the essential needs of their users. It’s like some kind of ADHD where they want “something” now, whatever the thing is.
> Instead such ideas could have been coded and deployed in a single day.
I would very much challenge this. I never saw it "in the wild". If you call this "political" then everything in life is political.
You understand that example was a simple one. You could do "something, something complex" and it wouldn't matter. You can't refine a concept you don't see. It's just that simple. We all like to think we can "know in advance" but we cannot. Time and time again we are shown to be shortsighted, ignorant and too lazy to have figured it out beforehand.
As an example us developers are confronted with this tech for years and an astonishing fraction of devs are only now starting to reckon with reality. They did not see what was right in front of them. That's just this example. It's not just us, everyone has trouble seeing ahead. We need to see the pieces moving and I assure you the clankers get pieces moving.
> I would very much challenge this.[…]. You can't refine a concept you don't see. It's just that simple. We all like to think we can "know in advance" but we cannot. Time and time again we are shown to be shortsighted, ignorant and too lazy to have figured it out beforehand
People do it all the time by breaking doing the problem. No one wakes up one day and say let’s build Excel or Figma and start coding or writing specs. There are sketches, libraries research, algorithms exploration,… Then all this knowledge will be assembled incrementally. If you got the foundation right, you can coast for a long time as reality is not that volatile.
In the process of building a car, you start with a skateboard (or a cart), because the foundational problem is transport between A and B. You don’t start with building a steering wheel.
> It's not just us, everyone has trouble seeing ahead. We need to see the pieces moving and I assure you the clankers get pieces moving.
Emacs, TCP, Unix are around 50 years old. Vim and Windows NT, 30 years old. You can find several example of software and technologies that get the foundation right in their design and then start doing incremental improvement. That is what happens when you solve problems and not just throwing things at walls to see what sticks.