When I was a student in college, I learned about algorithmic complexity and in particular about the Big O notation.
And what I found fascinating is how the folks who studied algorithms ignored constants.
Over the last 20 or so years, I have begun to realize that I made a career about caring about the constants. That my entire engineering career has been about something that folks who care about algorithms dismiss as irrelevant.
And that got me thinking. As a software engineer, I tend to think that I am making code go faster.
And then I worked at Juniper and the irrelevancy of my efforts on performance became clear.
Physicists make hardware go faster.
Algorithm designers make hardware and software go faster.
The rest of us just sit around trying to tweak the constants. All of our obsession about tight code and efficient code is really a pointless exercise in worrying about constants.
And I got depressed.
And then I remembered that in the world I work in, constants do matter. Because constants map to hardware that people have to buy, and saving a small amount can translate into large amounts of savings.
Leave a Reply