Outcome driven engineering
AI is changing the software landscape, the amount of code that can be written and the cost of code creation is coming down. But these things were never the measure of success. Any agent (human or AI) that optimised for code quantity as the only success criteria would churn out large quantities of garbage all day long as that is what they have been incentivised to do.
The job of an engineer is to use their skills to deliver outcomes. For the longest time the interface between engineers and outcomes was a keyboard connected to a screen. AI is changing this landscape, AI is becoming the interface between the engineer and the outcome.
At the time of writing AI has capabilities and limitations. The keyboard is still needed as AI can only go so far. But the mindset needs to shift away from using the keyboard for doing everything to using the tools at your disposable for delivering outcomes.
The outcomes have not changed with AI, businesses still want predictable systems that scale to their intended audience size, within a running cost budget. The delivery of this outcome might have changed, but the outcome hasn’t.
High level languages gave developers a big performance boost over more verbose tools like assembly code, yet we don’t yearn for having to flick through large manuals and register tables just to get relatively simple actions to occur.
From a strategy point of view, outcomes/goals are at the core of the creation of a strategy. You define an outcome and a series of actions that will take you from where you are now to the outcome (given your context). A strategist chooses the best tools available at the time to deliver the actions, that will then deliver the outcome.
Summary
- Focus on the outcomes
- Technology and tools change over time
- New technologies are reducing the time to get to the outcomes businesses want