AI Beginnings
A lot has been written about AI coding assistants, even more about generative AI and LLMs in general. I’m not sure that I have anything particularly revolutionary to add to the conversation, but some of my peers might benefit from my experiences and I might want to reflect back on it in the future.
There is no question that I am late to the party here. Quite honestly I have been an AI skeptic, and I have some very serious concerns about the socioeconomic impact of the technology behind them and even the potential existential threat it poses for humanity. Also I am the type of developer who actually enjoys the act of writing code and solving problems with my own knowledge and skills. Simultaneously, I, like most of my peers and really everyone in a white collar job, am faced with pressure to learn, understand, and utilize this technology or face becoming obsolete in the workforce. Additionally as a software architect leading a team of over 40 developers I find myself needing to provide guidance and support in the utilization of this technology.
After some experimentation with Office CoPilot at work and ChatGPT at home, I finally reached a point where I decided to sign up for a personal Claude Pro account with Anthropic and get some hands-on experience with Claude Code.
Probably like many, the first thing I did with Claude Code after installing it was to ask it to build an application for me. I had no real intention of using this application for anything, I just wanted to see what the quality of the code it produced was and whether it would actually run out of the gate. The answer was honestly more surprising than I was expecting. Not only did it produce code that was well organized and ran correctly, it did so in a way that was not dissimilar to how I would have approached it myself and it did so extremely quickly.
Coincidentally only a few days after creating a personal account we started a pilot usage of Claude Code at work. So what started as dipping a toe quickly became fully submerged.
Look Before You Leap
When I first considered signing up for an account I decided it would be best for me to review as much of the Anthropic documentation as I could. I am glad I did as it really helped me understand how Claude Code is configured and connects to files on my local system. It also clarified some of the concepts that I had heard but not experienced first hand.
Documentation
After I got a taste of what Claude was capable of I decided to turn it on some old code from a side project I have been working on. The project consists of two older PHP code bases which I did not write. I asked Claude to produce architectural documentation for the two projects, separately using agents so it did it for both in parallel. I also asked it to create diagrams using Mermaid. What it produced was not inaccurate, it was pretty simple given how much code there is but it definitely did a good job of summarizing everything.
Project Planning
I am actually in the process of writing those two projects into a new single codebase with a different, more modern tech stack. I had already laid the ground work for what I wanted the software to be so I ran Claude within the project, gave it access to the old code, and asked it to produce a comprehensive project plan for migrating the old projects to the new project. It produced a multi-phase project plan and accounted for things I hadn’t even thought of. I should point out that these are not simple programs, they had been under development for a long time and the functionality grew extensively. I found this project plan to be a guide that I hadn’t previously had, something to help me feel less lost in the wide open ocean that the migration effort felt like.
Tutoring and Support
I recently started learning the Rust programming language. I have been reading the book and playing around with some code. I got the idea that I could try using Claude to help me as a tutor, not for it to write the code for me but for it to help me understand problems I encountered and explain what I was doing wrong if I couldn’t figure it out on my own. I gave it the instructions that it was to be a tutor for me and it was not meant to write code for me. I wanted it to be detailed in its explanations and help me to write more idiomatic Rust, as opposed to code that just worked.
Investigate and Problem Solve
At work we have a lot of code spread across multiple teams, far more than a single person can wrap their head around. As an architect I am regularly finding myself needing to help troubleshoot, problem solve, and make decisions about technology and how all of our software fits together. Architect stuff. Rather than spend a week trying to understand a complex service and how it fits into the big picture, I can get Claude to summarize, document, and explain. It can point me in the right direction so I can focus my efforts on the higher-level architectural work.
In Summation
My experience with Claude Code has been genuinely surprising, and I say that as someone who came in skeptical. I still have the same concerns I started with — the societal and economic implications of this technology are real and worth taking seriously. But I have come to separate those concerns from the practical reality of working with these tools day to day.
What I have found is that Claude Code works best as a force multiplier for the things I was already doing well. It does not replace the need to understand your code, your architecture, or your domain. If anything, using it well requires more clarity of thought, not less — you have to know what you want and be able to evaluate what you get back. For someone who cares about the craft of software development, that is actually a reassuring conclusion to arrive at.
I expect my usage to continue to evolve as the tools do. For now, the value is clear enough that I would have a hard time justifying going back.