It wasn't so long ago that code written to run on a mobile device was so constrained by memory and processing power that it was really important to take time to optimize that code for performance. Despite the physical and technical limitations of the device we still wanted a good experience from a seemingly fast and responsive application.
In contrast the code that was written for the back end server was running in an environment so, comparatively, rich in resources the performance of that code was rarely ever considered. It didn't matter that it was inefficient as it still executed really quickly.
Fast forward to today and things have reversed. Portable devices now have specifications that put the laptops and PCs of a few years ago to shame. As long as code is written in a vaguely sensible fashion, performance issues due to the inefficiency of code now rarely need considering.
On the flip side though, the code that is now running as part of the back end services is no longer on our own powerful server somewhere. Instead it is running in the cloud where we pay for execution time and so performance again becomes an issue.
We used to optimize on devices for the user experience. Now we optimize the code running on the server (cloud) to reduce costs. Both help the product/company and all that time we spent learning to write efficient code was well spent.