All theses fields require some sort of common sense and logic. All require us to use our brain and come up with solutions. But if you are good at one that does not mean you are good at the other. Why is this? One of my friends is a math genius but he is not that good a programmer. I don't know why. He doesn't seem to be able to come up with solutions to a programming question as fast as the best coders. Similarly the best coders are not the best mathematicians. same with other disciplinews I suppose different types of disciplines require different types of thinking. Sure they all require logic and common sense but still different type of approach and a person with mastery in one is not necessary good in another. your views?