Instagram is one of the successes in the social-networking world, growing at a healthy clip even as other apps competing for peoples’ attention—including Google Plus and Twitter—face stagnation and rumors of doom.
The service’s robust health rests on one simple thing: People love sharing photos, especially if they can slap an arty filter onto the latest smartphone snap of their dinner or pet. Thanks to its acquisition by Facebook in 2012, Instagram has the resources and engineering knowledge necessary to keep the backend running smoothly as 300 million users upload 70 million images a day; the challenge is trying to figure out how to evolve the user interface in a way that keeps people coming back day after day.
In a new piece on Fast Company, Instagram’s founders broke down how they keep their platform optimized—lessons that any developer (big or small) can take to keep their own website or app running smoothly. Among those lessons:
Keep Things Simple: The more complex your backend, management processes, or code, the harder it’ll be to scale without breaking something major. Starting out with the simplest solution can save a major headache in the long run.
Test, Test, and Test Some More: Like Facebook, Instagram releases software updates to a limited number of customers before pushing them out to the whole ecosystem. That allows the engineers to squash bugs before a wide release.
Adding Android Skyrockets the Workload: Adding Android to Instagram’s collection of supported operating systems exponentially increased the engineering team’s workload, largely because Android is present on a huge ecosystem of devices with wildly different shapes and specs. While Instagram is skilled enough to handle that added complexity, another firm expanding its support to Android could find itself in an unexpected quagmire.
There’s much more at Fast Company, including how Instagram’s executives run meetings that feel small even as their staff expands; it’s well worth a read for anyone running their own development team.