Hey, I'm Ryan Harman

đź‘‹

I'm a Software Engineer specialising in web technologies. I build robust, scalable products with a focus on React, Node.js, and AWS.

You can find my projects on GitHub.

Want to chat? Connect with me on LinkedIn or get in touch via [email protected]

Learning how to learn with AI

My personal reflection on how my perspective has shifted in the last year

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.