计算机里没有黑魔法
昨晚是暂时分别的聚餐。今天坐下来,实习这件事才真正落了地。
转正答辩过了。秋招也提前停了。第一反应不是庆祝,是原来可以不用再把每一天都过成下一场考核。恭喜自己把这一段走完,然后才发现,原来一直绷着的那根弦,松下来需要一点时间。
接下来想把健身和休息排进日程。休息本身也可以是安排,空白时间不必再用「必须立刻证明自己」去填满。身体和脑子都跟了一整个夏天,现在更需要的是把生活重新摊开,让作息、运动、以及没事时什么都不做,都有一个位置。
这篇不想写成技能清单。想写的是:离开工位之后,哪些话还在。
从会用,到能讲清楚
实习里学到的东西,项目和生活里都有。起点其实很小。入职不久,组里建议这个项目用 Claude Code 和 Codex。我当时主要还在用 Cursor,算是第一次把日常开发真正交给一套更「会自己跑」的工具链。后来我把那段使用经验写成过另一篇,这里不再重复模型怎么搭配。
留下来的是另一种感觉:工具越能往前冲,你越要知道自己要它去哪。需求说不清,它就帮你把错的路走得很漂亮。审查偷懒,它就帮你把隐患写进仓库。所以后来我越来越少把「它生成了」当成「我做完了」。
Git 也是这样。自己会提交、会拉分支,和能把协作讲给别人听,完全是两件事。会操作,只证明你走过一遍;能教,要求你知道别人会卡在哪里——为什么不要在主分支上直接改,冲突到底是两个人同时改了同一处历史,回退和撤销又差在哪。教的时候,我才发现自己以前许多步骤是靠熟练,不是靠理解。别人一问「为什么」,熟练就露馅。
数据库也逼我把「别人早就想好的规矩」拆开看。PostgreSQL 和 MySQL 都叫关系型数据库,可页怎么组织、索引怎么选、事务隔离碰到什么,并不是同一套直觉。ID 更是如此。自增很方便,方便会把代价藏起来:可被遍历、在分布式下难拼、暴露了业务增长的形状。这些我后来写成过更细的笔记。当时真正震动我的,不是某个方案的名字,而是:原来一行主键后面,站着安全、性能和演进,全都是人做的取舍。
TDD、DDD 也从课上的缩写,变成了干活时会顶到的墙。TDD 让我先把「怎样才算对」说出来,再去写实现;修 Bug 时尤其明显,先用失败的测试把问题钉住,修完才知道自己到底改了什么。DDD 则是另一件事:代码很容易变成数据库的搬运工,字段从哪张表来,就在哪层来回搬。领域一旦被摊平,改需求就会改成改表。这些我也分别写过TDD和DDD。
实习教我的,不是多记了几个词。是许多「原来如此」,都发生在你不得不对别人负责的时候——对同事的分支负责,对主键负责,对测试是否真的锁住行为负责。负责会逼你把含糊的懂,换成能讲清楚的懂。
面试要的不是已经站在哪一层
同期实习的研发里,只有我一个本科生,其余都是研究生。这个身份差一直在,平时却很少变成能力上的对照。干活、讨论、把观点说出来,我并不觉得自己矮一截。学历是入场时别人最先看见的标签,它说明不了你在工位上能接住什么。
转正时,组长给过一段综合评价与发展建议:
任务完成情况良好,并且过程中能够主动提出自己的观点和思路。需要增强对于需求的理解,做深度思考。
前半句我收下了。后半句才是真正要带走的。任务能做完、思路能提出去,还不等于已经把需求看透。需求理解浅一层,后面的实现再顺,也只是把一个不够准的目标执行得很漂亮。这和前面写 Claude 时的感觉是同一件事:方向没想清楚,往前冲得越快,偏得越远。
聚餐快结束、马上暂时分别的时候,我还是问了带教:当时面试为什么要我。
带教说,他并不看重学历,更看重潜力。
把两句话放在一起看,才更清楚。要一个本科生,不是因为学历低所以「凑合也能用」,而是判断这个人还能继续长。组长指出的那块短板,也正好落在潜力该用的地方:把需求看深,把思考做透。潜力落到日常里,不是反复证明自己不比谁差,而是承认还有一层没走到,然后真的走过去。
带教愿意押在还能长的人身上,本身已经是一种判断。我能回报这种判断的方式,大概也只有继续长。
只不过是我现在不知道而已
最大的感受,可以收成浙江大学翁恺老师的那句:
计算机的所有东西都是人做出来的,别人能想得出来的,我也一定能想得出来。在计算机里头没有任何黑魔法,所有的东西,只不过是我现在不知道而已。总有一天,我会把所有的细节、所有的内部的东西全都搞明白。
实习前,这句话更像激励,读起来很痛快。实习后,它变成了一种工作方式。
「都是人做出来的」把神秘感拆掉了。Claude 会规划任务,是人把反馈循环写进了产品;Git 能找回历史,是人把快照和指针设计成了现在这副样子;B 树、WAL、主键该不该自增,是人在读写、安全和运维之间做完了选择;TDD 和 DDD 也是人在失败里总结出来的走法。别人能想出来,意味着这条路对你并没有上锁。差的只是你有没有走到那一层细节。
「没有任何黑魔法」不是说一切都简单。恰恰相反:简单感往往来自你还没看见内部。页里怎么塞行、一次提交怎样保证不丢、一次重构为什么要先有测试托底,这些都不是咒语。你现在不会,只是还不知道。这个「还」字很重要。它把能力从身份里挪开,放回时间里。
所以「总有一天」并不是保证立刻全能,而是允许自己从不知道开始。答辩过了,秋招停了,并不等于已经搞明白所有内部。它只说明:这条路可以继续走。学历不是黑魔法,研究生身份也不是。真正拉开差距的,往往是需求有没有看深、细节有没有补上。组长要我做的深度思考,说的就是这一层。
暂时分别之后,想先把生活安顿好,把健身和休息当成正事,而不是只有空闲才想起。然后再把还没拆开的那些细节,一个一个搞明白。别人能想出来的,我也可以想。现在不知道,并不丢人。丢人的是停在不知道上面,却把它当成命运。
