{"slug": "with-claude-less-coding-more-testing", "title": "With Claude: Less Coding, More Testing", "summary": "A software developer using Claude Code reports writing significantly less code while spending more time understanding and testing AI-generated code, describing the shift as a positive change that preserves the joy of creating software. The developer emphasizes the importance of still reading and understanding every line of code Claude produces, using the tool to explore existing codebases and quickly set up test environments rather than outsourcing comprehension.", "body_md": "Having used Claude Code for a few months now, I have noticed how software development has changed for me. I write a lot less code, but I spend more time understanding and testing the code Claude has written. The proportions have changed, but it still feels like software development.\n\nI also use Claude to better understand existing code that I didn’t develop. On balance, using an LLM coding agent is very positive for me. It speeds up many parts of development, without losing the joy of creating software.\n\n### Fundamentals\n\nI am far from the bleeding edge when it comes to using agents. I still look at the code, even if Claude wrote it. I sometimes edit it. I believe it is important to understand how the system I am developing works. This includes understanding it on many different levels, from architecture down to implementation details. Ultimately, a system is made of an enormous amounts of details.\n\nWhen I add a feature, I want to know and understand how the system is changed by my addition. I may forget some of the details later, but I want to have understood them all at least once. I know many people feel that the specification given to the agent should be enough, and that developers no longer need to care about the details. But so far, I am sticking with understanding the details too. This is partly because with my name on the change, I want to be able to vouch for it. It is also because there are so many details in an implementation that can’t be captured in a short specification. Many of those details will affect the behavior of the solution. It reminds me of the essay [Reality Has a Surprising Amount of Detail](http://johnsalvatier.org/blog/2017/reality-has-a-surprising-amount-of-detail) by John Salvatier.\n\n### Coding\n\nThese days, I typically start a new feature by asking Claude if the description in the ticket is correct, and if so, I am asking for a suggested solution. I avoid steering Claude to a given solution, even if I have one in mind. Perhaps there are better ways of doing it that I haven’t thought about. I also don’t want Claude to just go along with whatever I suggest.\n\nWhen the code is written, I will read through it to understand it. There is often a back and forth with Claude: what does this part do? why is this here? how does that work? There can be both big and small things to change during this process.\n\nIt is great not having to write boiler plate code myself, or finding the right syntax, or figuring out the correct way of using an API. It is like going straight to the logic of the change.\n\n### Testing\n\nI have always wanted to convince myself that the change I am putting my name to will work. Apart from seeing the main logic working with unit tests and integration tests, it means making sure every line of code in the change has been executed, seeing that the log messages look good in context, observing the whole system when using the feature, and so on,\n\nWith Claude, it is so easy to get tests set up. Before, it could take a lot of work to create the right environment for tests to be feasible. Apart from automatic tests, I like to do some [exploratory tests](https://henrikwarne.com/2018/05/01/is-manual-testing-needed/) too. With Claude, it is easy to ask for some temporary local changes to facilitate this. For example, if some processing is only done at midnight, I can get patches to make my local test system execute that logic one minute after starting, instead of having to wait for midnight.\n\n### Understanding\n\nAI is not an excuse for not learning. On the contrary, learning is still important, not least in order to be able to judge the answers the AI is giving. Perhaps the most surprising benefit of using Claude has been how useful it has been in exploring the existing code base.\n\nI regularly ask Claude to explain how features in the existing system works. Usually, the answers are of very high quality, and it is always easy to check the affected areas in the code. Even better is the fact that I can keep asking follow-up questions about parts that are still not clear to me. The purpose of this is always to increase my own knowledge of the system.\n\n### Conclusion\n\nThese are extraordinary times, with LLMs changing a lot about how software is developed. I have found that using coding agents has changed how I spend my time as a developer. A lot of the incidental details of coding have gone away, while I am still engaged in the essential logic of what I am developing. Using Claude has also made understanding the existing code base a lot easier.", "url": "https://wpnews.pro/news/with-claude-less-coding-more-testing", "canonical_source": "https://henrikwarne.com/2026/05/31/with-claude-less-coding-more-testing/", "published_at": "2026-05-31 11:56:54+00:00", "updated_at": "2026-05-31 12:17:27.676281+00:00", "lang": "en", "topics": ["large-language-models", "ai-agents", "ai-tools", "generative-ai", "ai-products"], "entities": ["Claude", "Claude Code", "Anthropic"], "alternates": {"html": "https://wpnews.pro/news/with-claude-less-coding-more-testing", "markdown": "https://wpnews.pro/news/with-claude-less-coding-more-testing.md", "text": "https://wpnews.pro/news/with-claude-less-coding-more-testing.txt", "jsonld": "https://wpnews.pro/news/with-claude-less-coding-more-testing.jsonld"}}