After four years of university, I realized I wasn’t really smart enough for my chosen career in nuclear physics. So I took the soft option and switched to computer programming.
Abstraction and modelling is something I just do inherently, which is handy in software design. After 25 years of practice, I’ve now seen a lot of the gotchas. These two things combined help me cut through to the essence of most problems.