I have said repeatedly throughout my career that the effective use and adoption of technology requires a deep understanding of your own business processes and workflows. This is true regardless of the nature of the technology: proprietary or open-source, SaaS or cloud or on-prem, web or desktop or mobile, SQL or not. None of these things can paper over poorly understood processes.
As James is currently pointing out over on his blog, technology tends to expose that lack of understanding. It often unfairly shoulders the blame but, in the highly deterministic world of software, getting the wrong answer usually means you didn’t understand the question. Technology doesn’t suffer uncertainty well.

So what about our non-deterministic frontier of generative AI? The same thing applies. In fact, your understanding of your business is even more crucial. As the non-deterministic, “hallucinating” nature of LLMs and related technologies became apparent, patterns emerged to address it. Retrieval augmented generation, prompt engineering, agents and subagents, system prompts, MCP, conversation memory, context compression, and skills are all patterns for providing “context” to AI so that it can produce better results, reduce hallucinations, and behave more deterministically. Business understanding is a key component of context so, to be effective with AI, you need to understand your business deeply. You can’t avoid it.
To be sure, concepts like iteration, testing, and constraints still apply when working with AI. Prompting isn’t the sole technique for improving performance, but none of those techniques are effective without business understanding.
There are a lot of reasons poor AI implementations fail. Many were addressed in an MIT study in 2025, but this quote stands out “Domain fluency and workflow integration matter more than flashy UX.” Business understand and relevance to task are essential, and that’s not a new concept. It has been true across the historical landscape.
I’ve seen a recent example where deep domain expertise can yield quality results using AI. My friend Ari Isaak has been working on a system, called Photometrics AI, that uses AI to optimize the design of streetlighting. I started early last year helping him with the system. A series of health, personal, and business issues sidelined me and I couldn’t jump in the way I’d hoped. Ari didn’t (really, couldn’t) wait and jumped in with AI-based coding tools to build the system.

He was able to do it because he so deeply understands lighting design. It’s actually an incredibly fascinating subject and Ari was able to use his knowledge to guide the tools to produce an early version of the system, which he recently deployed. Photometrics AI has the potential to save enormous amounts of energy if widely adopted. I gave him some guidance along the way on customizing subagents so that the code produced by the AI was consistent and good quality, but the understanding of “correct” came all from Ari.
As I have been looking over the code, it’s quite good – modular, makes good use of the DRY principle, has reasonable security implementations, and performs well. Like any code, it may need to be adjusted over time for scale, but Ari got good results. The end result is a system that allows a lighting designer to upload data, build out a schedule, kick off ML training for the model of lights (if they are new to the system), integrate with their lighting control system, and begin managing the on/off times and dim levels of each individual streetlight in their system.
Ari’s experience really opened my eyes to the power of tools like Claude Code when they are guided with deep domain expertise. His experience stands as an example that understanding your business well is step one, even in the world of AI.
Because generative AI is guided by prompts, it is again elevating the importance of writing, placing alongside debugging and system design as a necessary tool for successful outcomes. You have to be able to communicate well in the written form. Sure, it resembles technical writing more than literary fiction, but it still needs to be written well. In order to describe your process well in written form, you need to understand it deeply. As a lifelong coder, my worldview has been shaken a bit. As a lifelong writer, I am excited.