The Excel date bug that made a technical review suddenly very specific

While designing Excel’s Basic integration, Joel Spolsky discovered an apparent inconsistency. Excel and Basic used different starting dates for their date numbers, yet agreed on contemporary dates.

The explanation was compatibility. Excel preserved Lotus 1-2-3’s treatment of 1900 as a leap year, although century years are leap years only when divisible by 400. Basic handled that historical interval differently. What looked like a simple date API concealed an inherited product constraint.

At the review, Gates asked whether the two systems’ date functions would behave consistently. Spolsky could answer with the precise exception: January and February 1900.

The story is a memoir, not a controlled comparison of management styles. Its lasting interest is how technical understanding changes a review. The crucial question was whether someone had investigated behavior at the boundary between two products; a polished specification alone could not establish that.