The term 'overachiever' sort of makes it look like the person has mediocre talent and he just works so hard that he achieves beyond what you would think. 'Overachiever' is sort of a - it's sort of an incorrect term. An overachiever is someone that's just willing to pay the price to get so much more out of his performance.
I was always told that I was good in mathematics, and I guess my grades and standardized test scores supported that. My worst subjects were those that generally involved a lot of reading - English and history. So, having good test scores in math and mediocre ones in reading, I was naturally advised to major in engineering in college.