I reject the idea that programming is „just typing“, so we are very unlikely to understand each others. Writing the code and thinking about the exact logic you want to apply and all its implications are part of the same problem solving process in my mind. You can for sure plan things at a different layer of abstraction but putting things together in code is a very satisfying and IMHO is the actual building part of the job. It’s full of decision making and thinking.
LLMs move me away from the implementation, which is more a managerial role, something I personally have zero interest in.
Rather than "managerial" I tend to view it as more "professorial". Maybe it's my academic training (but I got out before I became a professor), but I tend to like to think about my problems in terms of abstractions and invariants and common ways to represent things. I just now describe them in English rather than code. But I do find that LLMs do a much better job the more clearly and completely I express what's in my head. I get that same satisfaction that you mention, but now it's when the LLM does what I want on the first try rather than fighting with it all day.
In the past when my junior engineers were fighting with a bug all week, I always told them the dopamine hit of solving the bug is what keeps you coming back to work for 20 years. Half joking, but the dopamine hit of from the satisfaction getting complex working software in a weekend is like crack to me, we'll see how that plays out long term :)
Maybe you haven't fully explored coding with AI, yes a lot of people will say "Make me a pretty website with user accounts" and have a working poc they'll use as finished product. But there's so much more you can do with programming knowledge to restrict and control AI to build it exactly how you want it without having to write thousands of lines of scaffolding yourself
> I reject the idea that programming is „just typing“, so we are very unlikely to understand each others.
I'm sorry if I gave the impression I think programming is just typing. For me "programming" is the whole activity of creating software with code, you can do programming without the literal action of typing.
> Writing the code and thinking about the exact logic you want to apply and all its implications are part of the same problem solving process in my mind.
That's really interesting perspective to me, as these two activities for me are two completely things, and "thinking about the exact logic" happens way before I actually write any code at all, sometimes weeks/months even.
> putting things together in code is a very satisfying and IMHO is the actual building part of the job.
I agree that it's satisfying, but I guess "putting things together in code" still for me is more about being able to mash two concepts together in an elegant way, and none of that actually requires actual typing still.
> LLMs move me away from the implementation, which is more a managerial role, something I personally have zero interest in.
This is also interesting, because it feels like LLMs give me the opportunity to do more implementation, and not get stuck in the minutia so much, but rather focus on how the design and architecture actually fits together. Refactoring no longer is "I want to but also I don't want to spend the time nor get stuck in more rabbit-holes", so being able to focus on architecture/design more feels like it lets me care more about the implementation than before.