I've been bullish on AI for a while now, and I think for good reason. As someone who started life as a programmer rooted in mainframe development for serious businesses like banks and governments, I've witnessed first-hand how advancements in data science and machine learning have transformed IT. AI has overcome a critical hurdle: the speed and quality of turning data into actionable knowledge. This has opened a world of possibilities for corporations, organisations and individuals a like, and has created a brave new world for developers.

While some peers rightly hesitate to embrace agentic frameworks and AI coding assistants, I've gone all in. Tools like Cursor and Claude have continue to impress me with their speed, quality, and sophistication, which have matured dramatically in just the past year or so. My 30 years of building complex systems at scale-15 at Microsoft, plus stints at Allianz and the NHS-have wired me to tackle complexity with rigor. Yet, one area where I've historically struggled is communicating ideas clearly and concisely. I tend to get too excited, offloading thoughts in bulk to dive into action.

As one colleague once said, 'You seem think we are all telepathic and can read what's in your head, sadly we can't' Working with AI coding assistants has shown me how costly that can be. The biggest lesson I've learned is that clear communication, clarity, and structure are non-negotiable when collaborating with AI tools. Just as you wouldn't assemble a team of developers and hand them a vague project plan, you can't expect stellar results from an AI assistant without a clear roadmap. Freestyling-or what some call "vibe coding"- might be a great way to get moving fast but ultimately it's recipe for failure.

Instead, treat your AI code assistants like a development team. Articulate your intent, define the desired outcome, specify your approach, and anticipate risks. For example, saying, "Build me a data connector API for my backend, " is too ambiguous. Instead, break it down: specify the data source, required endpoints, performance needs, and security constraints. This disciplined approach ensures modular, maintainable code and consistently high-quality results. Here's my advice for anyone using AI coding assistants to build services, applications, or tools: 1.

Plan First: Outline your project's structure and break it into modular components. 2. Communicate Clearly: Provide precise instructions, including intent, constraints, and priorities. 3. Iterate Thoughtfully: Review AI-generated code, refine inputs, and maintain rigor throughout. AI-assisted coding is a game-changer, but it demands the same discipline as traditional development. By greasing the wheels with clear communication and structured planning, you'll unlock the full potential of these powerful tools.