我对技术探索与实践的看法:一个北漂程序员的深夜地铁笔记

优秀彩虹
2026-01-04 14:48
阅读 655

上周五晚上10点47分,地铁5号线天通苑北站。

我挤在车厢角落,左手攥着保温杯(枸杞泡了三天),右手拇指机械地滑动手机屏幕。公司刚上线的新功能又出Bug了,用户投诉如潮水般涌进企业微信群。我一边用手机连着远程桌面改代码,一边听着旁边两个年轻人讨论“大模型微调”和“全栈AI工程师”,心里泛起一阵说不出的滋味——既羡慕他们的锐气,又有点想笑:哥们儿,你试过凌晨三点改完前端样式还得去修后端接口吗?

我是老张,32岁,坐标北京,租房住在天通苑60平的老破小,月租3500(押一付三那种压得人喘不过气的)。每天早高峰从天通苑南站挤上5号线,单程1小时10分钟;晚高峰再挤回来,运气好能坐到座位。房贷每月8320块,老婆在朝阳做运营,月薪12k。我们俩合计月入不到3万,在北京,说不上体面,也谈不上潦倒,就是那种“还能撑,但不敢病”的状态。

今天想聊聊我对技术探索与实践的真实想法。不是那些光鲜亮丽的技术大会PPT,也不是GitHub上star数破万的开源项目,而是藏在加班、房租、通勤和焦虑之间的那点微光。


起点:从“教程依赖症”到被现实打脸

时间拉回去年十月。

那时我在一家创业公司做全栈开发,名义上是“前后端都能搞”,实际上就是“哪个模块没人写你就顶上”。公司用的是Vue 2 + Express + MongoDB 这套老掉牙的技术栈,文档散落在三个Notion页面里,还有一半是前任写的“注释即文档”风格。

有天老板拍我肩膀:“老张,你看隔壁组用Next.js + NestJS + Prisma,部署一次只要两分钟,咱们这CI/CD跑一次要20分钟,能不能优化下?”

我嘴上应着“行”,心里却发虚。因为除了Vue和Express,我对现代前端框架几乎一无所知。回家翻了B站、掘金、YouTube,搜“Next.js 教程”、“NestJS 入门”,收藏夹瞬间加满。那两周,我每晚9点到家,洗完澡就打开VS Code,跟着教程一行行敲代码,感觉自己像个虔诚的信徒。

但很快就被现实打脸。

教程里说:“安装create-next-app,运行npm run dev,搞定!”
我照做,结果本地启动报错:Node版本不兼容、Webpack配置冲突、环境变量缺失……折腾到凌晨1点,连个Hello World都没跑起来。

更糟的是,第二天白天还要修线上订单支付失败的Bug——因为后端没做幂等处理,用户重复点击导致扣款两次。我一边查日志,一边回想昨晚教程里那个优雅的useSWR数据请求示例,心里苦笑:现实哪有那么干净?我的代码库里,一半是业务逻辑,一半是给产品经理临时需求打的补丁。

那一刻我意识到:教程教的是理想世界,而我要活在泥泞里。


转折:不再“学完再干”,而是“边干边学”

转机出现在今年春节前。

公司接了个政府项目,要求三个月内交付一套数据可视化平台。技术选型自由,但性能、安全、可维护性必须达标。我主动请缨牵头前端,同时负责对接后端API设计。

这次我没再先刷100个教程。我做了三件事:

  1. 明确最小可行路径:只学Next.js的App Router + Server Actions + Tailwind CSS,其他高级特性(比如Streaming、Partial Prerendering)一律跳过;
  2. 建立“问题-方案”清单:遇到具体问题才查资料,比如“如何在Next.js中实现JWT鉴权?”、“怎么优化Lighthouse分数到90+?”;
  3. 和后端同事结对编程:我们约好每周二、四晚8点腾讯会议,一起过接口设计。他写NestJS的DTO,我写TypeScript的interface,实时同步字段变更。

最难忘的是2月14号晚上。那天老婆加班,我一个人在家调试SSR数据预取。凌晨1点,终于把用户权限校验逻辑嵌进getServerSideProps里,页面首次加载速度从3.2秒降到0.8秒。我截图发到团队群,配文:“情人节礼物:首屏快了2.4秒❤️”。

后端小李秒回:“哥,你这前端现在比我还懂服务端逻辑了。”

我笑了笑,关掉电脑,看了眼窗外——天通苑的夜依然漆黑,但心里亮了一盏灯。

技术探索不是为了“学会所有”,而是为了解决眼前这个该死的问题。


前端与后端:别再割裂看待它们

很多人说前端是“花瓶”,后端才是“核心”。这话在我刚入行时信了,现在只觉得幼稚。

去年我帮朋友内推进一个大厂岗,HR问我:“你更倾向前端还是后端?”

我说:“我现在做全栈,前后端都碰。”

她皱眉:“最好明确方向,不然简历不好定位。”

我当时没反驳,但心里嘀咕:真正的系统问题,从来不分前后端。

举个例子:我们有个搜索功能,用户输入关键词后响应慢。前端同学说是后端接口慢,后端说是前端传参不合理。扯皮三天没结果。

后来我抓包一看,发现前端每次输入都发请求(没防抖),后端也没做缓存,数据库直接查千万级表。两边都有锅。

于是我和后端一起重构:

  • 前端加了500ms防抖 + loading状态
  • 后端引入Redis缓存热点词
  • 数据库加了全文索引

最终搜索响应从2.1秒降到0.3秒。用户满意了,老板夸了,团队氛围也好了。

技术探索的价值,不在于你掌握多少框架,而在于你能打通多少堵墙。


关于“教程”的真相:它只是地图,不是目的地

现在我依然看教程,但心态变了。

以前看教程是为了“学会”,现在是为了“验证”或“启发”。比如最近研究Tauri(用Rust写桌面应用),我不再从头看到尾,而是直接看它的架构图、对比Electron的性能数据、然后动手写个最小Demo测内存占用。

我也开始写自己的“微型教程”——不是发博客,而是在团队内部Wiki记录踩坑过程。比如《Next.js 14 + Auth.js + Supabase 集成避坑指南》,虽然只有800字,但新来的实习生说比网上搜的清晰多了。

最好的教程,是你自己走过的路。


给同样在挣扎的你:几点真心话

如果你也在天通苑、回龙观、亦庄这样的“睡城”挤地铁,拿着15k-25k的工资,背着房贷车贷,每天在业务需求和技术债之间挣扎——我想说:

  1. 别追求“完美技术栈”:在资源有限的情况下,能跑起来、能修Bug、能让用户用起来,就是胜利。
  2. 小步快跑,持续反馈:与其花两周学完React 18所有新特性,不如花两天解决一个真实性能问题,获得正反馈更重要。
  3. 建立你的“问题库”:记录你遇到的每个技术难题和解决方案,半年后回头看,你会惊讶自己的成长。
  4. 允许自己“不前沿”:不是所有人都要追Svelte、Qwik、Bun。稳定、可维护、团队熟悉,有时候比“新”更重要。
  5. 技术之外,别忘了生活:上个月我陪老婆去看了场话剧(票价280,心疼但值得)。回来路上她说:“你最近眼睛没那么红了。”——原来,平衡也是一种技术。

尾声:地铁到站,代码继续

写这篇文章时,是周日晚上11点。明天又要早起赶5号线。房贷账单刚还完,老婆说明年想换个离地铁近点的房子,月租可能要涨到4500。

但我不焦虑了。

因为我明白,技术探索不是一场冲刺,而是一场带着行李的长途跋涉。我的行李里,有房贷合同、租房合同、老婆的体检报告、还有几本翻烂的《JavaScript高级程序设计》。

前端也好,后端也罢,教程也好,实战也罢,它们都是工具,不是目的。真正的目的,是用这些工具,在这个城市里,稳稳地活下去,并且偶尔,还能抬头看看星星。

下次你在5号线看到一个穿格子衫、背双肩包、眼神疲惫但手指还在敲手机的人——说不定就是我。我们可以相视一笑,或者默默让个座。

毕竟,在这条通往未来的轨道上,我们都在用自己的方式,写着属于自己的代码。


后记:本文无配图,因为我的相机里全是bug截图和地铁延误通知。但如果你读到这里,感谢你陪我走完这段文字旅程。愿你的代码少些Bug,地铁有座,房贷早日还清。

评论 0

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