I haven’t have written code aside from tweaking stuff here and there in probably 3 or 4 months. Before that I wrote code by hand every day for many years.
I’ve found a lot of fun parts of my new workflow that I enjoy. I still miss being fully immersed in a problem deep in the files… and sometimes it feels like homework reading so many implementation summaries from Claude because the feature spans 4 repos and is too much code to read. But I do love shaping the code into different solutions exploring in a way that is unique to ai native workflows. And I love building agent skills and frameworks with/around them and expanding it out to more aspects of the company or life — there’s deep work to be had that still feels like hacking in the trenches. I get a lot of the same satisfaction in different ways, and there’s a lot of exciting novelty to explore that was previously out of reach due to time and energy constraints.
Also I don’t like our backend stack and I hate React / NextJS to the degree of derangement syndrome — I am so happy that I don’t have to write it and I can just focus on UX, making customers happy / lives easier / shaping the software into better and better versions of itself at such a faster pace.
People who learned good software engineering intimately before the inflection point are extremely lucky right now. Existential dread and the stages of grief have been a part of the journey for me too sadly, but there’s a lot to celebrate and explore with the right attitude.
Since I have been a software architect for the past 7-8 years it feels in some ways that that experience makes using claude code a lot more productive than for my non-architect colleagues, as I am able to steer it much more effectively whether directly in sessions or via custom skills / mcp.
The big issues right now for me are hiring and manager expectations, I changed positions last fall due to mass layoffs and it took me 3 months to find one: having leetcode interviews in the current climate seems completely useless, even more than it was in the past, and system design interviews are so formulaic it also feels like a crapshoot. Plus every job getting hundreds of AI generated applications makes actually being considered in the first place quite difficult.
Manager expectations are also ridiculously inflated nowadays, it seems most action items that come are claude written with fantastical random statistics (if you add caching you can make your backend 98.3% faster!), and it takes so much time to fight this and unrealistic team velocity expectations.
Interesting times, I do feel lucky I have had a long career, but I very much fear the ladder being pulled up even more than it has been when outsourcing because widespread. I know everybody says "things always change, new opportunities will open up to compensate for the ones that are being lost" but this time it does feel different, and not in a good way.
In any case, I think if one wants to continue to have a career in this industry for years to come, it's basically table stakes to become fluent in using these tools.
My son, working in another dev company, reports the same - he basically hasn't written much actual code for about three months. It's a massive change.
It will always be preferable to work on an understandable codebase, because that maximizes the AI's affordances too. And then the AI can explain things to you. A skilled human will always have a lot of solid knowledge relating to their hyper-specific niche that isn't part of your average general purpose AI, so humans will obviously have a key role to play still.
- "micro" level code is adequate. A new feature typically works as expected, and code is well documented. But macro level everything's wacky: no architectural consideration, lots of duplication, dead end paths, dead code. Nobody ever took the time to understand the context surrounding a change and figure out the most appropriate way to integrate it.
- there's no consideration for infrastructure, or how the code is run (my world). Last week we ddos'd ourselves after someone implemented a 1/s poll that runs on every open browser tab, worsened when the frontend's reconnection logic fired 1/s with no exponential backoff.
- zero critical thinking... First thing everyone did during that incident was to ask their LLM of choice why the platform was down. Investigating by hand (and my findings thereof) was dismissed, because surely Claude knows best.
I'm too old for this stuff.