Even though I loved programming, the satisfaction usually came from the tools that enabled actual real-world benefit rather than coding for the sake of coding. Which is why I used to find the debates about TDD or tabs/spaces silly. Does this provide faster iteration or more stability/maintainability to solve a real world problem? if it does, great. if it doesn't, you're just wasting everyone's time and money, let's move on.
So in that vein, using things like Claude Code allow me to provide that real world value FASTER, which is ultimately what my clients appreciate. It's allowing me to spend more time being a product manager and less time fiddling around with day to day stuff. And it's not like the code is horrible or anything. I still apply strong architectural principles (code reuse, organized modules, separation of concerns, clear APIs, etc). I'm just not writing every line anymore.
I will be the first to say it's probably going to result in making me a bit more rusty in coding. But I haven't really seen that yet in the last 6 months, mostly because I haven't had to just say "ok forget it, let me just code it" more than once or twice, especially in the last 2 months since I moved over fully to Claude Code. And in those situations, I was able to take over pretty easily.
So far I'm not too worried, but it's hard to tell what the long term impacts will be.