1. 1

    I’ve been thinking about this a lot in the context of building cloud-based software, as I’m working on a product specifically to drastically improve developer productivity in backend development.

    There’s an almost endless amount of improvements we could make to the developer experience. I think the real question is: why haven’t we? I think the answer comes down to this: our tools are too general-purpose. The big players are cloud providers, that want to support any application regardless how it’s built. As a result we end up with innovations like containers that further push us towards the “applications are black boxes” end of the spectrum.

    I think we could 10x the developer experience if we started from the opposite end: if we built our developer experience around purpose-built tooling (backend development in my case), and we added constraints to how you write your application, we could infer so much more about the application than what is possible today.

    For example, all of these things you should get for free, with no work needed other than writing your business logic:

    • Build & deployment orchestration, with your whole app running “serverless”
    • Setting up databases, managing connections, passwords, backups, and DB migrations
    • Automatic API documentation based on static analysis of your API function declarations
    • Generating type-safe client code for calling your API for any language
    • Expressing API calls between backend services as function calls (that get compiled into real API calls), and getting compile-time validation
    • Automatic distributed tracing of your whole application
    • Automatic management of production & test environments, and preview environments (for each pull request)
    • Run everything locally with no code changes needed
    • Cross-service debugging
    • Error monitoring, graphing & alerting (observability)

    I could go on :)

    1. 1

      I’m with you on that one :)


      1. 1

        Very cool, I hadn’t seen that one! Will have a look, thanks for sharing!