In 2010 I joined a talented team at a startup that became Workiva. It was early days for cloud platforms Google App Engine and AWS then, but the advantages of building our product in the cloud were enormous. The tools available allowed most of the energy of the engineering organization to go into making the product great and not into making the networking, databases, storage, and application servers scalable and reliable. The value of this really cannot be overstated.
There are many benefits to using cloud services: pay-as-you-go to keep costs down, zero or near-zero cost of entry, seemingly infinite ability to scale, geographically distributed compute and storage to handle hardware failures, and API control of all infrastructure changes. You can get excited about more gigawatts, but what gets me excited is not having to build undifferentiated bullshit and instead putting all of that energy into a great product that solves real problems.
Your team can only put so much time/energy/money into anything. If it’s not into your core product, why not?
6 ½ years later now as CTO at Gain Compliance, I am evaluating cloud tools for building a great application for insurance compliance from the ground up. The difference is stark. Cloud tools and SaaS delivery models have accelerated almost everything about building applications. It is rapidly accelerating away from every other mode of delivering software. The options and maturity for infrastructure have exploded, but that’s almost uninteresting. The definition of “undifferentiated bullshit” is massively smaller. Application building blocks like user/account management, encryption, full-text search, notifications, email, analytics, machine learning, and more all have several great cloud solutions. In most cases you simply cannot do it faster or better than these providers — and even if you could, why would you?
I love to build things, but I am so excited to not have to build certain things. What gets me going is solving people’s problems.
There’s really never been a better time to build applications. Let’s go.