Skip to Content

The Art of Doing Science & Engineering

The Art of Doing Science and Engineering is a curious book. Richard Hamming, the author, was a professor of science and engineering at the Naval Postgraduate School and researcher at Bell Labs. He knew quite a bit about science and engineering.

The book is curious because it’s written in the first person and defies categorization. Part memoir, other times, a mathematics lecture on information theory, and yet others a book on life philosophy.

Within the first 30 pages, Hamming delves into back of the envelope calculations. I was expecting questions a candidate might be asked in a consulting interview. How many ping pong balls fit into a 747? How many violinist repair shops are there in Chicago?

Hamming skips the linear. His idea of back of the envelope is a geometric equation, modeling explosive behavior that exists in many parts of nature and business. Staring at an equation with an integral’s large S and a dydx component, brought me back to calculus, and for the life of me, I couldn’t recall how to integrate infinite series.

But, I should, shouldn’t I? That’s the question I was asking myself. Startups are nothing if not chasers of exponential growth. When looking at startup data, shouldn’t I model data to test it for geometric growth? Shouldn’t anyone who deals with compounding?

From back of the envelope calculations, Hamming waxes philosophical about humans and machines. Often, machines achieve the same goal, but in a radically different way than nature. Planes and birds both fly, but differently. When inventing new machines and programs, aim to achieve the same goal, but by other means.

There are gems like this: “most everyone who opens up a new field does not really understand it the way the followers do.” The inventor of the field has wandered through a forest to discover and carries the burden of that history clouding judgment. Others approach the field with a beginner’s mind.

Interspersed, you’ll find tidbits of history from early computing like: “At the time sap first appeared I would guess about 1% of the older programmers were interested in it—using sap was “sissy stuff,” and a real programmer would not stoop to wasting machine capacity to do the assembly.” Sap was a language built on top of assembly, which is machine language. Even in the 1950s, engineers debated which language showed your clout and embracing/revolting against new layers of abstraction.

He concludes with a debate on intelligent machines and machine learning. Hamming asks, what is thinking? If I integrate a derivative and a computer integrates the same derivative, is that the same? If a human combines two ideas to create a novel third idea, that’s thinking. What about when a computer generates a new song by sampling two other songs?

It’s a wild ride and a lot of fun if you like science and engineering, and thinking about how it fits into the world.