关于技术探索与实践的一些经验:一个背着房贷的北漂程序员回成都后的碎碎念
作者:李工,32岁,前北京某大厂后端开发,现成都某中型互联网公司前端架构师。房贷月供5800,房租3500(没错,我租着房还着贷),每天挤1号线转7号线通勤2小时。
上周五晚上11点,我蹲在厨房阳台上抽完最后一支烟,盯着手机上刚收到的一封邮件——“恭喜您通过终面,薪资可谈至22k”。
我差点把烟头扔进晾衣架里。
这已经是今年第三次面试了。第一次挂得干脆利落:“区块链项目经验不足”;第二次卡在系统设计:“你对分布式共识的理解太浅”;而这次,我硬是靠着自己折腾半年的业余项目,把面试官聊懵了——不是因为技术多牛,而是因为我讲得太细、太真实,连本地调试时遇到的坑都列成了清单。
老婆在屋里喊:“还不睡?明天又要早起挤地铁!”
我说:“再等会儿,我想写点东西。”
于是就有了这篇碎碎念。不灌鸡汤,不画大饼,就是一个普通程序员,在生活成本和职业焦虑之间反复横跳的真实记录。
一、从北京撤退:不是躺平,是算账
去年十月,我带着老婆孩子从北京搬回成都。
不是因为“逃离北上广”的文艺情怀,纯粹是算不过账。
在北京,我月薪15k,房租6500(五环外合租次卧),地铁通勤单程1小时20分钟。孩子上私立幼儿园,一个月4200。加上吃饭、交通、人情往来,月底一看银行卡余额:负数。
最崩溃的是那个月,孩子发烧住院,我和老婆轮流请假,工资直接砍掉三分之一。那天晚上我在医院走廊刷BOSS直聘,看到成都一家公司开13k,包午餐+双休+不加班。我问老婆:“要不……回去试试?”
她沉默了几秒,说:“回去吧,至少能睡个整觉。”
于是我们卖了车,退了租,带着行李和一身房贷(当初脑子一热在北京郊区买了个小两居,现在租不出去还得还贷),灰溜溜回了成都。
回来第一周,我投了20份简历,回复不到5个。HR问我:“你有React经验吗?”我说有。“用过Vue3组合式API吗?”我说用过。“做过Web3或者区块链相关项目吗?”我摇头。
那一刻我才意识到:技术栈断层了。
在北京做的是Java后端+微服务,回到成都,岗位清一色要求“全栈能力”,尤其看重前端+新兴技术。而我,连Vite都没配过。
二、面试题挑战:从被虐到反杀
今年年初,我参加了一场线上面试。
面试官是个95后,语气轻松:“聊聊你对区块链的理解?”
我硬着头皮说:“就是分布式账本,不可篡改……”
他打断我:“那你知道以太坊的Gas机制怎么影响交易打包顺序吗?JS怎么通过Web3.js调用合约?”
我哑火了。
回家路上,地铁晃得我头晕。打开知乎搜“区块链 面试题”,满屏都是“手把手教你开发区块链钱包”、“三天掌握Solidity”。但没人告诉你:这些教程,90%跑不通。
我试过一个GitHub上的DApp教程,克隆下来npm install就报错,依赖冲突、版本不对、Infura节点限流……最后发现作者用的是2021年的Truffle版本,现在早就废弃了。
当时真的很焦虑。房贷5800雷打不动,孩子下学期学费2万,老婆刚换工作还在试用期。我甚至想过转行做运维,或者考公务员。
但我不甘心。
于是,我给自己定了个计划:每周攻克一个“面试高频痛点”。
第一周:JavaScript异步机制深度复盘
第二周:Vue3响应式原理 + 手写mini-vue
第三周:以太坊入门 + 用Hardhat部署第一个合约
第四周:整合前端 + 区块链交互实战
我没有报班,也没买999的课程。所有资料来自:MDN文档、Ethereum官方指南、YouTube英文教程(开1.5倍速)、以及Stack Overflow的冷门问答。
重点来了:我逼自己把每个Demo都部署上线,并写成技术笔记。
比如用JavaScript写一个简单的Merkle Tree验证器,虽然只有50行代码,但我录了视频、写了README、还加了单元测试。后来面试时,我直接甩链接:“这是我上周做的,您可以点进去看源码和部署地址。”
面试官眼睛亮了。
三、教程陷阱:别信“一行代码搞定”
很多人学新技术,喜欢找“快速入门教程”。但我要泼冷水:大多数教程,都是作者为了涨粉写的玩具项目,根本经不起生产环境考验。
举个例子:网上教你怎么用Web3.js连接MetaMask,通常就这几行:
if (window.ethereum) {
window.web3 = new Web3(window.ethereum);
await window.ethereum.enable();
}
看起来很简单对吧?但实际开发中你会遇到:
- 用户没装MetaMask怎么办?
- 网络切换(主网/测试网)怎么处理?
- 交易失败后如何重试或提示?
- 如何监听账户变更?
- 移动端兼容性问题?
这些细节,教程里从来不提。
我花了整整两周,才搞明白如何用ethers.js替代老旧的web3.js,并封装了一个可靠的useWeb3 React Hook。过程中踩了无数坑:Provider重复初始化、事件监听内存泄漏、签名授权弹窗被浏览器拦截……
但正是这些“脏活”,让我在面试时能说出:“我在项目里处理了MetaMask的5种异常状态,并做了降级方案。” —— 这比背八股文管用一百倍。
四、实战才是唯一的解药
回到成都后,我做了一个决定:哪怕没有需求,也要自己造轮子。
我用周末时间开发了一个极简的“去中心化投票DApp”:
- 前端:Vue3 + TypeScript + Tailwind CSS
- 合约:Solidity(用Hardhat测试)
- 交互:ethers.js + MetaMask
- 部署:Goerli测试网 + Vercel前端托管
整个项目花了三个周末。第一个周末光是配环境就搞到凌晨三点;第二个周末调合约权限逻辑,差点把测试币烧光;第三个周末优化UI,让老婆试用,她吐槽:“按钮太小,点不到!”
但当我把这个项目放到简历里,效果立竿见影。
最近这次面试,技术总监直接问:“你这个DApp的Gas优化做了吗?”
我说:“做了。我把多次写操作合并成batch,还用了delegatecall减少部署成本。这是Gas消耗对比图——”
他笑了:“行,不用再问了。”
五、给同样处境朋友的几点建议
如果你也像我一样:
- 身处二线城市,工资不高但生活压力不小
- 技术栈老化,被新趋势甩在后面
- 每天通勤几小时,只剩碎片时间学习
那么,请记住这几点:
1. 别追热点,追“面试真题”
与其盲目学AI、学Rust,不如翻翻最近3个月的面试题。我在牛客网、脉脉上扒了50+成都前端岗的面经,发现高频词就那几个:Vue3原理、TypeScript高级类型、Webpack优化、区块链基础概念。针对性准备,效率翻倍。
2. 教程只看官方文档
MDN、Vue Docs、Ethereum.org——这些才是靠谱的。B站/公众号的“三天速成”听听就行,别当真。真正有价值的,是那些带错误日志截图、带调试过程的长文。
3. 把学习变成“可展示的资产”
哪怕只是一个CodeSandbox链接,也比嘴上说“我会”强。我现在的GitHub首页,全是小而精的实战项目,每个都有Live Demo。HR扫一眼,就知道你不是纸上谈兵。
4. 接受“慢成长”
我不再幻想“三个月逆袭大厂”。现在的目标很朴实:月薪22k,通勤1小时内,能准时接孩子放学。技术探索不是为了炫技,而是为了活下去。
六、写在最后:技术人的尊严,在于动手
昨天和老婆聊天,她说:“你最近脾气好了很多。”
我说:“因为我不焦虑了。”
不是因为找到了好工作(还没签offer),而是因为我知道:只要还能敲代码,就还有出路。
技术这条路,没有捷径。什么“风口”、“红利”,都是虚的。真正能救你的,是你亲手写下的每一行代码,是你深夜调试成功的那个console.log,是你敢在面试时说“这个我做过,给你看源码”。
我不是大神,只是个背着房贷、挤着地铁、偶尔想放弃的普通程序员。但正是这些琐碎、狼狈、真实的日常,让我更珍惜每一次技术突破带来的微小喜悦。
如果你也在挣扎,请相信:你不是一个人。
共勉。
后记:今天早上,我收到了那家公司的正式offer,月薪22k,14薪,团队用Vue3+区块链做供应链溯源。通勤45分钟,房租不变。
我跟老婆说:“这个月,咱们带孩子去吃顿火锅吧。”
她笑了:“记得少点毛肚,贵。”

评论 0