@horsefacts.eth
(cc @tayyab) I wouldn't claim mastery, but some influential steps along my path so far:
1) Several years of experience writing non smart contract software. Nothing too hardcore, mostly Ruby/Python/Clojure. Learned about testing, design, and not to fear weird languages and paradigms.