Just Enough Optimization

Matt McKennaMatt McKenna
2 min read

One of the most effective ways to improve software performance isn't complex algorithms or fancy caching techniques. Often, it's simply removing unnecessary work. If a piece of code doesn't need to run, it won't consume any resources. This principle extends beyond code optimization. We can get in the habit of optimizing for scale or fixing hypothetical bugs when we actually want to iterate quickly. Thinking about implementing complex solutions or distributed systems when our current user base is tiny probably isn’t needed. This is a fun exercise, but it can get in the way of quick iteration.

Imagine buying a fleet of delivery trucks for a new small bakery, committing a large pool of resources to solving a problem that doesn’t exist yet. This is optimizing for a level of business that the bakery doesn’t have potentially wasting those resources.

In software engineering, this might mean delaying a release to implement a feature that might be needed in the future. This is optimizing for user needs that may never materialize. In personal productivity, it could mean procrastinating because we're too busy perfecting our project management system. Have you ever said you wanted to write more and instead rewrote your website?

The key is to focus on the problems you do have and create solutions for the outcomes you want. By focusing on the "whats" instead of the "what ifs," you'll deliver real value, make meaningful progress, and ultimately be more productive. The hypothetical bugs or slow code may indeed end up being real, but in the meantime your users have something that helps them and they can provide feedback to help you prioritize whats next.

Maybe your feature could be faster, but maybe it’s also fast enough.


Example: Jetpack Compose Beta
With the release of the beta of Jetpack Compose the Compose team wanted to start getting early feedback knowing that performance could be improved later. calling out that they will “work on stabilizing these APIs up to our 1.0 release with particular focus on app performance and accessibility.
0
Subscribe to my newsletter

Read articles from Matt McKenna directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Matt McKenna
Matt McKenna

Android GDE @ Square he/him #BlackLivesMatter #StopAsianHate