ThreeDotsLabs.tech 是我非常喜爱的一个独立博客和开发者组合。如果记得没错的话,应该是此前研究 DDD 与 Golang 这个领域时发现的一个宝藏网站。除了很多高质量的博文之外,作者甚至还结集成册,发行了电子书。2025 年初,两位作者 宣布辞职 All-in,把博客、开源、训练课当成正经生意来做——这篇就是把当时列的大纲补完,给同样迷路的人一张导读地图。
他们是谁
Two dots, three authors? 不,是波兰搭档 Miłosz Smółka 和 Robert Laszczak。高中相识,写了十几年软件,2016 年一起掉进 Go 的坑。背景横跨金融、医疗、安全,带过团队,也创过业——不是学院派讲师,而是「真写过烂代码、真扛过生产事故」的那类人。
他们在 About 页 写得很直白:反对把复杂世界简化成爽文教程,不推销银弹,内容自举(bootstrapped)、不接厂商软文。这套立场贯穿了后面所有产出。
Golang 技能:不是语法课,是「能上班」的 Go
Go 社区早年对 DDD、分层架构挺排斥,「别在 Go 里写 Java」这话我听过太多。Three Dots Labs 的贡献之一,就是把 业务向 Go 怎么写讲清楚了——不是 for range 入门,而是:
- 博客长文:单篇常常万字起,带完整上下文。比如 Live website updates with Go, SSE, and htmx 这种题,别处搜得到十篇「Hello SSE」,他们偏要写到生产级细节。
- 训练课:辞职后重心转向 Go In One Evening(给已有编程经验的人快速上手 Go)和 Go Event-Driven(事件驱动实战)。特色是 CLI + 本地 IDE,不是浏览器里写 TODO,反馈环尽量短。
- 反模式合集:go-web-app-antipatterns 短小示例,专治「能跑但别学」的写法。
如果你已经会一门语言、想转 Go 做后端,「Go In One Evening → 博客挑感兴趣的深读 → Event-Driven 课」是条省时间的线。
架构技能:DDD Lite,不是 DDD 宗教
对我个人最有价值的,是 Modern Business Software in Go 系列——大约 14 篇,围绕示例应用 Wild Workouts(健身房预约场景)做渐进式重构。
他们故意在初始代码里埋了常见技术债:贫血模型、service 胖成「八千行巨兽」、domain 被 database 牵着走……然后一篇篇拆:
| 主题 | 代表文章 | 你会学到什么 |
|---|---|---|
| 入门 | Introduction to DDD Lite | 何时微服务不够、domain 怎么从 DB 里长出来 |
| 分层 | Clean Architecture in Go | ports/adapters,别把所有东西塞进 main |
| 组合拳 | Combining DDD, CQRS, and Clean Architecture | 三种 pattern 怎么 pragmatic 地叠在一起 |
| 态度 | DDD: A Toolbox, Not a Religion | 什么时候该用、什么时候别自嗨 |
电子书 Go With The Domain 可以看作系列的「装订版」:Serverless(Cloud Run)、gRPC、DDD/Clean Architecture 都有,订阅 newsletter 还能免费拿 PDF。团队里若有人对「Go 要不要上 DDD」吵个不停,扔这本书往往比开会管用。
项目实战:Wild Workouts 与 Watermill
光读不够,他们 GitHub 上摆了可跑的代码:
- wild-workouts-go-ddd-example — 系列的主菜,6k+ stars。配套 Cloud Run + Firebase 部署文,Terraform 一键上云,本地
docker-compose热重载,不是幻灯片工程。 - Watermill — 事件驱动/message-driven 的 Go 库,9k+ stars。诞生动机很朴素:「怎么让写 Kafka/NATS 订阅像写 HTTP handler 一样简单?」库本身 保持开源、不改许可证,他们把它当品牌和社区资产,而不是急着 SaaS 化——在 辞职长文 里写得很清楚。
- 延伸阅读:monolith-microservice-shop(单体 vs 微服务取舍)、event-driven-example(Watermill 最小示例)。
建议读法:先 clone Wild Workouts,对着系列文章 git diff 看重构,比只刷 Markdown 有效一个数量级。
品牌构建:辞职、Newsletter、Build in Public
技术好不一定活得下去。Three Dots Labs 有意思的地方,是把「怎么可持续地教软件」也摊在台面上:
- 2025-01 We quit our jobs:Robert 辞 principal,Miłosz 同步 all-in;披露训练课收入(2024 年约 746 人、$129k)、房贷与新生儿压力——不是 success porn。
- Newsletter 18k+:长关系渠道,新文/新课/播客都从这里触达;social 算法他们不太赌。
- No Silver Bullet 播客:直播/录播对谈,强调 Engineers vs Shippers 两极之外还有中间地带;Miłosz 的 The Over-Engineering Pendulum 是必读前置。
- Build in Public:每 12 周分享财务与踩坑,把「独立开发 / 小团队商业化」当成公开实验。
这套打法和国内「课程 + 社群 + 开源引流」有点像,但差异在于:内容深度和代码资产绑得紧,不是卖焦虑的 3 天训练营。
推荐阅读顺序(懒人包)
- 若完全陌生:About 页 + DDD Lite 引言 + clone Wild Workouts。
- 若已有 Go 后端经验、想补架构:系列目录 顺序刷;卡住就翻 Go With The Domain 对应章节。
- 若做消息/事件系统:Watermill 文档 + Go Event-Driven 课纲。
- 若关心「技术内容怎么养活自己」:辞职文 + No Silver Bullet 播客,当案例研究读。
结语
Three Dots Labs 不是唯一讲 Go 架构的团队,但在 深度、可复现代码、长期主义 上做得 unusually consistent。网站文章总量不算爆炸(精不在多),适合分几次读完,每次配一点 Wild Workouts 里的重构 diff。
我 2025 年 4 月开了这篇的头就搁下了;2025 年 10 月本来写了句「几乎烂尾」的 PS,现在把坑填上。他们那边也在继续写——你若是同行,值得 bookmark,偶尔翻一翻,比刷短帖划算。
参考链接
- 官网:https://threedots.tech
- GitHub:https://github.com/ThreeDotsLabs
- Watermill:https://watermill.io
