Coding Smarter with AI – José Coelho Explains How
By Poppy Trewhella · August 5, 2025
In the fast-evolving world of software development, AI is quickly becoming a game-changer. From generating snippets of code to helping developers plan entire projects, large language models (LLMs) are reshaping how teams build software. But what does this look like in practice for someone who's been coding for decades?
We sat down with José Coelho, a seasoned developer with 25 years of experience, to hear how he's using AI tools like Claude Code and ChatGPT to accelerate his workflow at Paloma. José shared his early experiences with AI, how it's changed his approach to coding, the mistakes he's learned from, and his predictions for the future of software development.
First up, can you introduce yourself—what do you do, and how long have you been building things with code?
Hello! I'm José Coelho, also known as Joe. My first project was a website build when I was 13 years old (25 years ago!). I still remember struggling to translate my ideas onto the computer screen. Those same feelings of discovery and achievement are still what drive me today… the ever-changing ways to create value by showing something on a screen.
When did AI first click for you as a serious tool for coding—was there a specific moment?
When ChatGPT first came out, I was trying to work out how to make something happen on a mobile app and wanted some examples. I asked ChatGPT and it spit out a working class. A simple example of what I needed was magically in front of me, and was built with my questions taken into consideration. That was just awesome! The code was ugly and full of bad smells, but that's not the magic. The magic was that I could transform unknowns into knowns with just another prompt.
How exactly are you using AI now?
I'm building using Claude Code, it's not vibe coding, it's using the LLM as a tool to translate my ideas into code. Let's say spec-driven agentic coding. Over the years, I have refined my taste for readable and maintainable code, so I have a good idea of what I'm looking for.
My workflow is like this:
- I start by thinking about what I'm trying to achieve—my goal, and what I want to learn from the next piece of work
- I discuss it with an LLM to get ideas about how to organise the code, usage examples, potential flaws. All of this is written down in markdown files that I am constantly reading, questioning and improving
- A problem is usually too big to tackle at once, so from the whole set of docs, I create a plan of attack and choose one piece to work on
- Once I have a good idea of what I'm trying to achieve, I move one layer down to how. The LLM writes a detailed specification file that includes tasks, test examples, and other relevant details
- I review, fix, discuss, then I ask the LLM to execute that plan (and I follow it along to make sure it's not going rogue)
- I go back to plan mode when things go sideways, and keep repeating this process. I often run 3-5 Claude Code instances in parallel
There are some requirements for this to work well:
- Context is king—keep a list of the related files, and supporting docs easily accessible within the repo
- The LLM must know how to write and execute unit and integration tests (self-validation)
- The LLM must not move on to the next piece without having full test coverage
- Linters and formatters are a must, otherwise the code style will be all over the place
- Own the code. It's never the LLM's fault—it's your fault if you let bad code go to production
What mistakes did you make early on—or what's something you wish you knew sooner?
- The flow can be dangerous—I'm often full of ideas, and the LLM enables me to try out too many things. Keep things small and build iteratively.
- These agents are convincing; they are going to tell you that everything is perfect, ready for production. Do not fall for it; review and test thoroughly every single line and feature.
- Allowing the AI to build too many unnecessary "nice-to-haves." Every single line of code is a liability.
Any predictions on the future of coding?
I believe the AI agents are still in this first verbose phase, but the next phase should not be far. My prediction is that agents will be coded with more and more good practices embedded in them, and that the quality output will get pretty close, if not better than what humans can achieve manually. And I will be there to help guide those agents to build a lot of cool stuff.
Use the tools you have available now, with the knowledge you have available now, to achieve what you can achieve now. Learning by example is now way easier than it was 2 years ago. I'm excited to have the opportunity to evolve how I deliver value.
