<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/a-year-at-37signals-unp4caphn" -->

---
title: A year at 37signals | daily.dev
description: A developer reflects on their first year at 37signals, sharing how they finally landed the job after six-plus attempts, what it&#x27;s like working there, and key...
canonical: https://daily.dev/posts/a-year-at-37signals-unp4caphn
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: A year at 37signals | daily.dev
og:description: A developer reflects on their first year at 37signals, sharing how they finally landed the job after six-plus attempts, what it&#x27;s like working there, and key...
og:url: https://daily.dev/posts/a-year-at-37signals-unp4caphn
og:image: https://api.daily.dev/og/posts/unp4CaPHN.png
og:image:alt: A year at 37signals
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# A year at 37signals

**[RUBYLAND](https://daily.dev/sources/rubyla)** · 10 min read · 1 upvotes · 0 comments

## Summary

A developer reflects on their first year at 37signals, sharing how they finally landed the job after six-plus attempts, what it's like working there, and key lessons learned. Topics include the importance of writing skills for the hiring process, experiencing features being cut before release under a 'delightful or nothing' philosophy, working ahead of Rails edge (contributing SecureRandom.base32 and passkeys to Rails), and the real difference between Shape Up and scrum-over-waterfall. The post ends with passing the company's annual 'would we hire you again?' review.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://stanko.io/a-year-at-37signals-8s17uw9GPHgD>

## Questions this post answers

### What is the 'delightful or nothing' philosophy at 37signals and why did they scrap an AI chat feature after building it?

It is a product philosophy where features must be genuinely delightful and cohesive with the rest of the product or they get cut entirely, even after being fully built. At 37signals, an LLM-powered chat feature called FizzyAsk was added to the Fizzy product and then completely scrapped along with all AI features about a month after being built, because it didn't meet that bar, rather than being pivoted or shelved.

_Developers weighing whether to ship or kill an AI feature can compare real product decisions like this on daily.dev._

### What are activerecord-tenanted and Beamer used for in Rails multi-tenant applications?

activerecord-tenanted is a Rails gem that separates each tenant into its own database, and Beamer replicates those SQLite tenant databases across a fleet of servers. Because each server writes to only a few tenant databases while a separate central identity database handles sign-in, a single request generally cannot write to both the identity database and a tenant database, since they usually live on different servers.

_Teams building multi-tenant Rails apps can track gems like these on daily.dev while designing around cross-database write constraints._

### How does Shape Up's cycle work differ from scrum sprints in practice?

Shape Up organizes work into six-week cycles with cooldown periods, using appetite, check-ins, and hill-charts instead of two-week sprints, task pointing, and standups. The key difference is behind the scenes: scrum is often layered on top of a fixed roadmap resembling a waterfall plan, while Shape Up re-plans from scratch every six weeks based on what was completed and what changed in the world, making it genuinely adaptive rather than schedule-driven.

_Engineers deciding between Shape Up and scrum for their team can weigh real-world accounts like this via daily.dev._

## Similar posts on daily.dev

- [A new interview](https://daily.dev/posts/a-new-interview-6q9dbbr31) · Jason Fried · 3 upvotes · 0 comments
- [20 Lessons From 20\+ Years in Tech](https://daily.dev/posts/20-lessons-from-20-years-in-tech-zoxewprcw) · Tech World With Milan · 20 upvotes · 3 comments
- [What a Year at WunderGraph Looks Like](https://daily.dev/posts/what-a-year-at-wundergraph-looks-like-dol2hlced) · WunderGraph · 0 upvotes · 0 comments

---

Tags: [#career](https://daily.dev/tags/career), [#rails](https://daily.dev/tags/rails)

[View this post on daily.dev](https://daily.dev/posts/a-year-at-37signals-unp4caphn)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"A year at 37signals","url":"https://daily.dev/posts/a-year-at-37signals-unp4caphn","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/a-year-at-37signals-unp4caphn"},"datePublished":"2026-08-05T07:53:48.656Z","dateModified":"2026-09-14T07:28:46.427Z","description":"A developer reflects on their first year at 37signals, sharing how they finally landed the job after six-plus attempts, what it's like working there, and key...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/03d697839d3c9a9c0a713f27227c51ad?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/03d697839d3c9a9c0a713f27227c51ad?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"RUBYLAND","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"RUBYLAND","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/rubyla","url":"https://daily.dev/sources/rubyla"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/a-year-at-37signals-unp4caphn","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"career,rails","timeRequired":"PT10M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"RUBYLAND","item":"https://daily.dev/sources/rubyla"},{"@type":"ListItem","position":3,"name":"A year at 37signals"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/a-year-at-37signals-unp4caphn#faq","mainEntity":[{"@type":"Question","name":"What is the 'delightful or nothing' philosophy at 37signals and why did they scrap an AI chat feature after building it?","acceptedAnswer":{"@type":"Answer","text":"It is a product philosophy where features must be genuinely delightful and cohesive with the rest of the product or they get cut entirely, even after being fully built. At 37signals, an LLM-powered chat feature called FizzyAsk was added to the Fizzy product and then completely scrapped along with all AI features about a month after being built, because it didn't meet that bar, rather than being pivoted or shelved. Developers weighing whether to ship or kill an AI feature can compare real product decisions like this on daily.dev."}},{"@type":"Question","name":"What are activerecord-tenanted and Beamer used for in Rails multi-tenant applications?","acceptedAnswer":{"@type":"Answer","text":"activerecord-tenanted is a Rails gem that separates each tenant into its own database, and Beamer replicates those SQLite tenant databases across a fleet of servers. Because each server writes to only a few tenant databases while a separate central identity database handles sign-in, a single request generally cannot write to both the identity database and a tenant database, since they usually live on different servers. Teams building multi-tenant Rails apps can track gems like these on daily.dev while designing around cross-database write constraints."}},{"@type":"Question","name":"How does Shape Up's cycle work differ from scrum sprints in practice?","acceptedAnswer":{"@type":"Answer","text":"Shape Up organizes work into six-week cycles with cooldown periods, using appetite, check-ins, and hill-charts instead of two-week sprints, task pointing, and standups. The key difference is behind the scenes: scrum is often layered on top of a fixed roadmap resembling a waterfall plan, while Shape Up re-plans from scratch every six weeks based on what was completed and what changed in the world, making it genuinely adaptive rather than schedule-driven. Engineers deciding between Shape Up and scrum for their team can weigh real-world accounts like this via daily.dev."}}]}
```

