I started programming in the 1970s and I'm still at it.
I strongly agree with waiting a dedicated separate QA team, but I strongly disagree with your disdain for automated testing - unit tests and regression tests.
I write relentlessly brutal unit tests which find all sorts of errors I never conceived of when I wrote the code. (Of course, I write them after I've written the code, because I'm no idiot.)
This is how I often deliver features that work the first time and never break.
It means I can move extremely fast and make dramatic changes to the structure of my code if I need to, safe in the knowledge that unit tests will catch a large number of gross errors.
For me, the great joy is being able to deliver a brand-new feature that requires a major reorganization and do it quickly and completely correctly.