The emergence of generative models is already causing people to specialize in “AI whispering”, or being able to come up with prompts that result in consistently interesting and aesthetically pleasing works. It is both an exciting and a worrying trend, depending on whether you are a tech enthusiast or a struggling visual artist.

This process is not limited to what is traditionally called “art”. After all, GitHub Copilot is already a thing, writing useful code based solely on its users’ comments.

But where does this lead us, exactly? How far are we from the moment when the rise in productivity outpaces the growth of demand for new code, ultimately resulting in generally lower demand for software engineers?

Automation in software engineering is nothing new. To the contrary - it has been at its heart from the very beginning. Decade after decade, programmers have been spending significant amounts of time automating their own work, while sitting on the shoulders of taller and taller giants.

Cloud providers streamline infrastructure provisioning. Libraries for code generation and various techniques of metaprogramming spare us from manual creation of boilerplate code that is necessary but also agonizingly tedious to write. Faster query engines, improved algorithms, new frameworks - up until now they have only increased the demand for new code by lowering its cost, making it easier for software to devour more and more professions, supply chains, research, science, administration and every other aspect of the complex society we live in.

They also helped create thousands of well-paid, cushy software jobs.

Is it going to be different this time? Will the giants grow so fast, we won’t be able to climb them anymore? How long before we are able to materialize a complex system, including its auxiliary elements like unit and integration tests or API and infrastructure definitions, by merely specifying it on a very high level?

“…it has to process, at minimum, 500k messages per second, arriving from all the sources mentioned in the previous paragraph, with at-least-once semantics and p99 latency below 10ms, while deduplicating incoming data…”

[press “Generate and deploy” to proceed]

(I encourage you to read the linked interview, it is really interesting)