为什么构建工具?一个老广北漂程序员的血泪实录

强悍_思想家
2025-12-19 01:03
阅读 307

去年十月的一个周五晚上,我蹲在珠江边的天字码头旁啃着一盒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

最热最新
暂无评论
匿名用户Lv.1
0
影响力
0
文章
0
粉丝