I consider myself an experienced programmer, both in time and tasks. My style definitely has changed a lot over the years.
As I see, I am a strange kind of programmer/architect. I am never proud of what I have written, but the ability that I was able to accomplish that task. I do respect running code, but by the original meaning of the word: re-spect: check it again. And refactor, whenever it is not exactly what I want to see.
I change the name of a variable or a function several times, if it does not exactly mean what it does - until I don't have to roll up to the definition, because the name is evident. I move a function or data several times between layers of a system until they get to where they really belong. I always re-indent my codes, I never leave any () although I know the operator precedence, or the {} after an if for a single instruction.
I have a strong feeling that there is a good way to do a task - and far too many working, but structurally wrong solution. The structure (service layers, communication, responsibility, data) is much more important (because it affects the whole structure of a system), while the code should be "good enough" to run.
Programming for me is a constant search for that good answer, and I still have a lot to learn - but what seemed to be a whole field of many possible ways when I was a beginner, looks a map with a very few paths to try. It s fundamentally different.