Saturday, December 22, 2012

What can Galileo teach a software engineer?


One of the great rebels of history was Galileo, who apparently didn’t believe anything that anyone told him. He always had to try it for himself. The accepted wisdom before his time maintained that a heavier object would fall faster than a lighter one. This was based on Aristotelian thinking, where thinking hard about something logically had more merit than experimenting. Galileo didn’t buy it, so he went to the top of the Leaning Tower of Pisa and dropped rocks. And fired rocks from cannons. And discovered that, nonintuitively, all objects fall at the same rate (if you discount air resistance).
What Galileo did was prove that things that seem nonintuitive can in fact be true, which is a valuable lesson. Some hard-fought knowledge about software development is not intuitive. The idea that you can design the entire software up front, and then just transcribe it seems logical, but it doesn’t work in the real world of constant change. 
-The Productive Programmer by Neal Ford

No comments:

Post a Comment