Stack logo
Sync up on the latest from Convex.
Profile image for James Cowling

James Cowling

James is CTO/Cofounder at Convex which means he’s accountable for technical decision-making whenever he’s not thinking about how many more plants we should get for the office. He’s most passionate about simple elegant solutions to complex problems.

Before Convex James was Senior Principal Engineer at Dropbox and tech lead on a bunch of projects including building their multi-exabyte geo-distributed storage system and migrating Dropbox off of S3, multi-homing Dropbox infra, and building database systems that handle millions of queries per second. His favorite part of the job was mentoring junior folks who ended up being senior folks, and spending time with smart, friendly, highly-motivated people.

James grew up in Sydney, spent far too much time in school, and eventually received a PhD at MIT specializing in large-scale distributed transaction processing and consensus protocols. In his spare time he likes building stuff and anything involving motorcycles. Rumor has it he has a cover band with his cofounders.

All posts by James

Company Values that Matter
A good set of values can be critically important in establishing a team that stands for something. This post outlines why company values are important, what characteristics good and bad company values have, and how to run a process to determine your company values. This applies equally well to a company or team or any other organization.
James Cowling's avatar
James Cowling
15 days ago
Configure Cron Jobs at Runtime
Even though Convex supports the creation of cron jobs out of the box, until now, we've only supported static jobs. With user space crons, we now support the programmatic definition of crons at runtime.
James Cowling's avatar
James Cowling
5 months ago
Backends Should be Designed for Product Developers
Our CTO James gave a talk at Developer Week 2024 about how backends have been letting down product developers by not providing clean abstractions that empower development without introducing unnecessary complexity. James outlines four major failures of the status quo: * Bad ideas in query models * Bad ideas in type systems * Bad ideas in caching and performance * Bad ideas in data sync He explains why these exist, how they are holding back developers, and discusses recent innovations at Convex that address these four areas.
James Cowling's avatar
James Cowling
9 months ago
Automatically Retry Actions
Learn how to automatically retry actions in Convex while also learning a little about scheduling, system tables, and function references.
James Cowling's avatar
James Cowling
10 months ago
Building a Full Cloud Backend - Software Engineering Daily Podcast
Discussion of patterns, psychology, abstractions, managing complexity, and more on the Software Engineering Daily Podcast with James Cowling
James Cowling's avatar
James Cowling
a year ago
Ready for Actions
Convex 0.5.0 introduces built-in support for actions — arbitrary lambda functions that run in a Node.js environment on the Convex cloud. We use the term action to differentiate these functions from Convex mutation and query functions, which enable transactional writes and dynamic subscriptions that update whenever data changes.
James Cowling's avatar
James Cowling
2 years ago
Jamstack Conf 2022 Panel: The Future of Databases
Today, a new wave of innovation is making databases approachable for developers without requiring a specialized skillset, opening the door to a whole new category of ambitious web experiences. In this panel, you’ll hear from the people pushing the boundaries of database technology and learn what’s possible — and what’s coming.
James Cowling's avatar
James Cowling
2 years ago
The serverless revolution deserves more than just a serverless database
The serverless movement has eliminated so many problems but it has left application developers with the hardest one of all: managing distributed state.
James Cowling's avatar
James Cowling
2 years ago
The future of databases is not just a database
The future of databases is Convex. This video originally aired at Jamstack 2022, highlighting the next evolution of modern web development architecture.
James Cowling's avatar
James Cowling
2 years ago
Data Interactivity in the Serverless Future (HYTRADBOI 2022)
Dynamic application developers need global state management, not a database. James (@jamesacowling) presents his talk from the HYTRADBOI 2022 database conference on how Convex is rethinking how app developers manage global state.
James Cowling's avatar
James Cowling
3 years ago