Kalid from BetterExplained here, it's awesome to hear the approach is working for you. I had very similar reservations, I could derive many results (like a robot) but had little intuition behind e, i, pi, radians, etc. (let alone how they all came together in something like Euler's Formula).
My litmus test became: If I can't intuitively describe i^i (an imaginary number to an imaginary power) I don't understand it. I don't care if I can derive the equation 15 different ways. If I couldn't spit out some properties of i^i (positive or negative? Real or imaginary? Big or small?) after a glance then I knew I didn't know it. (Why can I spit out properties of 2^3 or 3^(-4) in a few seconds, but not i^i?)
Code is an excellent way to practice these ideas; the bugs in your logic correspond to the bugs in your thinking, and you see (very explicitly) where to correct them.
My litmus test became: If I can't intuitively describe i^i (an imaginary number to an imaginary power) I don't understand it. I don't care if I can derive the equation 15 different ways. If I couldn't spit out some properties of i^i (positive or negative? Real or imaginary? Big or small?) after a glance then I knew I didn't know it. (Why can I spit out properties of 2^3 or 3^(-4) in a few seconds, but not i^i?)
Code is an excellent way to practice these ideas; the bugs in your logic correspond to the bugs in your thinking, and you see (very explicitly) where to correct them.