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 31, 2023

How to have buckets of time

One of the most important techniques I've embraced for managing my time is to direct related tasks to a bucket, let that bucket accumulate until full, then empty it all in one go. This in contrast to trying to catch every task the moment it lands from the myriad of interruption pipes that'll drip-drip-drip your day away if you let them...
Read more
March 30, 2023

America is never "getting to Denmark"

It took moving back to Denmark to realize the folly of thinking America is ever going to "get there". Whether on guns or healthcare or taxes or any other major policy position that's so fiercely contested in the US. Despite growing up in this little Nordic country, I didn't fully appreciate the tremendous, underpinning power of a homog...
Read more
March 28, 2023

Why is paid social media a bad idea?

It'll soon cost $7/month to fully participate on Twitter. Musk has announced they'll start reserving presence in the For You tab solely for paying customers from April 15th, limit participation in polls to just those customers, and soon also give preferential showing in replies as well. Legacy blue-checks will not be spared, and will i...
Read more
March 23, 2023

Cut cloud before payroll

Every week seems to offer fresh staff cuts at the big tech companies right now. Several of the giants are already on their second rounds, and few would probably bet against a third after those. But as hard as it is on an individual level – and it's always hard! – there's a silver lining for the economy as a whole: Releasing captive tal...
Read more
March 22, 2023

Angry customers are a gift

The majority of customers will never tell you why they stop buying on their own. In fact, even if pressed, most will just smile, nod, and give you some face-saving reason for how “now is just not the right time” or “we are just going in a different direction”. Because that’s what avoids conflict. Thus, the only time you’re truly allowe...
Read more
March 21, 2023

Compressing a million-dollar commercial into $37,000

Last year, we hired a high-profile ad agency to work on our first-ever branding campaign for Basecamp. They were smart, funny... and entirely out of sync with our budget. So we ended up letting them go, hiring a new head of marketing, and doing it all ourselves. The problem was that our entire marketing budget for 2023 amounted to a "m...
Read more
March 8, 2023

Actions beat arguments

You can't convince someone invested in their convictions to the contrary by arguments alone. Only actions can pry open a locked mind, and most minds remain locked most of the time. So if you wish to be persuasive, you ought to spend less time arguing and more time doing. This is as it should be. Talk is cheap, and others are right to k...
Read more
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

See more posts »