May 15, 2023
Sitting on the bench
There are many reasons to pick working for a bigger company in tech. The benefits, the pay, and, at least until recently, the job security. In many ways, it's hard to argue with the cold logic of taking a seat on a star destroyer, if you can land one. But odds are you'll be sitting on the bench if you do. That is, your talents won't ge...
Read more
Read more
May 12, 2023
That underdog DNA
Jason just penned a beautiful, succinct ode to the underdogs. Go read it. It's funny how finding just the right word unlocks the perfect mental image. We've often thought of ourselves as being in the corner of the small business, but that was never quite right. There are many kinds of small businesses, not all of them thinking of thems...
Read more
Read more
May 11, 2023
It's not just cloud costs that are out of control
We're letting our yearly commitment to Datadog, a performance and monitoring tool, expire at the end of this month. Not because we don't like the service. It's actually really nice! But because the $88,000/year it was going to cost us to continue is just ridiculous. And it's emblematic of a larger issue: Enterprise SaaS pricing is gett...
Read more
Read more
May 9, 2023
The misallocation of tech talent
Getting fired sucks. It doesn't matter how or when. It just sucks. And right now there are an awful lot of people in the tech industry feeling just how much. But what's bad for the individual isn't always bad for the group. Believe it or not, there's also collective upside to the massive tech layoffs happening at the moment. Like undoi...
Read more
Read more
May 8, 2023
In defense of the office
You're never getting me back into an office. I credit much of my career to escaping that place in the early 2000s. It wasn't until I found the prolonged solitude of working from home that I could consistently make big leaps in my creative process. The pandemic taught millions the same lesson. And yet – AND YET! – I'm going to come to t...
Read more
Read more
May 7, 2023
Programming types and mindsets
One of the longest running schisms in programming is that of static vs dynamic typing. I've heard a million arguments from both sides throughout my entire career, but seen very few of them ever convinced anyone of anything. As rationalizations masquerading as reason rarely do in matters of faith. The rider will always justify the way o...
Read more
Read more
May 6, 2023
Escaping creative downturns
If I'm stuck in a creative downturn, there's usually only one remedy: keep going. That is, accept the downturn, but continue to stare at the computer, waiting for it to pass. While staring at the computer, there's room for menial and managerial tasks put aside during more inspired times. Checking up on things, getting back to people, a...
Read more
Read more
May 5, 2023
How to recover from microservices
I won't deny there may well be cases where a microservices-first architecture makes sense, but I think they're few and far in between. The vast majority of systems are much better served by starting and staying with a majestic monolith. The Prime Video case study that blew up the internet yesterday is but the latest illustration. Maybe...
Read more
Read more
May 4, 2023
Even Amazon can't make sense of serverless or microservices
The Prime Video team at Amazon has published a rather remarkable case study on their decision to dump their serverless, microservices architecture and replace it with a monolith instead. This move saved them a staggering 90%(!!) on operating costs, and simplified the system too. What a win! But beyond celebrating their good sense, I th...
Read more
Read more
May 3, 2023
Sovereign clouds
I've been talking about our departure from renting computers via AWS to owning them in a colocated datacenter as our "cloud exit". But I recognize this terminology can rub some people the wrong way. There's an entire generation of technologists who see themselves as "cloud native", and alienating them just because we want to own our ha...
Read more
Read more
May 2, 2023
Cloud exit pays off in performance too
Last week, we successfully pulled off our biggest cloud exit yet for Basecamp Classic. This is the original app that started it all for us from way back in 2004. And now, after a couple of years running on AWS, it's back on our own hardware, using Kamal, and holy smokes is it fast! Just look at these charts: The median request now runs...
Read more
Read more
May 2, 2023
The responsibility is the reward
One of the straightest paths to purpose in life is to take responsibility for something (or someone). Becoming a person whose presence and competence benefits others. For both your sake and theirs. Jordan Peterson calls this the "meaningful burden" in 12 Rules for Life, and downright posits it as an antidote to depression. Echoing Vict...
Read more
Read more
April 26, 2023
Getting America's mojo back
There is no end to accounts of America's current ailments. From deaths of despair, soaring crime in some cities, ballooning debts, dysfunctional politics, and a raging culture war. It's easy to be down on those United States. Too easy, in fact. Take gun deaths, for example. Americans own more guns per capita than any other country in t...
Read more
Read more
April 18, 2023
How to continue making kerosene lamps on the eve of electricity
The recent and rapid advance of AI has rightfully given many in software real doubts about the future of their profession. I'd probably still wager that the fears are overstated – that we also got prematurely euphoric about the imminent prospects of self-driving cars – and that AI generating code is different from it evolving existing ...
Read more
Read more
April 10, 2023
We spent $300K on billboards in Boston and it was a bust
Our 2023 marketing campaign for Basecamp kicked off on a ton of different channels at once. Web ads, search ads, podcast ads, and TV ads all blasted the message of JUST LET ME DO MY JOB. Our flagship commercial was a hit with the audience and the critics. But our attempt at out-of-home advertising, with billboards all over Boston, was ...
Read more
Read more
April 7, 2023
Go Rails World
Amanda Perino had barely settled into the role as executive director of The Rails Foundation before she secured a venue, a date, and the full support of the board for Rails World. This 650-attendee conference will kick off the worldwide ambitions for The Rails Foundation to host a new series of ecosystem gatherings at incredibly afford...
Read more
Read more
April 6, 2023
The hardware we need for our cloud exit has arrived
It's been a long time since I last saw a physical piece of hardware used to run our services at 37signals. I vaguely remember doing a tour of our Chicago data center over a decade ago, but somewhere along the line, I just lost interest in the iron itself. Now the interest is back, because hardware is fun again, so let me share my excit...
Read more
Read more
April 5, 2023
Standing up to golems
Tim Urban's new book What's Our Problem? offers an excellent analysis of the current American political malaise. It breaks down the history of first how the Republican party got overrun by low-rung thinking from the mid-90s forward, then how equally low-rung thinking got the other side in the past decade or so. It's a light, humorous r...
Read more
Read more
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
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
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
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
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
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
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
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
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
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
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
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
Read more
See more posts »