Positive Vibes to your Inbox

An occasional newsletter to brighten your inbox, bringing you the best thoughts and links from the studio


A Developer’s Best Friend?

OK, it’s time to come clean. Over the past week, I have spent a significant amount of time using Claude AI. And it’s fantastic.

Claude who?

Claude is an alternative to ChatGPT, developed by some members of the ChatGPT 3 team who previously worked at OpenAI but left after disagreements with CEO Sam Altman. Consequently, they established their own company, Anthropic, and their main product is Claude. This week I have been using it to assist me in writing code, and it’s really, really great at it.

In the past I’ve used ChatGPT to assist me in debugging code – sometimes it spotted the issue straight away, while at other times it struggled with identifying anything and as such hindered problem-solving as much as it helped. I suspected as many did that perhaps Large Language Models (LLMs) would always be such, unreliable and only useful up to a point. However, the latest (Sonnet 3.5) version of Claude is on a whole another level.

LLMs are trained on the entirety of the internet, which includes scouring all open-source projects and resources like Stack Overflow. The key to effective AI assistance is understanding what it’s good at and what it isn’t. No LLMs possess actual intelligence; they are simply extremely adept at predicting the next line.

Developing with Claude as an assistant

As developers, we often spend time debugging code by using console logs or searching through Stack Overflow, other forums and documentation. The experience with Claude means you can chat directly to it and get immediate insights – writing and rendering the code before your eyes. It’s a completely different experience than the Googling for nuggets I’m used to.

It’s not perfect – you still need to understand programming fundamentals and crucially know enough to ask the right questions. While it can generate complex solutions quickly, I’ve found it sometimes overcomplicates things or suggests unnecessarily elaborate approaches to simple problems. You can’t blindly trust what Claude suggests – you need enough expertise to evaluate if its solutions make sense or if there might be simpler approaches. But what I really love is how collaborative it feels.

I can bounce ideas around, get suggestions for improving my code, and turn it into a genuine learning experience. When I don’t understand why something works, I can ask Claude to break it down step by step. It’s like having a knowledgeable developer colleague always available to explain things.

Great. But then, what am I for?

It’s a very strange feeling – to know you’ve spent a good amount of your life learning the trivia of a programming language, attempting to improve your knowledge and ability over years of work – and then sit and watch as an AI chatbot does what you do, but better and quicker, after you ask it a simple prompt.

There are valid ethical concerns about how LLMs are trained on open-source code without explicit permission from developers. It raises important questions about intellectual property and fair compensation in the open-source community. However, pragmatically speaking, not using these tools feels like fighting the tide – they’re becoming an integral part of modern development workflows. I think it’s about how you use them. Like any powerful tool, the key is using them responsibly and understanding their limitations.

The reality is that AI assistants aren’t replacing developers – they’re augmenting our capabilities. Code may be written for computers to understand, but the crucial elements of software development – understanding user needs, architecting solutions, making trade-off decisions, and ensuring maintainable, secure systems – still require human judgment and experience.

Fingers crossed

I’m uncertain of what the future will be like for using AI. But for development, it feels like it will be an essential part of it. My feeling is it will soon feel antiquated to code without any AI assistance, like trying to develop without Stack Overflow or proper debugging tools.

My hope is it will allow for more creativity and innovation, improving the development experience by moving us away from repetitive tasks towards a more enjoyable experience. This week’s toying around with Claude has been fun. It’s impressive and powerful and, crucially, enjoyable. Now that Pandora’s box is open, it would feel very strange to ignore it completely.