To buy or build? A discussion on the key factors impacting this decision and trend toward third parties.
Tinkering on a side project or trying to launch a company? Need a complex cloud or AI service? Unsure if you should pull up your bootstraps and build yourself? In software, we often run into the buy vs. build problem.
Over the past few decades outsourcing technology by “buying” solutions has become increasingly popular. But this trend doesn’t mean third-parties are necessarily right for you.
Let’s take a look at key points in history that have shifted the buy vs. build landscape, and discuss key factors to consider today when making this decision.
Looking Back
Web APIs: an early enabler of third parties
Following the dot com era Roy Fielding introduced modern Web APIs by inventing REST (representational state transfer). REST is an architectural style that provides guidelines to standardize how APIs communicate.
REST’s standards makes third parties providing modern APIs much easier to use. Engineers can integrate with third parties more easily, saving engineering effort and time.
Roy once wrote “A uniform interface is one way to engineer for serendipity.” The uniform interface of REST does just that. It has made third parties easier to integrate with and in turn made the lives of engineers easier.
The Cloud: an increasingly popular third party
The cloud is thought to have been initially invented by J.C.R. Licklider in his outline of the intergolactic network and later implemented by CompuServe. However Amazon was the first company to commercialize the cloud, making apis for infrastructure accessible to engineers across industries.
Licklider once said “There's a very different attitude toward 'throw the rules out the window and go do something that's possibly interesting' and 'do enough to find out whether it's really interesting and then if it is, we can worry about rationalizing it.” The Cloud reduces the costs required to find out if something is really interesting. These costs include everything from experienced engineers who can build and maintain systems, to the hardware itself.
The resources cloud providers save make them a cost effective third party, especially for startups looking to get an idea off of the ground. However costs aren’t saved with the cloud in all cases. Several factors need to be considered when determining to “buy” from a third party or “build” a solution in house. We will dive into some of the key factors below.
Looking Forward
Key factors to consider when determining whether to use a third party
Above we discussed the cloud as a third party tool, but there are a plethora of others. Whether it is a payment product or location data, there are countless third parties that can be integrated into a product. Three key factors drive the buy vs. build decision: the cost of engineers, advancement of open source technology and the third party options available.
As big tech companies compete for top engineering talent, the cost to employ an engineer continues to drive up. Rising engineering salaries has made hiring someone to build and maintain a tool in-house more costly than paying a third-party subscription in many cases.
Paying engineers is expensive; open source tools make engineers increasingly effective. The engineering lift required to build an in house solution has significantly reduced thanks to open source. External libraries, like PyTorch and TensorFlow, simplify the effort required for engineers to build complex solutions. Engineers can use open source tools to build high quality in house solutions with less time and resources, making some third parties less cost effective. When determining to buy or build, see what open source solutions exist related to the problem you are trying to solve.
While open source has developed, so has the quantity and quality of third parties. The amount of third parties focused on serving niche use cases has grown. For example, within cloud computing AWS initially offered only EC2. Now in addition to EC2 there’s Lambda, EKS, ECS, and an array of other services, all providing compute options that are tailored towards particular use cases. The growing amount of niche third parties has improved the chances a third party meets your needs and is worth subscribing to.
Conclusion
As technology progresses, it will be interesting to see what wins out: the build or buy strategy. Thanks to open source engineers can build a high quality solution more easily. As no code and open source tools like Hugging Face and some of OpenAI’s contributions advance, we’ll see the productivity and capabilities engineers can achieve continue to excel.
At the same time, other forces promote a buy strategy. Engineer salaries will likely continue to increase as the amount of technology companies grow and the war for talent wages on. And more third party options are likely to continue to be developed, whether it be by large tech giants or silicon valley startups.
One thing is for certain. Technology will continue to develop. Web APIs and the Cloud pushed us further toward the use of third parties. We’ll see how the next wave of transformative technology shifts the buy vs. build problem.
Additional Reading
Representational State Transfer by Roy Fielding
The Intergalactic Network: 1962-1964
Intro to APIs: History of APIs