When was the last time you walked through a room full of servers humming? For most developers, it’s been awhile, if ever. The complexity of running servers has been abstracted into Infrastructure-as-a-service and even Platform-as-a-service offerings. It’s going further, as developers are able to focus on the core features of their apps and not on the stuff that every app needs.
Vilfredo Pareto was an Italian economist who famously observed that “80% of the effects come from 20% of the causes.” Later named the Pareto principle, it can be applied to many natural phenomena, as well as human ventures.
When developers create mobile and web apps, they have the opportunity to take advantage of the principle by building on top of cloud services and APIs.
Infrastructure Should Be a Given
As I mentioned in the introduction, most developers don’t need to work through the intricacies of our server maintenance. Infrastructure goes beyond cloud web hosting. We certainly think it encompasses transactional email and all the issues of deliverability and analytics that go with it. It also covers many other APIs that have gained in popularity over the last few years: push notifications, SMS, voice calls and more. Anything that used to require a lot of operational setup and tuning should be something few developers do themselves.
Common and Specialized Functionality
If you’re sick of writing social logins for your applications, you should probably use a service that has already solved that problem. Further, that service will be better at keeping up with changes to social APIs than a developer who has moved on to finally working on their app.
These sort of common bits of functionality are a great way to move on to the 20% of your app that is special.
Speaking of special, there are also APIs for specialized functionality, such as maps or facial recognition. For most developers and most projects, it makes sense to build atop someone else’s knowledge and move on to where you shine.
Learn from Pareto and focus 80% of your energy on the 20% of your application that only you can build.