为什么构建工具?一个老广北漂程序员的血泪实录
去年十月的一个周五晚上,我蹲在珠江边的天字码头旁啃着一盒28块的猪脚饭。手机突然震动——HR发来消息:“很遗憾,您本次面试未能通过。”
那一刻,江风刮得我眼眶发酸。不是因为被拒,而是我刚花3500块租下海珠区一间老破小,老婆还在老家照顾孩子,房贷每月要还6800。而这次面试,是我投了三个月、面了七家公司后最有希望的一家——月薪从15k涨到22k,还能接触区块链项目。
但人家最后一轮问了个问题:“你平时有用自己写的工具提升效率吗?”
我支支吾吾说了句“用过一些开源脚本”,对方礼貌一笑,然后就没有然后了。
一、我不是不会写代码,是没想过“造轮子”能救命
说实话,我干了快十年程序员,坐标广州老城区,祖上三代都是西关人。从小喝早茶长大,对“务实”两个字刻进DNA里。代码?能跑就行;需求?按时交付就好。什么“工程化”、“自动化”、“工具链”,在我眼里都是大厂P8们吹牛逼的词儿。
每天挤地铁两小时(3号线体育西换8号线昌岗,懂的都懂),到公司9点,开完站会10点,改bug到下午3点,再被产品经理拉去对需求到7点。回家路上刷LeetCode,周末还得研究Web3和Solidity——因为听说区块链岗位薪资高,35岁前不转方向怕是要被优化。
可现实是:我连本地开发环境都配得磕磕绊绊。每次切项目都要手动改host、清缓存、重启服务,光启动一个DApp前端就得等5分钟。同事小李看不下去:“阿强,你咋不用Docker Compose搞个一键启停?”
我说:“麻烦啊,搞这些不如多写两行业务代码实在。”
直到那次面试被拒,我才意识到:在这个卷成麻花的求职市场,光会“写功能”已经不够了。
二、真正的转折点:老婆一句话点醒我
那天晚上回到家,老婆正在视频教娃读拼音。看到我脸色不对,她放下手机问:“又没成?”
我没吭声,默默打开电脑看招聘网站。区块链开发岗清一色写着:“熟悉CI/CD流程”、“有自研工具经验者优先”、“能独立搭建开发/测试环境”。
她突然说:“你以前不是总抱怨配环境浪费时间?干脆自己写个脚本呗。反正你天天说‘重复劳动最蠢’。”
我愣住了。
是啊,我天天吐槽:
- “每次部署都要手动改配置文件,烦死了!”
- “测试环境和生产不一致,背锅背到吐!”
- “新人入职三天还在配环境,项目进度全拖垮!”
可我从来没想过:这些问题,其实我自己就能解决。
第二天周六,我没刷题,也没看白皮书,而是翻出三年前写的一个Shell脚本——当时为了批量处理日志,随手写的。虽然粗糙,但跑起来真省事。
我突然悟了:工具不是炫技,是自救。
三、动手造轮子:从一行Shell到区块链部署流水线
我给自己定了个小目标:两周内,搞定一套本地开发+测试+部署的自动化流程。
第一步,用Shell + Python 写了个 dev-start.sh,自动:
- 拉取最新代码
- 启动本地 Ganache(以太坊测试链)
- 编译 Solidity 合约
- 部署到测试网
- 启动 React 前端并注入 Web3Provider
第一次跑通时,耗时从5分钟降到45秒。我激动得差点打翻早茶里的虾饺。
接着,我把它封装成 npm 包,加了配置文件支持多链切换(ETH、BNB、Polygon)。还顺手写了文档,用了 GitHub Pages 托管。
更狠的是,我把整个流程集成到 GitHub Actions,实现 push 即部署测试版。再也不用手动登录服务器敲命令了。
过程中当然踩坑无数:
- 私钥管理差点把测试币全丢(后来改用
.env+ gitignore) - Docker 网络配置搞错,合约调用超时
- Windows 用户反馈路径分隔符问题(哭)
但每解决一个问题,我就往简历里加一行:“自研区块链本地开发工具链,提升团队部署效率300%”。
四、工具带来的不只是效率,更是求职筹码
今年三月,我又去面一家做DeFi协议的创业公司。技术终面时,面试官(CTO)直接问:“看你GitHub有个 blockchain-dev-kit,能讲讲设计思路吗?”
我当场打开终端演示:
npm install -g @myname/bdk
bdk init --chain eth
bdk deploy --network testnet
他眼睛一亮:“这比我们现在的流程简洁多了。你愿意来主导工具链建设吗?”
最后谈薪,我直接说:“25k,不接受砍价。”
对方沉默两秒:“行,下周一入职。”
从15k到25k,差的不是技术深度,而是解决问题的主动性。
现在回头看,那些被拒的日子,不是因为我不会Solidity,而是因为我只把自己当成“功能实现者”,而不是“问题终结者”。
五、为什么每个程序员都应该构建工具?
很多人觉得:“公司有DevOps,我何必重复造轮子?”
但现实是:
- 小公司根本没专职DevOps,全靠程序员自己扛
- 大厂工具链往往笨重,不适合快速迭代的区块链项目
- 面试官想看的,是你面对低效时的反应——是抱怨,还是动手?
更重要的是,工具是你能力的外显。
代码可以藏在业务逻辑里,但一个好用的CLI工具、一个清晰的部署脚本、一个自动化的测试框架,直接暴露你的工程思维、抽象能力和用户意识。
我在GitHub放的那个小工具,现在有87个star(虽然大部分是我自己刷的),但已经有两家公司在用。上周还有个深圳的猎头私信我:“看到你做的工具,有家Web3基金想找你做基建。”
你看,机会从来不是等来的,是跑出来的——哪怕只是跑一个shell脚本。
六、给同样焦虑的兄弟姐妹几句真心话
如果你也:
- 被房贷压得喘不过气
- 在35岁门槛前疯狂投简历
- 觉得技术更新太快追不上
别光刷题、别死磕源码。先解决你每天最痛的那个点。
可能是:
- 自动化生成API文档
- 一键切换多环境配置
- 监控智能合约Gas消耗
- 甚至是个Excel转JSON的小工具
小到能一天完成,大到能写进简历。
记住:公司招你,不是为了让你“写代码”,而是为了“解决问题”。而工具,就是你解决问题的武器库。
最后:工具即护城河
我现在依然每天挤地铁,依然在老城区住着3500的单间,依然担心哪天被裁员。
但我不再慌了。
因为我知道,就算明天失业,我手里有工具、有GitHub、有解决问题的方法论。这些,才是真正的“不可替代性”。
上周五,我又在天字码头吃猪脚饭。这次手机震动,是新公司的CTO发消息:“下周Hackathon,你带新人用你的工具链搭个NFT marketplace,奖金5k。”
我回了个“OK”,抬头看了眼珠江。
江水还是那么浑,但我的路,好像清晰了一点。
所以,别问“为什么构建工具”。
问问自己:今天,我又为明天的自己省下了多少时间?
—— 一个背着房贷、挤着地铁、但绝不认输的老广程序员
2024年6月于广州海珠

评论 0