The thing about programming is it can be done with tape [1], birds [2] and textiles [3]. It happens to mostly be done on machines.
[1] https://en.wikipedia.org/wiki/Turing_machine
[2] https://en.wikipedia.org/wiki/IP_over_Avian_Carriers
[3] https://www.karriweaver.com/selvagenotes/weaving-computing-t...
Eh, programmers used to be people who'd desk-check their flow charts before hand-translating them into machine code to enter into a front panel. There's been decades of growth in abstraction since then, and LLMs are just one more layer, another return of the perennial idea of "programming" by writing specifications in a natural language that a machine can automatically translate into actual code which it can run. You know, like what COBOL allows. We're still going to need people who are capable of making such specifications, ensuring the resulting code is correct, and fixing them when they're no longer sufficient.
Great article.
While the definition changes, the expertise shifts and with it the field. Computers eventually became statisticians and data scientists. Printers became graphic designers.
What I found most interesting is that when positions undergo such evolution (printer -> graphic designer), a number of skills which were previously different expertise altogether, combine to create a new field. In other words, a new multidisciplinary field is born.
I think a good example is data science, the field at it's core is applied statistics using modern techniques such as data management and computing [0].
The question is, what is the new evolution of a programmer? Lots of folks like to use the term "engineer", and previously I thought this was silly. But now with LLMs, maybe that is a good descriptor; software engineer.
[0] https://www.welcometothejungle.com/en/articles/story-origin-...