By now most CEOs of startups understand that they urgently need to figure out what role machine learning will play in their business. Large established companies too are actively engaged in this process. This is not an easy task in and of itself, as machine learning isn’t a panacea for everything wrong with your business and you cannot just sprinkle it on top of your existing business process and strategy. Instead, you likely have to jettison many assumptions about “how things are done” in your industry.
Suppose you have identified a genuine opportunity to apply machine learning, the next obvious challenge becomes a question of how to pursue it. Should you build something on your own or should you buy from a vendor?
Here I believe leaders on the product and business side are not always getting great advice from their engineering departments. Why? Because building machine learning systems from the ground up in-house is what every engineer wants to do. What could be more exciting for an engineer today than getting to build a machine learning system using TensorFlow? And yet in many instances that will be the wrong thing to do compared to using a specialized service provider.
Why? Because while it is easy to get going and achieve moderate accuracy, it is quite difficult to build something that improves in accuracy over time and delivers high availability and low latency at scale. So you should approach the decision of what to build and what to buy with the same clarity as you would in other areas. For instance, does it make sense for you to run your own database instances and patch them, upgrade them, scale them or should you use a managed database service? Not so long ago everyone ran their own databases but today even large enterprises are shifting to managed services.