Be careful. Sometimes the reason you code slower is that you are thinking from an architectural level and are making sure your code is a reasonable fit. Sometimes you are taking the time to shape the code in a way that is maintainable.
I have felt this loss of what the author calls "programming innocence", but when I dig down deeply, I think it is more that I am doing MORE work than less. When I was young and stupid, I thought I was implementing features, and I whipped things out quickly. Lord do I remember also spending a lot of time debugging those things, and if I came back to the project a few months later, I would find it hard to read, figured I knew better, and would rewrite the whole thing with my newfangled enlightenment. Today, I spend a lot less time debugging and rewriting, and my projects are more feature-complete. It may feel like I am programming slower, but I am still whipping things out, and unlike my young days where I was my own customer, my requirements are constantly changing: I write code that can evolve.
I have felt this loss of what the author calls "programming innocence", but when I dig down deeply, I think it is more that I am doing MORE work than less. When I was young and stupid, I thought I was implementing features, and I whipped things out quickly. Lord do I remember also spending a lot of time debugging those things, and if I came back to the project a few months later, I would find it hard to read, figured I knew better, and would rewrite the whole thing with my newfangled enlightenment. Today, I spend a lot less time debugging and rewriting, and my projects are more feature-complete. It may feel like I am programming slower, but I am still whipping things out, and unlike my young days where I was my own customer, my requirements are constantly changing: I write code that can evolve.