Software development has changed a fair amount since I started learning to code, and especially so in the last couple years.
In the last year alone I’ve noticed the way that I approach my work, how I learn, and my identity as a programmer has shifted quite
dramatically in ways I didn’t expect.
I got into programming primarily by chance - I wasn’t taught at school, I don’t have a degree, and I’ve been working in the
industry for approaching 10 years now. I started full time work in a warehouse at Bentley Motors and worked my way into a Junior Developer
position, after teaching myself how to code, shortly after I got given a desk and a computer in the warehouse.
I struggled to even understand an if() statement in excel to begin with, let alone the index matches that I ended up abusing thoroughly.
I’d automated most of my job within 3 months of being given that computer. The remaining time in that role was spent learning how to make my
automations even more efficient through deep learning and days of frustrating trial and error. You can imagine that this has come with its
pains on occasion (this being more a reflection of before I built my network of amazing colleagues and recruiters I’ve worked with than recent
feelings in the last few years). Dealing with recruiters, or often times colleagues, who are dead set on education being a crucial requirement
of their/our jobs, the constant feeling of pressure to keep up, or become better, to chase the doubts away, or the worry that you aren’t learning
enough to keep up with the pace of the industry and that lack of comp-sci foundational knowledge is slowing you down!
The double edged comfort
Roughly a year ago I begun working with Claude day to day, and it’s been a fascinating experience, but I’ve also been contemplating a lot about
the implications of becoming more reliant on Claude as it gets better.
I haven’t had a day of pure frustration since I started using him (yes, I’ve found myself referring to Claude as “him”). I can vividly remember
moments of frustration where I’d be stuck on an issue for HOURS, and left with no solution, until I walk away and give myself space to think
it through with a fresher head. Whilst this is a joy, and a great reduction in stress, I do think it has given me a level of complacency and
confidence that I’ve been doubting. Never before would I have thought “oh that Sentry issue shouldn’t be too bad, lets just find the root cause by
sending the link to my terminal and get a fix out same day”. Instead of diving into my code editor, spamming G-R on the failing function to find references
and scrape down the tree of dependencies that the source maps showcased, I now just ask Claude to do it.
Have I stopped learning as deeply as I used to? Have I stopped growing as a developer? What if I’m existing within a bubble in my current
company? What if there are no challenges beyond prompting Claude for a mediocre solution in my future? Are my colleagues thinking similar
thoughts or am I the outlier? What if they think I’m useless without our AI buddy? How do I get my colleagues to share ways of working when
we’re all mostly just prompting Claude rather than pairing? Is knowledge share a thing of the past? How do I learn new topics through Claude??
Finding some balance
The list of doubts could continue and it slowly diverges into removing humans from the cycle and figuring out efficient ways of
getting Claude to teach me what a human could or should! But what a blessing it is to have a tool that can help me learn and grow with
typing something out on my keyboard, showing the results to my colleagues sat besides me and debating it together. There are huge positives
ultimately to having Claude in the loop as a tool and the speed at which I’m delivering and learning new concepts, even if surface level
at times, is fascinating.
I’ve been forcing myself to write all my documentation at work in my own words, to truly understand deeply what
I’m trying to achieve, solve problems using my own brain power and not just his. I can safely say that finding that balance is going to be
the key to avoiding both burnout and despair in the long run for me in my career going forward if this is the path we’re all set on.
Beyond the confines of neovim
How is this influencing my personal life? I honestly don’t know, but I’m sure it’s part of the reason why I’m taking the time to write my
thoughts here. It’s almost a journal entry, rather than a thought post specifically on software development today.
I’m actively spending more of my free time learning, writing, and exploring new hobbies. Maybe Claude will be the reason why I find enough
time to start that book I want to write đź‘€.
I feel as though I have more energy to spend on friends and loved ones. Maybe that’s a product of the great company I work for, as well
as Claude’s ability to ease the burden of tackling the exhausting issues that can arise, but I’m sure it’s also a reflection of my growth
in my personal development. It’s certainly a comfort that I’ll be making good use of to support a lifestyle that’s healthy and fulfilling.
The perspective I’ve settled on
I don’t have a tidy conclusion here, and I think that’s the point of this post mainly. The relationship between me and Claude is still
forming, still shifting, and I’m learning that more and more as the days go by and I find new avenues to explore.
The reality I’m settling on is that these days I feel like I’m the sharpest I’ve ever been, shipping faster, understanding more,
having the energy outside of work to do the things I love, and being able to learn and grow in ways that I never thought possible.