Claiming that “all my code is now written by an agent” is ambiguous. It includes: Folks who know what they are doing and care about software design, who can now produce code much faster. Vibe coders who treat the agent as a black box that generates a working system. I validate daily that, with the current models, vibe coding is not suitable for building minimally maintainable systems. Agents…
In another life, I wanted to become a civil servant. The selection process required passing a demanding set of exams, the first of which was a multiple-choice test. When preparing for that exam, I spent most of my study time building a system that converted practice exam PDFs into interactive web forms so I could train more effectively. I barely passed that first test. Studying the actual shit…
I loved this reflection by Andrej Karpathy about how he has never felt so far behind as a programmer. In particular, this line resonated strongly with me: I have a sense that I could be 10X more powerful if I just properly string together what has become available over the last ~year and a failure to claim the boost feels decidedly like skill issue. And so this reply from none other than Kent Beck…
I have been wanting to revamp my personal site for a while. I wanted a more modern look, sure, but also a reorganization of the structure and navigation. The problem was tediousness: I can do CSS, but I need a lot of back and forth to get things looking how I want. I wanted to continue using HEY World for managing my list of subscribers, but I wanted my articles to live at my personal page. I…
Follow-up video addressing viewer questions about Fizzy including testing and fixtures, modeling questions, AI, multi tenancy, view layer (templates, helpers, view components), and more.
How to architect Rails apps is the subject of many heated debates. Here is our take at 37signals. It includes thoughts on Domain Driven Design, service objects, callbacks and concerns.
Any AI-powered feature we add will either be amazing or it won’t. Let’s explore. I’ve lived this 37signals stance on AI from the inside, as a programmer. Putting this into practice is harder than it looks. Half-baked AI features that don’t solve any problem are everywhere. Sometimes, it’s just so a company can slap an AI label on its marketing page. But I believe there’s more to it. LLMs are…
Lexxy is a new editor for Action Text developed by 37signals. It features generating a more semantic markup, better ergonomics, markdown support, pasting links, code syntax highlighting, prompt menus, attachment previews… and it’s fully compatible with Action Text and Active Storage.
If you’re part of a collective, both of the following can be true at the same time: (1) There are great individuals in your group. (2) The group has deep structural problems. Acknowledging (2) doesn’t negate (1). Don’t victimize yourself on that premise. (2) is simply (2), and it’s probably worth paying attention to. Just a recurring thought I have whenever folks take collective belonging too…
Exploring how abstractions should hide distracting details while showing essential information, and examining how good explanations distinguish useful abstractions from poor ones.
We just went through a selection for a junior position at 37signals. This is a $146,000/year position for individuals with less than three years of experience, offering the opportunity to be part of a team of world-class programmers and learn from them. That’s the hell of a deal! The selection was based on competence. No referrals, no degrees or pedigrees. Show us how you solve a real problem with…
Nobody loves urgencies, but a sense of urgency is a blessing. It protects you from overthinking and underdoing, from contemplating when you should be building, and from getting lost in discussions when you should be making calls. Timeboxing and having a sense of urgency are inextricably linked. On the one hand, without a sense of urgency, timeboxing is like drawing a line in the sand: clear for a…
I joined 37signals five and a half years ago. I don’t think this is the right company for most people or that most people are a good fit for it. At the same time, I know this can be a dream job when there’s alignment on both sides. Here’s the whole deal from my very personal point of view. Let me start with the most challenging part: the bar at 37signals is very high. Everyone is very good at what…
I recently made a point about the disconnection between good programmers and formal degrees. I also expressed my skepticism about universities being the best option for becoming a good programmer in the future, with LLMs being a disruptive factor. I want to elaborate on the reasons. It has been the case for a while that anyone can access top-quality content to learn. That includes courses…
A precious moment when working on an idea is seeing the first spark. There is no fire yet, but you sense the potential for the idea to burn brightly. Sometimes, this moment comes after building a lot; other times, just a bit is enough. But sparks aren’t born from pure contemplation—they find you with your hands dirty. A few weeks ago, I had some time to spare while accompanying a relative at the…
Hotwire Spark is a new live-reloading system for Rails applications that automatically updates pages when source code changes, with a focus on providing a smooth, seamless feedback loop rather than jarring full-page reloads.
I’m skeptical about Bluesky debunking X in the long term. Two reasons: First, the main motivation for the recent so-called exodus is political, not product-based. It’s very hard to debunk a long-established product with a clone. Second, I’m skeptical that a social network that is both ideologically charged and philosophically good with censorship will result in anything mainstream. The…