So far it is really weird writing tests before I write code via TDD, the slight differences between DDD and CA while still being vastly similar is a bit of a headache to make sense of, and trying to grok all of this without wasting a few weeks reading dense books has been a frustrating cycle of rewriting code over and over again after screwing up while also realizing why DDD / CA are structured the way they are.
What has really helped, though, is journalling down my thought process before, during, and after each coding session to make sure I have a better chance of fully understanding everything I am doing. I'm also trying to establish a regimen of every week day either adding / changing something in the codebase or outlining changes I need to make based on research that shows I screwed up something I have already done. That way even if I am moving at a slow pace, at least each day I will be making progress.