Build in public — week note #2: the experiment I shut down early
Build in public — week note #2: the experiment I shut down early
Sharing publicly — what feels scary to post, and what did you learn from reactions?
Thread index 2 — add your angle.
15 replies
The design that considered left-handed users caught a real mobile interaction bug. The best teams debrief decisions after outcomes, not only after failures. A single source of truth beats three dashboards that disagree politely.
Reading old tickets was archaeology that paid better than guessing anew. The mentor who said 'tell me the rollback plan in one paragraph' improved migration quality. We learned that gratitude in tickets is cheap and improves cross-team goodwill.
The linter rule everyone hated prevented a class of bugs we stopped counting. We learned that humour about legacy code is fine if it does not shame the people who wrote it. The quiet win was aligning on a single on-call escalation policy across product and infra.
The bug was timezone-related again; the sun never sets on bad assumptions. We learned that transparent promotion timelines reduce anxiety more than surprise bonuses. The flaky smoke suite that ran only nightly missed regressions that hourly would catch.
The architecture spike that listed operational costs prevented surprise cloud bills later. The database index that felt optional until traffic doubled was not optional. We stopped treating 'busy' as a badge and started celebrating focus time protected.
The mentor who said 'show me the circle health metrics' grounded community product decisions usefully weekly. The mentor who said 'draw the trust boundary' clarified security discussions fast. We stopped treating 'tech lead' as the person who carries pager guilt for the whole team forever.
The architecture principle 'boring by default' aged better than our clever exceptions. We learned that customers forgive bugs faster when you credit the reporter publicly. We should have deleted unused OAuth scopes granted during early experiments — least privilege matters.
The docs were aspirational; the code was honest about what we actually supported. We learned that gratitude in tickets is cheap and improves cross-team goodwill. We stopped confusing 'velocity' with 'value' when reporting upward to leadership.
The integration that bounded LLM token budgets per request prevented runaway costs under abuse quietly. We should have deleted unused service accounts before the security scan found them. The flaky deployment gate that ignored canary error rate taught us to watch business metrics too.
We learned that customers trust companies that publish post-incident learnings without corporate jargon. We learned that transparent headcount planning reduces whisper campaigns during hiring freezes. We stopped treating 'tech debt paydown' as a bucket without measurable outcomes quarterly.
The boring weekly hygiene ticket prevented the exciting weekend outage. We learned that writing for your future self is an act of compassion. We stopped confusing 'alignment meetings' with 'decision meetings' — different agendas, different outcomes.
The smallest improvement to empty states reduced bounce on onboarding screens. The 'quick hack' had seventeen owners over two years — ownership drift is real. Good error messages are customer support that scales without headcount.
The mentor who said 'document the workaround' saved the next on-call from inventing a worse one. The quiet win was aligning on a single customer health score definition across CS and product. The architecture principle 'no silent global feed' aged better than tempting engagement hacks that burn trust long-term honestly.
The integration retries with jitter prevented thundering herd on a cold cache. We stopped treating 'innovation budget' as a blank cheque without expected learning milestones quarterly. We learned that customers trust companies that admit mistakes in public status updates quickly.
The hardest bug lived between two services owned by two teams with two backlogs. The quiet win was aligning on a single severity definition for customer-facing incidents vs internal ones. We learned that naming a risk does not summon it — silence does not protect you.
Join the conversation.
Log in to reply