David Heinemeier Hansson

Made Basecamp and HEY for the underdogs as co-owner and CTO of 37signals. Created Ruby on Rails. Wrote REWORK, It Doesn't Have to Be Crazy at Work, and REMOTE. Won at Le Mans as a racing driver. Fought the big tech monopolies as an antitrust advocate. Invested in Danish startups.
March 3, 2023

SaaS startups will have to care about productivity again

When the money flows freely, and there's a strong cachet to having tons of open positions, you can be forgiven to think that the individual productivity on a product team just doesn't matter. So much time is spent coordinating the work anyway. Who cares if the stack you're using takes twice the number of people to ship meaningful updat...
Read more
March 1, 2023

The simplest thing that could possibly work

I'm a programming child of the agile software movement. Just as I was starting out, Kent Beck published Extreme Programming Explained in 2000. It was a revelation. I had just enough exposure to Big Upfront Design and waterfall methodologies to appreciate what a monumental shift this was. Beck's methodology x-rayed the ills of the tradi...
Read more
February 28, 2023

Introducing Kamal

It's finally time to talk about the technology we've been building at 37signals to leave the cloud with HEY and many of our legacy applications. We already run Basecamp on our own hardware, but we deploy it using an old tool known as Capistrano. This is the deployment tool we originally wrote at 37signals all the way back in 2005, when...
Read more
February 28, 2023

When prophecy fails

Remember back in November, when seemingly every pious public persona and their coteries announced final farewells on Twitter? All in the clear expectation that the service would sink any moment? Like they had seen the iceberg, and was sure – just sure! – that impact was imminent. Except, there was no iceberg, no impact, no sinking ship...
Read more
February 27, 2023

Don't be fooled by serverless

Cloud aficionados love pinning the true promise of the cloud on serverless functions and services. Not getting the savings you thought you would with the cloud? It's because you didn't go serverless. Frustrated with the complexity of the cloud? Serverless! Performance questions? SERVERLESS! Serverless has become a mantra to chant becau...
Read more
February 24, 2023

Get out of momentum's way

It can take a long time and be tricky business to get a gaggle of humans rolling in the same, right direction. When it finally happens, you feel it. The pace is effortless. The interactions are easy. This is the moment when momentum asks you to get out of the way. The easiest way to mess up a good thing is to mess with it at all. Just ...
Read more
February 23, 2023

Caring about costs is cool

Revenue gets all the glory in the land of tech. The unlimited upside! Growth cures all! The next digit unlocks the next round! Don't get me wrong, without revenue, without paying customers, there's nothing. But once there's something, costs count just as well to the bottom line as does revenue – if you care about profits, and you shoul...
Read more
February 22, 2023

Five values guiding our cloud exit

I've talked a lot about cost in our reasoning for leaving the cloud. But while cost is crucial, it is not the only motivating factor. Here are five values that have guided our decision, and that I recently articulated in an internal post at 37signals (so excuse the code names etc): 1. We value independence above all else. Being trapped...
Read more
February 21, 2023

We stand to save $7m over five years from our cloud exit

Since declaring our intention to leave the cloud in October, we've been busy at work making it so. After a brief detour down a blind alley with an enterprise Kubernetes provider, we found our stride building our own tools, and successfully moved the first small application out of the cloud a few weeks ago. Now our sights are set on a t...
Read more
February 16, 2023

My all-time dream car

Whether you're a car lover or not, there's no denying the disarming enthusiasm of Doug DeMuro. He's an anti-influencer in a car world dominated by slick, status-conscious performers on YouTube. A reminder that being into cars doesn't have to be about showing off, and that you can enjoy the design, engineering, and driving experience of...
Read more
February 14, 2023

Hey, is that a CRM?

When we first started work on HEY, we didn't mean to build a general-purpose email service at all. We were looking to create Highrise 2. The successor to our beloved small-team CRM system from 2007. We had several skunkworks attempts at that in the past. One was nicknamed Glenn Gary. Another was Chestnut. But it was realizing that emai...
Read more
February 13, 2023

Inspiration is perishable

We all have ideas. Ideas are immortal. They last forever. What doesn’t last forever is inspiration. Inspiration is like fresh fruit or milk: It has an expiration date. If you want to do something, you’ve got to do it now. You can’t put it on a shelf and wait two months to get around to it. You can’t just say you’ll do it later. Later, ...
Read more
February 10, 2023

Invest in things that don't change

You know you're old when you can talk about stuff that happened twenty years ago with vivid recollection. I'm now that old. This week, it's been 19 years(!!) since we first launched Basecamp. Which means it's been well over twenty years that I've been working with Jason Fried at 37signals, and also more than twenty years since I first ...
Read more
February 9, 2023

How it started / how it's going

A picture of my home office in Malibu went viral last week. Some two million people gawked at that lovely Catalina Island-facing view that forms the background for work when I'm there. Here's another shot of that same office from the early morning: It really is my dream office. But at the same time, it's also just an office, and the mo...
Read more
February 7, 2023

Software has bugs. This is normal.

Disappointment occurs when expectations don’t match reality. And our expectations for software quality are profoundly unrealistic. Thus, lots of people are continuously disappointed — even enraged — by software bugs. They shouldn’t be. The only reliable, widely used way to ensure impeccable software quality is to write less software th...
Read more
February 3, 2023

Proof of the peak

Just a couple of months ago, I wrote an analysis of why I believed we were entering the waning days of DEI's dominance. I looked at four factors: 1) the likely judicial defeat of affirmative action in universities, 2) the disintegration and scandalization of BLM, 3) the loss of Twitter as an effective woke policing mechanism, and 4) fi...
Read more
January 31, 2023

Just let me do my job

This is to everyone who've ever been frustrated with the inability to find time at work to do their actual job. To those who've had to nod and smile at the VP of Wasting Everyone's Fucking Time. To whoever is sick of playing calendar tetris just to win the prize of zoom gloom. To people who actually like what they do, and would be ever...
Read more
January 26, 2023

Hardware is fun again

I lost interest in computer hardware during the 2010s. It seemed years would pass with only meager, marginal improvements. Intel was stuck in a rut, so CPUs were barely improving. The only bright spot for me was Apple's progress with their A-series chips for phones. But that felt like a segregated reality from that of regular computers...
Read more
January 23, 2023

Glorious days like these

This is my favorite kind of day. An entirely empty schedule combined with a juicy, challenging project to dedicate it to. The perfect antidote to the dread that occasionally sets in when a whole week is devoured by #ExecutiveLife. Nothing invigorates the soul like seeing something come together out of nothing, and to do that, you need ...
Read more
January 20, 2023

Another Android

It'd been a couple of years since I'd gotten a new Android phone. The last one was the One Plus 8 Pro. Nice phone, but I hated the screen water-falling over the edge. And I absolutely cannot stand the One Plus hijinks applied to scroll acceleration. So I've pretty much only used it as a spare Fortnite machine for the kids, except when ...
Read more
January 16, 2023

You can always go faster (if you know where to risk it)

The better you are, the faster you go. That's a basic truism of just about any field, and programming is no different. But competence isn't the only input to pace. Risk tolerance is just as important, if not more so. You can't go quickly if you treat every problem with the diligence required for rocket surgery. If your work can directl...
Read more
January 12, 2023

They're rebuilding the Death Star of complexity

I started my career in programming during heydays of Java Enterprise Edition (J2EE). This was late 90s/early 00s, and there was a rich ecosystem of enterprise vendors hawking application servers, monitoring tools, and boxes upon boxes of other fancy solutions. These tools were difficult to learn, expensive to license, and required an a...
Read more
January 10, 2023

The only thing worse than cloud pricing is the enterprisey alternatives

We spent the last couple of months thinking that bringing HEYhome from the cloud was going to involve SUSE Rancher and Harvester. A combination of enterprisey software products that would give us a cloud-like experience on our own hardware, and require minimal changes to how HEY is already packaged and deployed. But we should have smel...
Read more
January 9, 2023

We don't A/B test core values

Carlos Trujillo recently had to cancel a Basecamp account, but we managed to leave a warm, lasting impression by making it effortless. No last-minute offers, no pressure to get on a call to "explain", no dark patterns of any kind. Just gratitude that we could be of service while it lasted. It seems self-evident that it should always be...
Read more
January 4, 2023

A high bar is high respect

It's tempting to think you're doing someone new a favor by initially holding them to lower standards on work, effort, or decision making. They're new! They need to find their feet! Yes and yes, but neither fact is helped by going easy on what good decisions, reasonable effort, and solid work needs to look like at your company. Now keep...
Read more
December 16, 2022

Throw Twitter into the fire of Mount Doom

Whatever brief promise that Elon Musk might run New Twitter on principles not power seem dashed by the ElonJet affair. So I'm now biased to the tail outcome of this acquisition: That it liberates the world from Twitter's unique influence on our common discourse. Nobody should have this much power over the town square. No human is stron...
Read more
December 14, 2022

Apple's big monopoly loss comes curtesy of the EU

After being involved with the tech monopoly fightonseveralfronts in the last few years, I must admit I got a bit jaded after a while. In all the US state actions, for example, it seemed the basic political corruption available to any trillion-dollar company willing to buy all the lobbyists in the land, connecting that to campaign contr...
Read more
December 9, 2022

Meta goes no politics at work (and nobody cares)

It's not even been a full two years since we said no thanks to discussing societal politics internally at 37signals. The drama that decision created was immense, and all-consuming for a few weeks. We trended on Twitter for a while, there were countless, breathless articles covering the move, and ultimately, we said farewell to twenty-s...
Read more
December 9, 2022

European Digital Sovereignty

All societies ought to strive for digital sovereignty. For the power and dignity of self-determination, according to the norms and laws of their culture. Independently of staying in the good grace of foreign powers. Without digital sovereignty, we cannot claim to be free in the 21st century. I stake the claim that we in the Nordics, as...
Read more
December 8, 2022

Your estimates suck

Humans are terrible at estimating anything complicated that involves novel attempts at problem solving. So getting out of estimates and into appetites has been the single most important thing we have done for our software development process at 37signals. Instead of asking for a specific estimate to a specific solution, we start with r...
Read more

See more posts »