Compounding growth chart showing $100 monthly contribution with 5% annual interest over 40 years, starting with 0 initial investment.
One of the first lessons you should learn once you become interested in personal finance is that compounding interest is one of the most powerful tools for building wealth. Over large time scales, small compounding interest can have incredible effects. Getting 5% interest on repeated savings can lead to doubling your money in about 30 years; and lead to tripling it in 40. The gradual nature of this growth means that gains are not apparent for the majority of the time. After investing a significant amount of time and resources, compounding interest starts to take over. In the above example, the 40th year of interest provides the same gain as the first ~18 combined. Exponential growth seems to be unintuitive and can seem insignificant, barely greater than linear for most of the time.
I once heard the following puzzle that someone was using to help educate people about compounding and exponential growth.
There is a lake with nothing else but a single lily pad. Every day, the amount of lily pads doubles. If it takes the lily pads 50 days to cover the entire lake, how long does it take them to cover half of it?
49 days, doubling on the last day to cover the whole lake. The fascinating thing to me was how sudden this burst at the end is. At day 45, the lily pads only take up 3% of the lake's surface area. The growth for these first 45 was slow and largely undetectable day-to-day. The last 5 days see a jump from 3% to 100% coverage. After a quick search, here is a resource with this same scenario from a University of Washington professor: Information sheet on exponential growth.
I believe that this pattern can be seen everywhere, especially in software projects. Small investments that can be made on a regular basis provide a seemingly disproportionate return over time. I think most developers have seen this on a shorter time scale, say a couple of months. First, there are a couple months of PRs that fix bugs and refactor code without providing much value to the end user. Then, seemingly out of nowhere, there are a handful of PRs that have a cascading effect leading to dozens of issues being closed. The reality is that all of the work done in those few months is responsible for the fixes at the end, just that there needed to be a significant investment before the true return could be realized.
This is the core idea behind James Clear's 1% better every day idea, which was deeply profound to me the first time I came across it.
Small continuous improvements lead to compounding growth.