Coding Smarter with AI – José Coelho Explains How

By

Poppy Trewhella

August 1, 2025

No items found.

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.

Let's get into it...

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! There was so much knowledge in that piece of code. 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, etc. 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 I'm going to achieve it. 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 until it’s done. One planning session always gives us heaps to do. I often run 3-5 Claude Code instances in parallel. Some tasks require my full attention, while others can run in the background.

There are some requirements for this to work well:

  • Own the code. It's never the LLM's fault, it's your fault if you let bad code go to production! It's just a tool; it won't do your work for you.
  • Ask the agent to create TODOs so you know what it is doing. And keep the spec docs updated with the progress, so you can easily resume the session the next day or when it gets out of context
  • Context is king, so keep a list of the related files, and supporting docs easily accessible within the repo, the LLM only knows what you show it.
  • The LLM can build a lot of crap, so keep it under control and build iteratively in small steps
  • The LLM must know how to write and execute unit and integration tests (have a way to self-validate, so you don't need to babysit it all the time).
  • Linters and formatters are a must, otherwise the code style will be all over the place, I run them on git hooks and on the CI
  • Security concerns are all on you! You can't blame the hammer when you smash your finger!
  • The LLM must not move on to the next piece without having full test coverage (when possible). If you let it spit out too much code without self-validation (writing and running tests), you may spend more time debugging that code than you would by writing it yourself.
  • Test it! Test extensively, both with automation and manually.

José Coelho
What mistakes did you make early on- or what’s something you wish you knew sooner?
  1. Allowing the AI to build too many unnecessary ‘nice-to-haves’ that I would not build myself. I caught myself reviewing and fixing a lot of code that, after a second look, could be removed and kept simple. We must remember that every single line of code is a liability, and even though we can output more "features", we should keep our table uncluttered and clean so that we can move effectively.
  2. These agents are convincing; they are going to tell you that everything is perfect, ready for production (that's a common one) and that your idea was the best one on earth, but when you look into it, it's just not there yet. So, do not fall for it; review and test thoroughly every single line and feature.
  3. The flow can be dangerous- I'm often full of ideas, and the LLM enables me to try out too many things. I keep reminding myself to keep things small and build iteratively, following the entire continuous delivery flow, so I can validate my assumptions with actual users.
Favourite AI tools or workflows right now?

Claude Code is my go-to tool regarding agent coding. And ChatGPT for quick questions or small examples. I could use Claude for everything now.


Any predictions on the future of coding?

When we started coding, we wrote a lot, thinking we were achieving a lot. Then, we learn more, get better tools, and discover new ways to start delivering more value with less code.

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.

Anything else you want to add?

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.


Thanks José!

Whether you’re new to coding or have been building software for decades, José's advice rings true: stay in control, build in small steps, and treat AI like any other tool in your stack. As the technology improves, the developers who learn how to guide it, not just use it, will be the ones shaping the future of software.

Want to chat about how AI can fit into your workflow?
We’re always keen to swap ideas and share what we’ve learned. Find us at hello@palomagroup.com

You can also read more of José's work on his website
https://josecoelho.com/

No items found.
No items found.
No items found.
No items found.