We’ve fallen into the dependency trap a few times. For example, we used to try to line up release schedules for our web app and mobile apps. If we had something new on the web, it had to wait until the iPhone and Android versions also had it before we could release everything. That slowed us down, tangled us up, and led to self-imposed frustrations. In the end, Android users didn’t care whether they were using exactly the same design as iPhone users.

We also frequently used to bundle five or six major new features in one big-bang release rather than shipping each new improvement when ready. It makes for a great splash, but big-bang releases bundle the risk from every component, so if one thing falls behind, the whole thing can get held up. Which it always does. So you end up with a much higher risk of significantly delayed delivery or, at worst, having to scrap everything.

Today we ship things when they’re ready rather than when they’re coordinated. If it’s ready for the web, ship it! IOS will catch up when they’re ready. Or if iOS is first, Android will get there when they’re ready. Customers get the value when it’s ready wherever, not when it’s ready everywhere.


This doesn’t mean that your new work sucks, just that people are usually in the middle of something that’s more important to them than a change to your product. They’re already invested in what they have to do and they’re already familiar with how they’re going to do it. And then you toss a change at them that immediately makes their life a little more complicated. Now they have a new thing to learn right in the middle of having an old thing to do.

It’s taken us a long time and a number of missteps to learn this core truth about selling: Sell new customers on the new thing and let old customers keep whatever they already have. This is the way to keep the peace and maintain the calm.

This is why we still run three completely different versions of Basecamp: our original software that we sold from 2004 to 2012, our second version that we sold from 2012 to 2015, and our third version that launched in 2015. Every new version was “better,” but we never force anyone to upgrade to a new version. If you signed up for the original version back in 2007, you can keep using that forever. And a significant number still do.


No is easier to do, yes is easier to say.
No is no to one thing.
Yes is no to a thousand things.
When you say no now, you can come back and say yes later.
If you say yes now, it’s harder to say no later.


What we do repeatedly hardens into habits. The longer you carry on, the tougher it is to change. All your best intentions about doing the right thing “later” are no match for the power of habits.

Later is where excuses live. Later is where good intentions go to die. Later is a broken back and a bent spirit. Later say “all-nighters are temporary until we’ve got this figured out.” Unlikely. Make the change now.


Way back when, we used to release new software on Friday all the time. That often meant working Saturdays and Sundays to fix an urgent problem with the new stuff, wrecking the weekend for whoever did the release. It was stupid yet predictable, because we kept setting deadlines at the end of a week. But Friday is the worst day to release anything.

We now wait until Monday the following week to do it. Yes, this introduced other risks - if we somehow make a mistake, we’re introducing it on the busiest day of the week. But knowing that also helps us be better prepared for the release. When there’s more at stake, you tend to measure twice, cut once.


When we present work, it’s almost always written up first. A complete idea in the form of a carefully composed multipage document. Illustrated, whenever possible. And then it’s posted to Basecamp, which lets everyone involved know there’s a complete idea waiting to be considered.

We don’t want reactions. We don’t want first impressions. We don’t want knee-jerks. We want considered feedback. Read it over. Read it twice, three times even. Sleep on it. Take your time to gather and present your thoughts - just like the person who pitched the original idea took their time to gather and present theirs. That’s how you go deep on an idea.


While the act of letting someone goes is unpleasant for all involved, it’s a moment in time. It passes. What remains after the dismissal are all the great folks who still work at the company. People who will be curious about what happened to their coworker. Why aren’t they here anymore? Who’s next? If I don’t know, could it be me?

If you don’t clearly communicate to everyone else why someone was let go, the people who remain at the company will come up with their own story to explain that. Those stories will almost certainly be worse than the real reason.

That’s why whenever someone leaves Basecamp, an immediate goodbye announcement is sent out companywide. The person who’s leaving then gets to see all the responses to this announcement from everyone else before the day is up.

Note: If their message to the company doesn’t include exact details on why they are leaving, their manager will post a follow-up message the following week filling in the gaps. When someone leaves for another job, the whole story is usually shared by the person who’s leaving. But when someone is let go, we often have to clarify once they’re gone.


To be paid fairly at most companies, it’s not enough to just be really good at your job. You also have to be an ace negotiator. Most people aren’t, so they end up getting shortchanged - sometimes making less money than more junior peers who were recently hired.

The thing is, most people just don’t enjoy haggling, period. It’s an unpleasant situation, and even if you do it well, you can easily end up with a lingering dread of “I wonder if I could have gotten more?”

We no longer negotiate salaries or raises at Basecamp. Everyone in the same role at the same level is paid the same.


At most companies, work-life balance is a sham. The typical corporate give-and-take is that life gives and work takes. If it’s easier for work to claim a Sunday than for life to borrow a Thursday, there ain’t no balance.

It’s pretty basic. If you work Monday to Friday, weekends should be off-limit for work.


The best companies aren’t families. They’re supporters of families. Allies of families. They’re there to provide healthy, fulfilling work environments so that when workers shut their laptops at a reasonable hour, they’re the best husbands, wives, parents, siblings, and children they can be.


It’s perfectly okay to have nothing to do. Or, better yet, nothing worth doing. If you’ve only got three hours of work on a given day, then stop. Don’t fill your day with five more just to stay busy or feel productive. Not doing something that isn’t worth doing is a wonderful way to spend your time.


Those 40-hour weeks are made of 8-hour days. And 8 hours is actually a long time. It takes about 8 hours to fly direct from Chicago to London. Ever been on a transatlantic flight like that? It’s a long flight! You think it’s almost over, but you check the time and there’s still 3 hours left.

Everyday your workday is like flying from Chicago to London. But why does the flight feel longer than your time in the office? It’s because the flight is uninterrupted, continuous time. It feels long because it is long!


Working 40 hours a week is plenty. Plenty of time to do great work, plenty of time to be competitive, plenty of time to get the important stuff done.


Everyone’s talking about hacking productivity these days. There’s an endless stream of methodologies and tools promising to make you more productive. But more productive at what?

Productivity is for machines, not people. There’s nothing meaningful about packing some number of work units into some amount of time or squeezing more into less.

Machines can work 24/7, humans can’t.

When people focus on productivity, they end up focusing on being busy. Filling every moment with something to do. And there’s always more to do!