Hacker News new | ask | show | jobs
by mjburgess 1286 days ago
Almost all the work of programmers is already automated in the form of everything you get via `pip`, `apt get` etc.

A very large part of what remains is the bit which cannot be automated: modelling real world (business) process in terms of the systems of automation which are available.

Programming is a modelling activity which is about phrasing sequences of available actions to represent a process. If AI systems generate code, then programming becomes the sequencing of AI prompts -- which are here then just a more natural language like version of programming.

Even in that world a significant amount of technical skill is required to ensure commands are sequenced correctly, the code is correct, etc.

For "AI" to replace this process it would not only have to be AGI, but also AGI fully embeded in the human social world of the processes were are modelling.

2 comments

In another life, I designed workflows that could be picked up by offshore teams to execute the actual work.

My observation was that a lot of my colleagues had no appetite for reasoning about processes, much less thinking through various edge cases to make sure the work was done correctly and covered enough cases to be a useful workflow with low incidents.

Colour me skeptical but I'm not convinced we will see an AGI that can solve business problems without killing the proverbial cat without lots of baby sitting.

So is programming the business of copy pasting from stackoverflow or is it the business of solving problems?

> So is programming the business of copy pasting from stackoverflow or is it the business of solving problems?

Both, but what you’ve missed is you’re still putting some devs out of work. And solving business problems is absolutely on the burner for AI right now so give them a few years and it will solve that too.

I remain unconvinced, there's a huge swathe of legacy industries that the pandemic showed up for being woefully stuck in the past - with "digitalisation" being a buzzwords thrown around during 2020-2021 for older industries that thought working in the 21st century entailed emailing CSVs to each other, working on physical desktops.

I don't think these types of slow moving companies will be the ones to leap frog by jumping all in on AI, moreover I believe the TAM for software development is still growing strongly, AND I'm actually quite interested what happens to the nature of work 10-20 years down the line when most of today's kids who will be able to sort of code and become hybrid workers (to how traders went from shouting in a floor to being quite numeric, or accountants went from physical books to excel).

Tldr my bet is that AI might displace labour but not lead to a net reduction of software labour demand in the next 10-20 years at least

This comment aptly summerizes why I hate most "modern" programming jobs.

This is not programming. This is not what I had in mind when I signed up for Computer Science school.

> modelling real world (business) process in terms of the systems of automation which are available.

In other words, programming by analogy.

Programming is always a modelling of real-world process. If you want to program directly for the CPU, it is this device which provides you with operation primitives which you sequence. Perhaps you mean you'd prefer to model more interesting processes.

But if you mean algorithm design, that isn't programming. Algorithms arent programs, and the "operations" that they "sequence" are abstract. CSCi alg. design is more like geometry.

Programming is an empirical discipline; it uses the "geometry" of csci to build applications.

Programming is almost never about modelling a real world process - unless you're doing some kind of physics simulation.

Programming is mainly about data transformations.

All "real world" here means is that the program's semantics are correct given empirical conditions. Here, since "data" just means columns which are measures of the world, the program is modelling a real-world process.

Contrast that with algorithms whose semantics are abstract and are correct given essentially mathematical laws, rather than empirical conditions.