Process Optimization & Higher-Order Functions

Much of Liberty Supply’s progress as a young distributor is the result of focusing on the basics. On the fundamental expectations of people doing business with people. Perhaps because the HVAC industry is filled with legacy suppliers, the prevailing mindset is “you do business on our terms.” That paralyzes a supplier’s ability to put themselves in customers’ shoes and meet a different set of expectations. Building a culture that embraces this approach has been the easy part of our progress.

Far more challenging is the role that process optimization plays at Liberty Supply. In any business, focus is paramount. Knowing what to optimize is as important as the optimization itself. Prioritization is your lifeblood. And boy, is it tough to prioritize. Having a mixed background in software and operations, I see countless opportunities for optimization.

But, premature optimization is the death of progress. Optimizing the wrong thing has a fierce opportunity cost. As a corollary, removing a single image from a webpage may have the equivalent performance impact of a large-scale refactor. The former is simple. The latter is complex.

Operating an agile organization requires us to evaluate and prioritize optimizations constantly. We may need the refactor, but we recognize that removing an image is a faster win of roughly equivalent value. The ability to embrace and adapt to change is a muscle that becomes an organizational superpower.

My mental model for process optimization resembles that of crafting higher-order functions. The idea behind higher-order functions is that you recognize a pattern of problems and implement a generalized “polymorphic” solution abstracted to solve many instances of the problem. For my fellow nerds, filter, map, and reduce are native examples (albeit language-specific) of higher-order functions. In UI, there are “decorators” that serve as higher-order functions.

The thing about higher-order functions is that they don’t always make sense. Abstraction has a significant potential to increase confusion. And there are no hard rules around when to abstract. That’s why the mental model resonates. It’s the engineering part of software engineering. As well, it’s the engineering part of business.

Liberty Supply Chain

Get supply chain insights delivered monthly from our team to your inbox.