浅谈技术探索与实践:一个老广自由开发者的两年“踩坑”手记
上周五晚上十一点半,我合上 MacBook,窗外是广州西关老城区昏黄的路灯。楼下那家开了三十年的云吞面店刚打烊,锅铲声停了,只剩空调外机嗡嗡作响。我泡了杯陈皮普洱——这茶是我妈硬塞进我行李箱的,说“程序员喝凉茶伤胃,还是老广的陈皮好”。
此刻,我正为下周要交付的一个微服务重构项目做最后调试。代码跑通了,但心里却有点空落落的。不是因为加班,而是突然想起两年前那个同样闷热的夏夜,我坐在珠江新城某大厂的工位上,盯着屏幕上永远改不完的需求文档,心想:“难道这就是我三十岁以后的生活?”
从“稳定”到“自由”:一场赌上房租的冒险
那是2022年8月。我在一家中型互联网公司做了三年后端,月薪15k,社保齐全,每年还能回趟湛江老家过年。老婆小敏在越秀区做小学老师,我们租在荔湾老城区一栋90年代的楼梯房里,月租3500块,步行十分钟到上下九。日子算不上富足,但也安稳。
可我心里一直有个疙瘩:技术栈太旧了。公司主力还是 Spring Boot 2.3 + MySQL 5.7,连 Docker 都只是“听说”。而 GitHub 上,Rust、Go、Serverless、Dapr……新东西像潮水一样涌来。我焦虑得睡不着,半夜刷 Hacker News,看到别人用 WASM 写游戏引擎,再看看自己还在写 if-else 奻业务逻辑,简直想砸键盘。
转折点发生在一次技术分享会上。公司请了个外部讲师讲“云原生架构演进”,我坐在后排,越听越心慌——他提到的 Knative、Service Mesh,我连文档都没完整看过。散场后,我鼓起勇气加了他微信,问:“像我这种传统 Java 开发,还有机会转型吗?”
他回得很快:“技术不怕晚,怕停。你愿意花三个月每天两小时啃书、写 demo 吗?”
那一晚,我和小敏在阳台上吹风。我说想辞职做自由开发者,接远程项目,深耕新技术。她沉默了很久,最后说:“行啊,但最多给你一年时间。如果收入没到22k,就回来上班。”
于是,2022年10月1日,我正式“裸辞”。没有 backup plan,只有一本《Designing Data-Intensive Applications》(DDIA)和一台用了四年的 MacBook Pro。
技术选型:不是“最新”,而是“最合适”
刚开始接单,我天真地以为只要会写代码就行。结果第一个项目就栽了跟头。
客户是个做跨境电商的小老板,想要个商品库存同步系统。我热血上头,直接上了 Go + gRPC + etcd + Kubernetes——全是当时最火的技术栈。心想:“这下显得我多专业!”
结果呢?部署环境是阿里云最低配 ECS(2核4G),连 Docker 都跑得卡顿。etcd 集群起不来,gRPC 调试工具链又复杂,客户急得每天微信轰炸:“靓仔,搞掂未啊?我仓库都爆仓啦!”
最后我硬着头皮回退到 Node.js + Redis + RESTful API,三天搞定。虽然“技术含量”低了,但系统稳如老狗,客户反而夸我“靠谱”。
这次教训让我明白:技术选型不是炫技,而是解决问题。
后来我给自己定了个原则:
**“新项目三问”:
- 客户预算多少?(决定能不能上云/容器)
- 团队有没有人维护?(决定复杂度上限)
- 未来半年会不会扩展?(决定架构弹性)**
比如去年接的一个 SaaS 工具项目,客户只有两个人,预算有限。我果断放弃微服务,用 Next.js + tRPC + PostgreSQL 搞了个全栈应用。部署简单,TypeScript 类型安全,连前端同事都能改后端逻辑——他们开心,我也省心。
但如果是金融类项目,哪怕规模小,我也会坚持用 Java + Spring Cloud Alibaba。为什么?因为审计要求高、事务一致性不能妥协。这时候,稳定压倒一切。
书籍 vs 实战:别只收藏,要“拆解”
很多人问我:“该读什么书提升技术?”我的答案可能有点反常识:别光读,要带着问题去“拆”书。
举个例子。刚开始研究分布式系统时,我把《DDIA》当圣经,但前两章就看懵了。CAP、共识算法、日志复制……概念堆成山。后来我改变策略:每读一章,就用代码实现一个小 demo。
比如读到“Log-based Replication”,我立刻用 Go 写了个简易 raft 日志同步器;读到“Serializability”,我就在 PostgreSQL 里手动模拟不同隔离级别下的并发冲突。虽然代码粗糙,但理解深了十倍。
我还建了个 GitHub 仓库叫 tech-exploration-lab,专门放这些“玩具项目”。有些甚至只有几十行,但每次回看,都能想起当时卡壳在哪、怎么突破的。这比收藏一百篇 Medium 文章有用得多。
当然,书也不是万能的。有些经典(比如《Clean Code》)我翻过三遍,但真正让我写出可维护代码的,是在自由职业第一年,被三个不同客户骂“代码像 spaghetti”之后。
技术分享:输出是最好的输入
自由职业最大的好处,是时间自由;最大的陷阱,是信息闭塞。
有段时间,我整天窝在家里 coding,连粤语都说不利索了。直到去年参加了一次本地 Gopher Meetup,才惊觉自己错过了多少。
那天在天河某咖啡馆,十几个 Go 开发者围坐一圈。有人分享用 eBPF 监控数据库性能,有人吐槽 Gin 框架的中间件坑。我插了句:“其实用 Fiber 能规避这个问题……” 立刻有人追问细节。那一刻,我忽然找回了“技术人”的归属感。
从此我强迫自己每月至少做两件事:
- 写一篇技术笔记(哪怕只有500字,发在语雀或掘金)
- 参加一次线上/线下分享(哪怕是听众,也要提问)
最意外的是,去年底我在 Dev.to 上写了一篇《How I Migrated a Legacy PHP App to Serverless in 3 Days》,居然被 AWS 官方账号转发了!还接到一个新加坡客户的咨询邮件,最后谈成了月薪 28k 的长期合同。
你看,技术分享不是“施舍知识”,而是建立连接、验证认知、甚至创造机会。
两年后的今天:技术之外的东西
现在我的月均收入稳定在 25k+,工作时间基本控制在早九晚六。下午四点常溜去荔枝湾散步,顺便买两盒老婆爱吃的马蹄糕。技术栈也渐渐清晰:主攻 Go + TypeScript 全栈,云原生方向深耕,偶尔用 Rust 写点 CLI 工具自娱自乐。
但比起技术,我更珍惜的是心态的变化。
以前在大厂,总觉得自己是个“螺丝钉”,学新技术只为涨薪跳槽。现在做自由开发者,反而更愿意慢下来:
- 会为一个优雅的接口设计多花两小时
- 敢对客户说“这个需求用 Excel 更合适”
- 甚至开始教小敏用 Git 管理她的教案版本(她笑我魔怔了)
最近重读《禅与摩托车维修艺术》,里面一句话特别戳我:
“当你关心你所做的事,事情本身就会变得有意义。”
技术探索亦如此。不是为了追新,而是为了在解决问题的过程中,找到那份“手感”——就像我爷爷修单车,知道每个零件该拧几圈。
给同行的一点真心话
如果你也在技术路上迷茫,我想说:
- 别怕“旧”技术。Java、PHP、jQuery 没死,它们只是进入了“成熟期”。能用它们赚钱养家,就是好技术。
- 警惕“教程幻觉”。看完 100 个 Docker 视频不如亲手部署一个 Nginx 容器。动手,永远是破局的关键。
- 把“分享”当成习惯。哪怕只是团队内部 5 分钟快闪,也能逼你理清思路。
- 留点时间给生活。我见过太多人 burnout 到住院。记住,代码会过时,但你的身体不会。
最后,分享个小秘密:我书架上最旧的那本书,不是《算法导论》,而是《广州老菜谱》。因为我相信,真正的“架构师”,既要懂 CAP 定理,也要知道陈皮红豆沙该放几颗冰糖。
技术探索的路上,愿我们都不失温度,不忘来处。
—— 一个在西关骑楼下发呆的自由开发者
2024年6月于广州

评论 0