first of a few posts this year centering on infra & AI
subscribe + share with anyone you think might enjoy!
Developer tools have produced huge outcomes in the past decade – Github, Hashicorp, Datadog, etc. The developer-focused go-to-market strategy, once a novel approach, has now become a standard across numerous categories.. Even though we are in a fairly mature state of developer tools, there are reasons to be optimistic about the future of developer tools.
MORE DEVELOPERS: The number of software developers is growing rapidly, now nearing 30 million globally. Github grew from 3 million users in 2013 to 100 million in 2023, largely driven by the overall growth of the developer market and the increasingly collaborative role of engineering teams.
MORE VALUE PER DEVELOPER: Software engineers are getting paid! A new hire developer in HCOL cities like San Francisco and NYC are receiving $135k base salaries + equity. As the value of an individual developer increases, so too does the willingness to pay for tools that they use.
INCREASING SCOPE OF RESPONSIBILITY: As the software market matures, we’re seeing developers pulled into more than just writing code. They’re increasingly playing a role in security (eg Snyk) or cloud/deployment (eg Terraform).
So with the past decade of developer-facing tools laying the foundation for the modern software engineer, where do we go now? There are two buckets of companies that I am interested in within Developer Tools: better abstractions and better automation.
Abstractions
I wrote last year about Compound Startups and my belief that the pendulum is swinging towards simplicity and consolidation across enterprise software. Often, this takes the shape of incumbents launching products and bundling it into their suite – the prime example being Microsoft bundling Teams to take on Slack. But it also opens the door for new abstractions that can collapse complex problem areas into simpler interfaces.
The challenge with building abstractions for developers is that the tradeoffs are non-obvious and often tucked away in edge cases. As a result, developers often end up dealing with overly complex systems in order to maintain control and transparency. Ultimately, we’ve seen that the best tools in this category are able to:
Tackle a dense problem space that requires specialized know-how
Ensure extremely high reliability (eg no broken integrations, etc)
Not impose any architectural or vendor choices in adjacent areas (ie constrain the abstraction space appropriately)
Enable users to explore complexity if needed (eg low-code as opposed to no-code)
A few areas where I’m seeing lots of activity around developer abstractions are:
All things Postgres – There’s a number of companies building around the dominance of Postgres. Neon has built the serverless Postgres, simplifying the infrastructure problem considerably. Supabase has focused on leveraging Postgres as developers know it and building easy tooling around auth, file storage, etc.
Supabase has smuggled scalability into the product, perhaps without you noticing. Supabase simply makes Postgres easy to use - hopefully easier than any other database platform you've ever used. (Supabase)
Durable execution – Durable execution frameworks abstract the challenges of managing state and reliability in distributed systems, enabling developers to write long-running, stateful workflows as if they were simple, sequential code. This abstraction layer simplifies building complex applications that require tasks to be coordinated and maintained over extended periods, even in the face of failures.
Durable execution systems like Temporal enable engineering organizations to take full advantage of distributed systems… and presents an abstraction layer that ensures any process – such as a financial transaction, fulfillment of an order, customer interaction, or any operation workflow – will complete accurately and reliably. (Temporal)
WebGPU – A lot of folks have written in-depth on the specifics of WebGPU, but at its core it enables developers to build browser applications that harness the GPU for complex tasks beyond just graphics. It comes with its own abstractions through its API, but still has a steep learning curve.
While WebGL is just a thin wrapper around OpenGL, WebGPU chose a different approach. It introduces its own abstractions and doesn’t directly mirror any of these native APIs. Instead, WebGPU was designed to both feel “webby” and to comfortably sit on top of any of the native graphics APIs while abstracting their idiosyncrasies. (Surma.dev)
Deployment and hosting platforms – Deploying anything continues to be a significant challenge. Tools like Render and Railway strive to give developers a simple, one-click deployment and autoscaling.
Today, you either need to choose between limited PaaS solutions, or diving head first into learning Terraform, Ansible, Kubernetes, and a myriad of tools just to get your REST API running… We’ve come to a complexity impasse. So, in 2020, we started Railway to make it trivial for engineers to deploy code without thinking about servers. No PhD in Kubernetes, No AWS, No yaml. (Railway)
Internal developer platforms – IDPs capture business context from software developers and infrastructure context from Ops teams. Tools like Humanitec and Cortex ideally remove unnecessary cognitive load from software engineer workflows.
Determining what knowledge is intrinsic to a team member’s role and what is outside of their scope is critical to reduce the strain on their cognitive load. Internal Developer Platforms provide a way to compartmentalize complexity, and enable people to focus on what’s critical to their role. (Humanitec)
Javascript runtimes – Taking on Node.js as the dominant javascript runtime, tools like Deno and Bun are aiming to consolidate the type of tooling built around Node.js into one more developer-friendly package.
Bun's goal is simple: eliminate slowness and complexity without throwing away everything that's great about JavaScript. Your favorite libraries and frameworks should still work, and you shouldn't need to unlearn the conventions you're familiar with. (Bun)
The major caveat here is that more abstraction is not always better. As a number of tech companies shift from a growth narrative to an efficiency narrative, they may have to revisit the cost and performance implications of too much abstraction.
Rather than thinking about abstraction as a one-way direction, I think of it is a pendulum that we swing back and forth from as new technologies enable new possibilities. The prime example is that Serverless is gaining steam in a number of areas but at the same time companies like Dropbox and Hey are moving away from the cloud.
I think the best tools can articulate a very clear tradeoff between what they provide and the next best option, whether that be up or down the abstraction ladder.
AI Automation
The other area where I’m seeing lots of activity is around reinventing the software development lifecycle with AI-powered automation. Naturally, Github Copilot has already proven both adoption and monetization can happen quickly. We’ve all followed how quickly Copilot has grown to 1m+ paying users, but beyond adoption there is evidence of high engagement and ROI.
One recent study suggests developers are accepting roughly 1 in 4 code suggestions and the more suggestions they accept, the more productive they believe they are. This is ultimately leading to developers completing tasks faster and focusing on more satisfying work. Even then, I was surprised to see just how positive the sentiment was on AI tools for developers in this year’s Stack Overflow survey:
There are opportunities across the software development lifecycle to both improve developer productivity and happiness by leveraging AI to automate tasks. The companies that do this well will either have:
Existing distribution via other products (Github, Sourcegraph, Replit)
Better domain-specific models (eg are there areas where OpenAI’s Codex is not as strong?)
Agent-based models that disrupt existing solutions (expanded on this in a previous post)
A few areas where there have been interesting products being built include:
IDE – The IDE is where much of software work happens so naturally it’s real estate that is valuable. There are entrenched incumbents like VS Code and Visual Studio, but companies like Cursor and Replit Ghostwriter are attempting to win by innovating around AI, collaboration, etc.
Coding copilots – With Github Copilot proving that developers are accepting AI-generated suggestions, more companies are innovating on the model. Codeium and Sourcegraph Cody both let you chat with your repo and ask it questions in addition to offering autocomplete features.
Code review — Integrating into existing Github workflows, tools like Bito and Codium help developers review and analyze PRs. These tools can pair the tribal knowledge of developers with the speed and context-switching abilities of AI.
Developer agents – Moving beyond the copilot model, there are a number of companies attempting to fully automate specific software engineering tasks. Magic.dev has raised $145m with the belief that “to build a great AI product, we need to train our own frontier-scale model”. Others like Sweep and Grit are starting narrow with tasks like code migrations or code refactoring.
QA agents – There are a number of companies like Contour or Antithesis building agents that can proactively test, simulate, and provide recommendations. Today, QA takes many shapes at different companies, but it remains a fairly manual job despite the number of tools in the space.
Most of the current developer adoption has been focused on Copilot-like code writing tools. But the floodgates are open and developers have a new-found willingness to augment their workflows with AI-powered tools that help them do more than just write code.
Ultimately, AI-powered developer tools face the same questions that most AI-native SaaS companies are facing right now. Are incumbents better positioned to do this? What is going to drive differentiation in the short/long-term? These are questions I am still grappling with, but would love to think through with folks building in the space.
Closing
At Canaan, we’ve been fortunate to back great developer-facing startups like Snyk, Appsmith, Edge Impulse, Jina AI and others. If you’re building the next great developer-focused company, I’d love to hear from you.
And finally if you’re based in New York and interested in joining events around enterprise infra (devtools, data, AI, etc), shoot me a message on Twitter or email!