2010 年我认识这哥们,还在写 asp 代码。他知道这平台过时好些年了。他知道不转行就没人雇他。可改变把他吓住了。从头学一套全新东西这件事,摇撼他的程度,我到今天也没法完全体会。
我多少能懂。你学会一门语言、一套工具,是把自己的时间和钱押进了「用它造东西」的能力里。可是,要是你在「愿意考虑哪些挑战」这儿画一条线,当初又何苦入这一行?
而且,是啊,当那帮有权有势的拍板说,你在用的那套工具不再在市场流通,这确实糟心。他们决定不再有企业级 Perl 应用的时候,我恨;vb 被判过时的时候,我恨;告别 flash 的时候,我恨。
这一切看起来蛮横得毫无道理。而且有种感觉挥之不去:你其实说了不算,只能受一千英里外那些没脸没名的公司摆布,它们从远处遥控你的命运。这感觉是真的。但这就是买卖。签约的时候,你签的就是这个。
把技能当投资看
真正帮到我的是:把我的技能组合当成投资组合看。学 X 技能,花我 W 个月,在 Z 时间段里产出 Y 的工资和收入。而学到手的每一样,都会缩短下一件要花的时间。就这么简单。
另一件我一直在做的事:去攒那些人们总在招人、却没人真有的古怪技能组合。我就是那个人。我是只挺好看的独角兽。只要有趣,我几乎什么都能干。无聊是我的氪石。
只是干得越久,我越确信自己是一种独特的受虐狂,精神构造和情绪构造都像我这样的人,这行里其实不多。倒是有的是 David 这样的哥们。我想不出他们是怎么走到这儿的,但他们存在!
读旧代码
扯回来。我想这些的原因,是我正盯着一坨海量的、23 年前的 asp 代码。整个时期里,一大群 David 们在活跃地写。都是跟他一模一样的人。看得出来的。代码质量烂得离谱,就算把它当当年的东西来宽谅,也还是烂。
这种代码能写出来,只有两种可能:恐惧,或无知。你要知道,一套设计出来给机器看的东西……人的情绪涌出来的量,简直离谱——哪怕你根本没打算让情绪出来。我觉得,每个应用都有这样一颗怦怦跳的心。
我睡不着,今天早上也不想做艺术。所以我想,写我的那个快乐的小代码处理器的时候,顺便看一眼。反正它要把整摊东西抹掉。我的做法还挺有意思。
留住工作流,重想实现
我没打算写一个直译式的代码转换器——拿烂的老代码换烂的新代码——而是先给现有的东西编目。有肉的部分。数据库和 API 那一摊。然后确保新代码复制工作流,但不一定要 1:1 平移。
这头怪兽,他们得花五年才能把端到端测试跑完,哈哈。但那明明白白不关我的事。至少现在不关——凌晨 5 点,我一边喝着咖啡,一边做有趣的部分。这里头有某种诗,我觉得。只不过不押韵。