Fibonacci… Remember?

Everyone knows Fibonacci as nature’s number. Seashells, sunflowers, daisies?  0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, … etc. It’s the pretty pattern that’s hidden in everything. But if that’s all you know about it, you should sue your math teacher. Because Fibonacci isn’t just beautiful. It’s among the fastest-growing number sequences that we know of. The 50th Fibonnaci number is 12,586,269,025. It has exponential growth. And it’s structure, it’s form, can make it difficult to calculate.

Let’s look at how to actually calculate a particular number in the Fibonacci series, like the 10th Fibonacci number, which we could write as fib(10). Remember: each Fibonacci number is the sum of the two before it. To calculate fib(10), you need to have fib(9) + fib(8). To get those, you need fib(8) + fib(7), and fib(7) + fib(6). And so on. Now there’s a dumb way and a smart way to do this. The dumb way is to recalculate almost the entire sequence from scratch every time, the same work, done over and over, and the bigger the number, the worse it gets as dozens of calls become thousands, then millions. And people might think “well computers are really fast” and pick the dumb way. The smart way is to remember what you’ve already calculated and build on it.

Compute fib( 8 )
Speed 5
Naive calls
0
Memoized calls
0
Naive Recursion
Red nodes are recalculated, the same value computed again and again. Watch how fib(3) gets calculated dozens of times.
Memoized
Cyan nodes are retrieved from cache, computed once, then looked up instantly. The tree stays flat.
Current call
First time computing this value
Already computed (wasted work)
Cache hit (retrieved, not recomputed)
See the actual code running on this page

    

This looks like a coding trick. In programming it even has a name, memoization, which just means remembering answers you’ve already worked out instead of redoing them. Caching or storing values so you don’t have to pay to compute them twice. But the lesson is a lot older and bigger than that. Storing information, whether on cave walls, or scrolls, or libraries, or data centers, or in the minds of people who’ve worked a problem for twenty years, is how you avoid paying the price of recalculation.

When a company lays off an employee that’s been with them for decades, what they’re actually doing is deleting their cached knowledge. And they might wind up forcing the next person to recalculate everything that they knew: every risk already navigated, every edge case already worked through. A person who’s worked a role a long time didn’t just learn things. They compounded that knowledge into the capacity to recognize patterns and problems that haven’t even arrived yet. Losing that isn’t like losing a database. It’s not a linear loss.

Sometimes the best choice is to start over. But we should be realistic in acknowledging the cost of rebuilding. It can be exactly like the cost of computing Fibonacci the dumb way: redoing work that was already done, and paying for it over and over.

Scroll to Top