At least there are strong signs:
According to https://en.wikipedia.org/w/index.php?title=Bill_Gates&oldid=... "In his sophomore year, Gates devised an algorithm for pancake sorting as a solution to one of a series of unsolved problems presented in a combinatorics class by Harry Lewis, one of his professors. Gates's solution held the record as the fastest version for over thirty years; its successor is faster by only one percent."
According to https://www.quora.com/Who-beat-Bill-Gates-in-math-at-Harvard... "Christos Papadimitriou, one of the absolute top theoretical CS people in the world (almost certainly top 10 active researchers), told his girlfriend at the time that Bill Gates was the smartest person he had ever met.
Bill Gates, advised by Papadimitriou, found a bound on a problem that stood for 30 years."
Dont get me wrong. I have a lot of respect for both Joel and Bill Gates. I just dont see this particular incident as anything special. Bill Gates didn't actually do anything except annotate the spec and throw some ideas out there.
> In 1979, Bill Gates and Christos Papadimitriou[3] gave an upper bound of (5/3)n. This was improved, thirty years later, to (18/11)n by a team of researchers at the University of Texas at Dallas, led by Founders Professor Hal Sudborough[4] (Chitturi et al., 2009).
https://en.wikipedia.org/wiki/Pancake_sorting
Not easy to have significant algorithmic-complexity results that have stood as an upper bound for 30 years.
The Google Code Jam qualification round this year included the problem "write a function to report the minimum number of flips necessary to sort a stack of pancakes". I'm not too pleased to see this in the wikipedia page:
> The minimum number of flips required to sort any stack of n pancakes has been shown to lie between ~1.07n and 1.63n (exact boundaries: 15n/14 and 18n/11,) but the exact value is not known.
I guess for completeness, I should post the solution to the sortless burnt pancake (to me, "coin alignment") problem:
Consider a stack of coins, like top-HTTHHTTHTHTTTTTTH-bottom. The number of flips required to align it is equal to the number of transitions from tails to heads or heads to tails as you move through the stack. In the example, we can break the stack conceptually into runs of H TT HH TT H T H TTTTT H, which is 8 transitions.
1. (This number is necessary.) Two adjacent coins which differ in orientation can only be made not to differ by a flip at the position between them. A flip above or below that position in the stack reverses neither or both, which preserves their difference. Stated another way, no flip can reduce the number of transitions in the stack by more than 1.
2. (This number is sufficient.) If you move from the top of the stack down, flipping whenever a transition is encountered, you preserve the invariant that the prefix of the stack above the point you have reached is all aligned. This is one flip per transition, so one flip per transition suffices.
If the coins must be aligned to a particular direction, for example heads up, just suffix a coin of that alignment to the bottom of the stack.
Obviously, there are a bunch of other skills required too, and some skills get a lot more respect than others.
One reading of the story is that Bill Gates, despite being six layers of management away from 'the coal face' of actually making the date functions work, knew about the 1904 Date System and why it was there; and that he was able to ask harder and harder questions until the project manager looked unprepared because he had a lot of the specific skill of remembering lots of details and stumbling blocks.
Obviously, an alternative reading of the story is that Gates didn't know those specifics about date handling in Lotus 123, and he was going to ask about something else (or maybe nothing at all) and it was only by random chance that made it look like he knew about this complicated detail.
Except you question his technical ability, ignore/excuse evidence of said ability, and call him a narcissist.
Make of that what you will.
Also, there is known story that Gates and Allen wrote BASIC compiler for some obscure microprocessor without having access to an actual thing, just paper spec. So they wrote emulator first, then compiler and guess what? when run on the real processor it worked like a charm from first try.
It is an honest question. I really dont know. I am sure he had some great technical insights, but I haven't seen anything that would lead me to believe that he was actually a genius coder or engineer.