陆鸣坐在工位上,盯着屏幕上的代码发呆。
这是他第三天接触正儿八经的开发工作。老刘丢给他一个内部工具的小需求——给现有的日志分析系统加一个数据导出功能,要求支持自定义时间范围和字段筛选。听起来简单,但对陆鸣这种连Python都只在学校里写过作业的人来说,简直是天书。
他打开公司的代码仓库,找到老刘说的那个项目,扫了一眼源码,脑袋嗡嗡作响。三千多行代码,没有注释,没有单元测试,所有变量都是用单字母命名的。i、j、k、a、b、c……看起来就像一场程序员的字母狂欢。
“这他妈是人写的?”陆鸣压低声音嘀咕了一句。
坐在他对面的同事林姐抬头看了他一眼,笑了笑:“习惯就好,老刘的代码风格就是这样。”
“老刘写的?”
“不,是老刘的前任写的。”林姐压低声音,“那个人干了两个月就走了,留下一堆烂摊子。老刘接手后也懒得重构,一直在往上面堆功能。”
陆鸣深吸一口气,重新看向屏幕。
他想起裤兜里那个U盘,想起昨晚它传来的那阵微微震颤。系统界面上显示的12个技能点,他还没动过。
“试试看?”他心里默念。
系统界面瞬间在脑海中浮现,上面出现了一行小字:是否消耗3点技能点激活【编程基础强化】?
没犹豫,陆鸣在心里点了确定。
一瞬间,他感觉脑子里什么东西被打开了。那些昨天还像天书一样的语法结构、设计模式、逻辑流程,突然之间变得清晰起来。他能看见代码里的嵌套关系,能预判每一行逻辑可能导致的输出结果——就像他当初清洗Excel数据时的那种预判感,只是现在更强烈、更精准。
他开始动手改代码。
删掉那些无意义的单字母变量,重新定义函数结构,加上注释,把日志过滤逻辑单独抽出来写成一个可复用的模块。他的手在键盘上飞快敲击,键盘声清脆而连贯,像是在弹一首没有乐谱的钢琴曲。
林姐端着杯子路过,停住了脚步。
“你这是在重构?”
“也不算重构,就是把能看懂的部分重新组织了一下,后面加功能方便。”
林姐凑近屏幕看了看,眼睛越睁越大。她干了三年开发,一眼就能看出这段代码的水平——变量命名规范,逻辑分层清晰,异常处理到位,就连注释都写得简洁精准,像是干了七八年的老手写的。
“你……之前在哪家公司干过?”
“没有,我应届生。”
林姐沉默了两秒钟,端着杯子走了。
陆鸣没注意到她的表情变化,他完全沉浸在代码的世界里。每敲一行代码,他都能感受到技能点带来的知识在飞速运转,像是一台高性能引擎在温和磨合阶段缓缓释放动力。
两个小时后,他把新增的功能代码提交到仓库,附上了一段三行字的提交说明,然后给老刘发了一条消息:“功能做好了,你验收一下。”
老刘那边的回复几乎是秒回:“?”
紧接着又是一条:“你跟我说实话,你是不是之前干过?”
“没有,真的是第一次。”
“那我给你这个需求的时候,你连Python的装饰器都不会用,现在你告诉我说你做完了?”
陆鸣没回这条消息,点开老刘发过来的需求文档,继续往下看。他注意到文档后面还有一个需求——数据可视化面板,需要把日志统计结果用图表展示出来。这个需求在OA系统里标的是“待评估”,暂时没人接手。
他点进系统的技能列表看了一眼——【编程基础强化】下面是【前端交互开发】,激活需要5个技能点。他又看了看余额,还剩9点。
没犹豫,他直接点了激活。
又是一阵轻微的灼热感,从后脑勺沿着颈椎蔓延下来。跟上一次不一样,这次的感觉更温和,像是脑子里有一团毛线在慢慢被理顺。他闭上眼睛缓了十秒钟,再睁开的时候,那些曾经让他晕头转向的CSS布局、JavaScript异步、Vue组件,全部变得清晰明了。
他开始研究数据可视化面板的需求。
下午两点,老刘验收完日志导出功能,沉默了很久,然后在部门群里发了一条消息:“这次新来的陆鸣,可以。”
群里沉默了几秒,然后开始有人回复:
“新来的?那谁?”
“就上周那个,坐林姐对面的。”
“哦,那个小白脸?”
“效率可以啊。”
陆鸣扫了一眼群消息,没回,继续做可视化面板的原型。他用公司的设计组件库搭了一个简单的布局,左侧是时间选择器,右边是两个图表区域,一个柱状图展示各模块报错数量,一个折线图展示趋势变化。整个页面干净清爽,交互逻辑流畅,他甚至顺手加了一个日间/夜间模式切换。
“小陆,你这是在做什么?”林姐终于忍不住探过身来问。
“我看那个数据面板的需求没人做,就试着搭一下。”
林姐探头看了一会儿,表情越来越复杂。她做前端出身,一眼就看出来这UI交互做得相当不错。一个应届生,入职第三天,后端代码写得利索,前端页面也搭得有模有样,这怎么想都不太正常。
“你是不是在学校的时候就自己接项目?”
“没有,就是喜欢折腾。”
林姐没再追问,但眼神里明显多了几分打量。
五点四十,离下班还有二十分钟。陆鸣把面板原型打包发出来,又顺手重构了一下日志模块里那段最恶心的错误处理逻辑。老刘刚好从会议室出来,路过他工位的时候扫了一眼屏幕。
“这个面板你什么时候开始做的?”
“下午。”
老刘拉过一把椅子坐下,认认真真看了一遍。“你懂ECharts配置?”
“刚学的。”
老刘看了他一眼,没说话。他把页面切了几个不同的时间范围测试,又检查了一下后端接口的数据准确性,每一个细节都挑不出毛病。他甚至觉得这个面板比他自己做的那个老版本好看十倍。
“你把这个面板收收尾,明天晨会我汇报一下,让全组都用这个。”
陆鸣点了点头,心里有一种说不清的踏实感。他以前从来没体验过这种感觉——因为自己做的事被别人认可,而获得一种实实在在的安全感。他不确定这算不算幸福,但至少比面试失败那天的感觉强了不知道多少。
收拾东西准备下班的时候,忽然有人从背后拍了他一下。
“你就是陆鸣?”
他回头,看见一个三十出头的男人,戴着一副黑色圆框眼镜,表情平淡,眼神里有种难以言说的审视感。
“是。”
“我叫王磊,小组组长。”
“哦,王组长你好。”
王磊点了点头,目光在陆鸣的电脑屏幕上停了一下:“我听说你今天做了不少事,日志导出、数据面板,都搞定了?”
“运气好,项目本身不算复杂。”
“谦虚了。”王磊笑了一下,但那个笑容没有到眼睛里,“年轻人能干活是好事,不过太快了也不好,容易出问题。”
陆鸣心里咯噔一下,但他没表现出什么,只是点了点头:“谢谢王组长提醒,我会注意的。”
王磊又看了他一眼,转身走了。
陆鸣站在原地,回味着刚才那句话的意思。那语气里带着一种不咸不淡的警告,像是在说“你别太出风头”,又像是在试探他的来路。
“别在意。”林姐从后面走过来,压低声音,“王磊这个人就这样,爱压新人。你是老刘亲自带的人,他看不顺眼也正常。”
陆鸣笑了笑,没说什么。
走出公司大门的时候,天色已经暗下来了。地铁站入口排着长长的队伍,每个人脸上都挂着一天工作后的疲惫。陆鸣站在队伍里,掏出手机翻了一下公司的内部通讯录,找到王磊的名字,点进去看了一眼——入职五年,资深开发,手里握着好几个核心系统的维护权限,在公司内部人脉很广。
他收起手机,抬头看着地铁站的指示牌。
五年。
他想起自己兜里的U盘,想起系统界面上飞速增长的技能点,想起今天发生的一切。一个下午,他做到了让老刘刮目相看、让林姐好奇打量、让王磊产生警觉。
这还不够。
他掏出那个U盘,在路灯下看了一眼。银色的外壳在昏黄的灯光下反射出细碎的光点,像是有什么东西在里面缓缓流转。他把它插回口袋,指尖触到U盘外壳的那一刻,系统界面再次浮现。
技能点余额:4点。
面前展开了一个新的分支路径——【高阶代码架构】【算法思维】【团队协作洞察】。每一条后面都标注着不同的激活点数,最高的那个需要12点。他大概估算了一下,按现在的获取速度,再完成三到四个项目,他就能解锁那条路径。
地铁来了。
陆鸣跟着人群挤进去,在车厢连接处找到一个角落站定。列车启动,窗外飞速掠过城市的霓虹灯光。他闭上眼睛,脑子里已经开始规划明天要做什么。
他隐隐有种预感——那个王磊,不会就这么算了。