代码、投资和生活 — 代码篇     上一篇:产品篇

 

笔者07年出校工作,写代码,一写就是十多年,期间技术更迭,逼迫着码农们不断学习新的技术能力,不然就面临着找工作难的问题。同样也是07年,听同事们聊股票,一赚就是多少,当年笔者年少缺钱,也实在禁不住诱惑,也跟着买点,想来也是十来年。这十年多的时间,虽然有些弯路,但好在无论是代码还是投资,笔者都还是尽心尽力地去做了,也才有了今天的理杏仁。

企业有些时候是社会的缩影,而产品又是企业的缩影。产品的背后包含两部分:设计者的思路、开发者输入的每一行代码。

设计者的思路构成了产品的灵魂,所谓“一将无能累死三军”,是否能够化繁为简决定了产品经理的水平。行外人做的东西自然不能切中要害,很大程度上倾向于复杂,结果肯定是不称职。当然还有一些刷存在感的产品经理,一方面吹嘘自己的功绩维持自身的地位,一方面极大的增加维护成本,把码农累的不行。有这样的产品经理,也只能说明企业的领导本身不具备慧眼识人的本事。

所以投资公司,尤其是投资平台型的互联网企业,简单易用是考察其产品的核心。做投资也一样,高手往往用一两句就能讲出投资的核心,水平差的往往能噼里啪啦的讲出一堆华而不实的理由。

当然产品的背后是开发者手动敲入的每一行代码。开发者的能力本身决定了产品的开发成本和维护成本。但问题在于大量码农似乎天生不太接触业务,这也决定了其在产业链中的弱势地位——执行者而非创造者

无独有偶,华为的创始人在2017年推出针对重点“关注”34岁以上的程序员的企业策略,从策略本身来说正确,但对于奋战在底层,上有老下有小还有房贷的中年人可就是当头棒喝,重新开始,谈何容易?虽人在壮年,但对于34岁的程序员,似乎已经是老的标志。最为重要的一点是,作为执行者,并不具备稀缺性。

一个需求,代码的实现方法也千差万别。从人性的角度而言,程序员往往喜欢用最稳妥的办法实现既定需求,因为符合任务轻松化、责任最小化原则,但却无形中增加代码复杂度。需求过后,再无更迭,产品逐渐复杂,后来之人更无勇气修改前人的代码。最终达到一个临界点,后继者甚至认为推到重来的成本低于重构的成本。得过且过的模式带来的另一恶果就是做事只能看片面,而无法从整体下手。

对于追求快速变化,想快速抓住用户消费变化莫测的喜好的企业而言,更注重功能,而忽视产品本身,快速迭代在某种程度上只能加剧这样一个责任最小化的过程。当然从企业的角度而言,成本收益比在某一刻往往才是决策关键所在,这里我们并不是加以指责。但是对于程序员本身而言,这就是个很大的负面体系。因为疲于代码和任务本身,加强的其实还是执行者本身的螺丝钉角色。

理杏仁定位于专业细分领域,自然希望每一步都能走的更为长远。对于小伙伴和自身,我们追求的不仅仅是代码能够精益求精,更多的是能够化繁为简,为后面的发展打下基础。所以用户看似一个简单需求,我们有时却需要夜以继日地改动,看似不解,实则是需要在每次需求过后,重构以往需求,进而形成系统级的解决方案。在产品打基础的阶段,尤其明显。所谓慢即是快,道理在很多地方都是相通的。

当然从短期的角度而言,网站并无多少新功能上线,用户可能受挫,但是从长期的角度出发,无论对于开发者本身还是用户,却是值当的。因为这样的模式需要开发者从执行者的角度变成创造者,需要看清架构的设计意图以及代码本身所要解决的短期和中长期问题。也只有具备了创造者本身的能力才能做到对不合理的需求说不,也才能认清自己是否喜欢这个行业,进而能知道自己是否有兴趣继续能够长久专研下去

这便也是笔者个人认为的程序员中年职场危机的进一层面的解决方案——做有积累意义的事

相信做投资的朋友能有这样的感觉:找到合适自己的一套投资系统之后,股票看的越多,行业研究的越多,越觉得轻松。这便是知识累积的作用,乔帮主说“由点到面”,水晶苍蝇拍所说“读书和不读书之人,五年一大变,十年就会形成人与人之间的无法跨越的鸿沟”,便是这样一种对必然而非巧合的完美解读。

而积累性这东西,有些行业似乎天生就具备很好的积累值,比如投资、医生、学者;而有些行业似乎天生面对的就是各种推陈出新,比如互联网、手机、照相机,有种说法叫“创造性毁灭”。

我们生于技术推陈出新的时代,除了看到变的一面,积极学习跟随世界,却也应该看到不变的一面——技术解决方案背后的行业知识。前者为打开认识世界的方法,也为养家糊口;后者变中思变,为自己所处变的时代谋划出一条不变的路,日积月累,最终达到可变的状态。

By @Bing 写于2017-07-16