It’s fair to say that all software engineers have a tale to tell when it comes to prioritizing performance. For me, it came several years back when I was hired into an organization that had recently pivoted to a direct-to-consumer e-commerce business model and was having trouble getting item listings well-ranked within major search engine results. Part of the problem was caused by poor page load performance. It was taking too long from when a user clicked through a link to when the page was fully loaded and actionable. As a result, the company began to reallocate engineering resources away from supporting new product functionality to improve overall performance - which in itself caused challenges. It’s always hard to change the tires on a car that’s already moving!
So many organizations face this challenge time and again since many business leaders have a challenge quantifying the business value of prioritizing performance. (I always like to point them to this Fast Company article when Amazon famously did it in calculating that a page load slowdown of one second could cost the company $1.6 billion!) But the problem is often far less black and white. Prioritizing performance tends to be one of the first corners cut during development, particularly within resource-constrained small companies. During development, it takes time to optimize performance. If a project is on a tight deadline or understaffed and performance is not explicitly a part of the overall project goals, it’s a cut that many will reach first.
Happily we never have this problem at BigSpring. Prioritizing performance is part of our DNA and embedded into our primary business goal - providing worker training at every level no matter whether it’s in an office or on the road, to help ensure employability now and in the future. Within the majority of the markets we’re in, including Asia-Pacific and Africa, high performance is table-stakes to having a usable product at all. Our users access digital products and services often with less technologically sophisticated technology with lower bandwidth network connections. If our product is not performant or usable in these scenarios, no one will use it.
I feel a big issue many technology companies face is that their products and services are developed within “the bubble” of Silicon Valley and do not accommodate the needs of their target markets as well as they could. After all, performance may not be a burning priority for you when you’re working on a MacBook on a fast internet connection but it certainly is for your users when they are in a very different environment.
This disconnect can be avoided if prioritizing performance is made an essential element of business goals upfront and considered an investment, understanding it’s far more cost-effective solving the problems now than later. Better to invest in the tires now, avoiding trouble down the road!