If you don't know, ask a stupid question to yourself. Then ask it again in a more intelligent manner to a rubber duck. Then a real person. One of these three will give you an answer
TDD is the answer to the second part. Seriously, just try it. Don't do it for every task after, but do try it!
Notes, tickets, knowleadge bases, READMEs, well written code that is easy to understand, tests that are descriptive, ADRs. Nobody can remember it all, the hard part of programming is making it easy for the next change. Remember it's likely to be you, be kind to your future self
And imposter syndrome never goes away. And this is a good thing - "don't get cocky kid". It does get lesser though, and then you get more responsibilities! But really, if you aren't questioning why and what you are doing, how do you trust your past self? Embrace the imposter, realise we are all imposters to a lot of extents
That's certainly reason enough for most people. So long as there is some actual spark then what's not to love? You may well still get grandchildren and he's unlikely to be seen much. The age gap certainly fails the creepiness test, but no crimes are being commited and both are entering into it with good faith. You may well struggle for some time, but for the good of all - button that beak and smile
Magician sounds really close to magi-chien - or magic dog. Commonly used to teach enunciation for 'standard french' (which is total fake like received pronunciation is too)
Don't forget to glue it all together at the end. Real chefs use epoxy