As a programmer of 40 years, the range of applications and individual programs I have worked on is extensive. And in every one of those efforts, some code was written to perform a task that was previously performed by humans.
One of my first (non-card deck) programs was to automate several operating system functions that usually required 3 to 10 individual tasks. By writing a program as a wrapper to those tasks, I reduced the effort taken by an operator, making them more efficient.
When spreadsheets were first released as a tool, I would write programs in VisiCalc to reduce the time taken for accounting tasks. While it did not remove the calculator from a bookkeepers desk, that calculator did not have its ribbon replaced as often.
From accounting, to distribution, to manufacturing, to sales – the list of applications I was involved with grew. One particularly challenging application was a logistics tool where the addresses and load contents were gathered, and from there, both a route and a loading manifest were calculated. This would save costs by ensuring the most efficient route and save time by unpacking from the back of the trailer every time.
When IBM made Watson available to the world, we used APIs that would perform tasks previously unavailable to applications. Language translation was easy, voice recognition was improved, chatbots were introduced, and Jeopardy questions were answered in under 3