辞职半年,我重新理解了技术探索这件事
上周五晚上十一点半,我坐在阳台上敲着 Mac 的键盘,窗外是城市稀疏的灯火。这不是加班——我已经从那家大厂裸辞快半年了。说“裸辞”其实有点夸张,毕竟攒了点存款,也干了快两年,临走前还帮组里把一个区块链模块的性能瓶颈给压下去了。但说实话,真正让我下决心离开的,不是 996,也不是 PUA,而是越来越觉得:我好像不会“探索”了。
每天上班就是改需求、修 Bug、写测试用例,连代码都像在填表格。产品经理一句“这个按钮要更圆润一点”,能让我折腾三天兼容性。运维大哥半夜拉群:“线上 OOM 了,快看看是不是你昨天上线的那块逻辑?”——那一刻我真的想砸电脑。
于是我想停下来,好好想想:技术人到底该怎么保持探索欲?又怎么把探索变成真正有用的东西?
别让“学不动了”成为你的简历注脚
很多人(包括曾经的我)有个误区:技术探索 = 学新框架。今天看 React Server Components,明天追 SolidJS,后天又听说 Bun 跑得比 Node 快十倍……结果简历上堆了一堆名词,真到面试问“你用它解决了什么问题”,支支吾吾半天,最后只能说“体验了一下”。
这不叫探索,这叫收藏夹吃灰。
真正有价值的探索,应该围绕问题驱动。比如去年双11前,我们组接到一个需求:要做一个基于区块链的积分溯源系统,确保用户积分流转可审计、不可篡改。领导拍板:“用 Hyperledger Fabric 吧,安全。”但问题是——我们全组都是前端出身,连 Dockerfile 都写不利索,更别说写链码(chaincode)了。
那会儿我负责对接智能合约的 JS SDK。一开始直接照着官方文档抄,结果本地跑得好好的,一上测试环境就报错:
Error: Failed to send transaction due to endorsement policy failure
查了三天,才发现是我们组织节点的背书策略没配对。那种挫败感,懂的都懂。
但正是这种“被逼到墙角”的场景,才逼我真正去读 Fabric 的源码,搞懂 MSP、CA、通道这些概念。后来我不光能调通链码,还能反过来跟后端同学讨论:“你们这个策略太严了,改成 OR 策略吧,不然用户转个积分要等十分钟。”
你看,探索不是为了学技术,而是为了解决眼前这个让你睡不着觉的问题。
JavaScript 不只是“玩具语言”
说到 JS,很多老程序员(包括我以前)总带着点偏见:“不就是操作 DOM 吗?能有多深?”直到这次研究区块链的客户端交互,我才重新认识了它。
Fabric 提供的 Node.js SDK 其实封装得挺友好,但底层通信全是 gRPC + Protobuf。为了调试,我不得不深入看它的网络层实现。结果发现,它用了一个叫 fabric-network 的包,内部大量使用了 async generator 和 EventEmitter 模式来处理事务流。
举个例子,监听区块事件可以这么写:
const eventHub = gateway.getNetwork('mychannel').getChannel().newChannelEventHub(peer);
eventHub.connect();
eventHub.registerBlockEvent((block) => {
console.log(`收到新区块: ${block.header.number}`);
// 这里可以触发前端状态更新
}, (err) => {
console.error('监听失败', err);
});
看起来简单,但背后涉及连接池管理、重试机制、证书校验……如果你只停留在“调 API”层面,一旦出问题就只能抓瞎。
所以我开始翻 V8 引擎的文档,看 Event Loop 是怎么调度 Promise 和 I/O 回调的;又去读 Node.js 的 stream 模块源码,理解背压(backpressure)机制。这些看似“底层”的东西,其实在高并发的区块链客户端里至关重要——比如当每秒有上千笔交易涌入时,你的 JS 线程会不会被阻塞?
技术探索的深度,决定了你解决问题的边界。
把“代码人生”过成连续剧,而不是碎片短视频
现在网上太多“30 天精通 XXX”、“一周上手区块链”的教程,搞得大家以为技术成长是线性的、可速成的。但真实情况是:技术探索更像一场马拉松,中间有爬坡、有平路、也有摔进坑里的时候。
我记得有次为了优化链上查询速度,尝试用 LevelDB 做本地缓存。结果因为没处理好事务一致性,导致用户看到的积分比实际多——差点酿成资损事故。那天凌晨三点,我和测试同学一边复现一边改,他吐槽:“你这哪是写代码,简直是写悬疑小说。”
但正是这些“事故”,让我学会了写更健壮的代码:
- 所有链上读操作必须带时间戳校验
- 缓存失效策略要用版本号而非 TTL
- 关键路径必须加日志埋点
这些经验,没法从教程里学到,只能从血泪中总结。
所以别急着把每个小成果都塞进简历。真正的简历亮点,是你如何把一个模糊的需求,一步步拆解、验证、落地,最终变成稳定服务的过程。面试官想听的不是“我会 Web3.js”,而是“我如何在性能、安全、体验之间做权衡”。
给想探索的你几点建议
结合我这两年踩过的坑,分享几个接地气的做法:
1. 从小切口切入,别一上来就想造轮子
想学区块链?先别急着搭私有链。试试用 MetaMask 调个 Etherscan API,或者用 Hardhat 写个简单的 NFT 合约。完成比完美重要。
2. 给自己设个“探索 deadline”
我在职时每周五下午是“自由探索时间”——不接需求,不回钉钉,就研究一个技术点。哪怕只有两小时,也足够跑通一个 demo。持续的小行动,胜过一次性的豪言壮语。
3. 写下来,别光在脑子里想
我现在有个 Obsidian 笔记库,专门记录探索过程:问题是什么、试了哪些方案、为什么失败、最终怎么解决。回头看时,会发现自己的思维路径清晰多了。
4. 找个“同频”的人一起折腾
离职前,我和后端兄弟约好每周三晚上连麦 coding。他搞 Rust,我搞 JS,互相 mock 对方的技术栈。笑点很多,收获更多。
最后:探索是为了更好地“生活”,不是“内卷”
很多人担心:不学新东西就会被淘汰。但我想说,技术探索的本质,是拓展你解决问题的工具箱,而不是给自己套上新的枷锁。
我现在每天写代码的时间反而比上班时多,但心态完全不同——没有 KPI 压着,没有晨会催着,我可以花一整天就为了搞明白 WebAssembly 如何和 JS 互操作。虽然可能短期对找工作没用,但那种“啊哈!”的瞬间,真的很爽。
前几天投了个新岗位,面试官问:“看你简历上写了区块链经验,具体做了什么?”
我说:“没做什么高大上的,就是帮公司省了几万块的审计成本,顺便没让用户投诉。”
他笑了:“这比吹‘精通共识算法’实在多了。”
所以啊,别被“必须时刻前沿”的焦虑绑架。代码人生,本该是有趣的。
附:技术选型对比表(Fabric vs Ethereum for Enterprise)
| 维度 | Hyperledger Fabric | Ethereum (Private Chain) |
|---|---|---|
| 共识机制 | Kafka / Raft | PoA / IBFT |
| 智能合约语言 | Go, Java, Node.js | Solidity, Vyper |
| 隐私支持 | 通道 + 私有数据集合 | zk-SNARKs(复杂) |
| 开发友好度 | 中(需理解 MSP/CA) | 高(Truffle/Hardhat 生态成熟) |
| 适合场景 | 企业级 B2B 联盟链 | 需要 Token 经济模型的场景 |
如果你也在探索的路上,不妨留言聊聊:最近一次让你兴奋的技术突破是什么?
(P.S. 我的 MacBook 键盘 F5 键已经快磨平了——不是刷新页面,是运行测试用的。)

评论 0