抛弃「确定性」

普通人往往高估「确定性」的收益、又低估「确定性」带来的风险。

例如考公的人看到了后面三十年连续不断的几千元/月工资外加各项福利的稳定性,却忽视了自己的真实需求和沉没成本。考公的显著沉没成本之一,就是牺牲了自己未来所有可能性和应对风险的抵抗力。当风险来袭,你将没有任何应对能力。从去年开始的大范围、高强度的公务员降薪,已经实在的影响全国上千万体制内选手;而 90 年代的「国企工人下岗潮」带来的无数人间悲剧,就是「确定性」危害的一次大规模显现。

除了考公大军以外,因就业困难而去考研的兄弟姐妹们,更只是延后了处理风险的时间,不仅没有消弭风险,反而给自己注射了麻醉剂,使得下次面对风险更加弱势(年龄增长、对市场的敏锐度下降、学历成本带来的经济压力等)。一言以蔽之,还不如考公。

除了考公考研等传统项目,当代市场化职业中,“转码”也是一种“赛博考公”。你做了500道 Leetcode 算法题,便可以中人之姿跻身Google/Microsoft等一流大厂,获得稳定的高薪和社会地位,哪怕这几百道题对真实工作而言毫无意义,亦算是你进入大厂的「投名状」。其付出的时间、精力、沉没成本,虽足以让你获取更有价值、历久弥新的知识,却并无即刻的、现金化的收益。

更何况,在人工智能等技术的加持之下,传统工程师的职业寿命到底能否继续维持下去,这是一个尚无答案的问题。但是,此类职业风险的出现,意味着「大厂工程师」的收益期望被降低了。而这,仅仅是一个开始。

上述「确定性」的存在,为很多人提供了舒适的生活,但,是时候抛弃这些「确定性」了。

我的老读者都知道,我是一直是「不确定性」的拥趸。2015年以政治学本科+互联网运营总监背景裸辞自学编程,在2016年顺利成为初级后端开发工程师,这在当时是一种巨大的不确定性,后来却为我带来了巨大的好处:掌握了工程技能,深入理解计算机系统,也为多年后「润加」做了铺垫。

2019离职,此后两年间家里蹲写公众号。这可能是我风险最高的一段职业经历,因言获罪,得到了警察的「登门认证」,以及百度的「诉讼认证」。同时,我也习得了普通人终生难以获得的技能:大量的法律实践。在与百度长达半年的缠斗中,我学到了很多法律知识以及法律实践(在中国的司法体系中,对法条的理解和对司法的实践,几乎是各占50%的独立知识),也获得了「打官司」这个业余爱好。

2022年再次转职,回归职场,成为字节跳动高级工程师,很快与字节撕逼,凭借过去的自媒体经历和对法律的熟稔,全身而退,开开心心拿钱走人。至此,我清楚自己可能与国内任何一家大厂都水火不容,未来不会再为 BAT 之流贡献任何一行代码、任何一次管理实践。

去年以旅行签入境加拿大,一个月后莫名决定留下,接着在加拿大境内考雅思、申学校、申学签,从毫无准备到尘埃落定,每一步都充满风险,但每一步都带给我巨大的收益。

可以说,我生命中最宝贵的这些经验和收益,全部来自于「风险」。一来,我本人对于「确定性」的实际收益一直报以怀疑态度,二来作为一个风险偏好的个体,我对于「确定性」有一种来自 DNA 的排斥。

在「系统性风险」越来越鲜明的今天,不确定性,实际上是这个世界的主流;确定性,才是一种「例外」。我不觉得对于「确定性」的追求有什么道德劣势,但「追求确定性」这个行为本身最严重的问题,是其存在着手段与目的的二律背反:将身家性命寄托于「确定性」,这本身就是一种高风险行为,而这种会导致高风险的手段,恰恰与「追求确定性和安全性」的目标背道而驰。换言之,你明明想寻求安全,最终却将导向危险。这就是「确定性」最大的逻辑悖论。

既然如此,是时候抛弃「确定性」和「安全」,拥抱「不确定性」和「风险」,拥抱自己的本性。这样,每天都会收获意料之外的命运馈赠。剩下的,交给时间即可。

最近小虎7个多月大,学会了扶站,早于平均速度约2.5个月。我很好奇,为什么他学习的这么快?经过观察,一方面是因为他天生强壮,另一方面,就是他胆子大、敢冒险、不怕磕碰、屡败屡战。简单说,就是他对于“风险”有较高的偏好,对于安安稳稳的“确定性”(例如用躺、坐等安全姿势玩耍)则较为厌恶。反反复复的冒险,让他快速习得了很多实用技能,又进一步加速了学习速度、不断的自我强化。这是小虎示范给我的「不确定性」的优点,看来他未来恐怕也是一个风险偏好者。
Tagged : / / / / / /

成长,就是持续创造价值

我时不时会收到一些小朋友们的私信,问是否招实习生或者「程序员学徒」的,可以不要薪水。我一般回复「没有」,就不再多说什么了。并不是我高冷,而是觉得这样的小朋友恐怕并没有什么潜力值得去挖掘。
这么冷酷的结论,并不是拍脑门想出来的。经历了多次打脸,我最终明白一个道理——如果一个人把「廉价」甚至「不要工资」作为核心竞争力,那么他不仅对自己没有信心,其实也不会有任何主动性去发展自身。他们只期待一个武林高手从一招一式开始教起,像妈妈带娃一样照顾始终,而自己只需负责饭来张口即可,希望在人畜无害的气氛中,无能的成长起来。
显然这是做梦。即便这样一位「程序员学徒」不要工资,其他人为了培养他而投入的巨大精力和时间难道不值钱?武林高手有这个时间干点什么不好,不能去争一争武林至尊吗?为什么要把时间浪费在一个连学习知识技能都需要他人喂食的巨婴身上呢?这些幻想成为「程序员学徒」的小朋友明显算错了数,他们以为「不要工资」是自己的巨大优势,实际上这样的人带来的往往是负价值,对团队和项目都有巨大损害。
举一个我自己的例子。我曾经在一个水平相当低的工程师身上耗费了近半年时间,从 Google 搜索引擎和 stackoverflow 的用法,到代码规范,到 Python 各个标准库的用法,再到各类 Pythonic 代码的写法。之所以耗费这么大精力,是因为我是一个不错的老师,能把很多道理讲的深入浅出(例如我可以在 1 分钟时间里让任意一个无技术背景的人理解金融量化交易引擎的技术原理),经过我的细致培训,他一定有机会成为一个代码细腻而简洁的工程师。
直到被我劝退前,他都一直在用百度搜中文关键词并跳转到 CSDN 上看技术文。
这是什么概念呢?就是一个数学老师教了你半年的二项式展开,最终面对最简单的二项式题,你依然在掰手指数数。
这样的程序员带给同事的往往是噩梦。在他离职之后,我们依然时不时的从他代码中发现骇人的 bug,然而数据已经被污染,重新修正几乎不可能。由他引入的问题,很有可能直到公司破产都不会有人愿意去解决。这样巨大的负担,当年的我如果更成熟一点,是万万不会惹祸上身的。所以现在收到各类的「不要工资」的申请,心里都会默默的想,「你当我是傻子么」。
每个人都渴望成长,但成长不是商品,不是你用「不要工资」就能够换回来的。成长源于你一步一个脚印的学习,在学习过程中,你又创造出了价值。本质上,只有当你持续创造价值的时候,你才会成长;而不是反过来。
如果你技术不好、没公司要你,能否在力所能及的范围内,对开源社区做一点贡献?
如果你技术不好,能否仔细研究业务代码,试着花一个月甚至两个月的时间写一个简单但核心的模块?
如果你技术不好、又想找个老师,能否先帮这个老师做一点事情、哪怕只是帮他写单元测试?
……
可做的事情太多了,简直数都数不过来,而它们的共同点就是——持续创造价值,而不是持续索取关照。
所以,当我们对一件事情有了强烈的渴求时,最好先问问自己,能不能用已有的技能先创造一些价值出来。如果不能,说明你其实并没有那么渴求。那么,请不要再去骚扰那些工作量已经很饱和的工程师了,码农滞销,可怜可怜老乡们吧。

Tagged : / / /

程序员年龄增大后的职业出路是什么?

这篇文章是我在知乎上的的一个回答,讲的略微有点深。另外感觉自己这两年越来越左翼,越来越觉得马克思不愧是20世纪最伟大的思想家之一。

今年 30 了,也开始考虑年龄问题了。
不过虽然 30 岁,但我实际作为程序员、以编程为业,也只是最近两年的事情(关于我的编程职业经历,在这个回答里写的比较详细:知乎用户:自学编程的人,都是怎么找到第一份软件开发工作的?)。因此对编程这个职业的理解,可能还不如一些 90 后小朋友深,写的不对的地方贻笑大方,请见谅了。

注:以下叙述,不局限于程序员,实际上包含所有职业。

中国的程序员在市场中的地位,不客气的说,随便翻开《1844经济学哲学手稿》里描写产业工人的段落,把这些一百年前的论断放到程序员身上,都言之凿凿:
例如:关于程序员的先进生产力与其对应的可怜回报

「的确,今天由于有了新的动力和完善的机器,棉纺织场的一个工人往往可以完成早先 100 甚至 250-350 个工人的工作。在一切生产部门中都有类似的结果,因为外部自然力日益被用来加入〔X〕人类劳动。如果说为了满足一定量的物质需要必须耗费的时间和人力比现在比过去减少了一半,那末,与此同时,在不损害物质福利的情况下,给精神创造和精神享受提供的余暇也就增加一臂。但是,在我们甚至从老克伦纳士自己领域中夺得的虏获物的分配方面,仍然取决于像掷骰子那样盲目的、不公正的偶然性。法国人有计算过,在目前生产状况下,每个有劳动能力的人平均每日劳动五小时,就足以满足社会的一切物质利益……尽管因机器改进而节省了时间,工厂中奴隶劳动的时间对多数居民说来却有增无已。」

例如:关于「越工作越贫穷」这一现象的分析

「工人生产的财富越多,他的产品力量和数量越大,他就越贫穷。工人创造的产品越多,他就变成廉价的商品。物的世界的增值同人的世界的贬值成正比.劳动不仅生产商品,它还生产作为商品的劳动自身和工人,而且是按它一般生产商品的比例生产的。」

例如:关于程序员异化为程序的奴隶

「因此,工人在这两方面成为自己的对象的奴隶:首先,他得到劳动的对象,也就是得到工作:其此,他得到生存资料。因而,他首先是作为工人,其次作为肉体的主体,才能够生存。这种奴隶状态的顶点就是:他只有作为工人才能维持作为肉体的主体的生存,并且只有作为肉体的主体才能是工人。」

以上,并不是呼吁大家都去读马克思,我也无意挑起关于马克思的政治经济学的争论(也希望大家尊重题主和读者们,不要做跑题辩论),只是希望各位静下心来想一想,我们和百多年前的纺织工人的区别,到底是什么?
伴随一个产业工人或程序员的老去,不可避免的是工作时长与强度的降低、工资的刚性提升(正常来说只能升不能降)、对家庭福利需求的增高(例如需要公司为家人购买保险)等等。而普通工人(程序员)的工作效率增长速度一旦无法达到其福利需求的增长速度,在公司里即成为累赘。换句话说,辞退你、换新人,对公司有很大好处,而这对资方来说是一个巨大的诱惑。
多亏劳动法和近二十年来的互联网产业红利,程序员的处境已经远远优于当年的工人,不用时刻担心被辞退,但是当到达了一定年龄后,大多数程序员的个人价值已到峰值,收入封顶,但生活压力却越来越重。这是「年龄-收入」的悲剧冲突核心,也是大量程序员夙夜忧叹的唯一原因。
而这种悲剧,集中式的出现在中国,其直接表现就是程序员的薪酬过低(例如在美国,普通工程师拿个十几万刀的 package 并不算天方夜谭,这种问题也就并不严重。)。
所以程序员老了怎么办?唯一靠谱的解答,就是脱离自己的产业工人身份,直面残酷的市场食物链,尽一切可能向上爬,脱离这个「产业工人诅咒」。
那么程序员以上的食物链有哪些?最直接的就是技术管理层、公司中高层,再次是资本方,最后是权力方。故而其方法也分外直接:要么争做管理层并获取股份、股权激励等非劳动收入,要么以资本进行投资、让别人为你打工,要么当个省委副书记、起码乡镇干部之类(这一条过于奇幻,当做笑话吧)。
但凡符合上述逻辑的职业规划,都是靠谱的,区别仅在于风险大小。
至于计算机领域的、乃至其他各行各业的技术专家,这是一类我非常崇敬和羡慕的人群,他们往往已经获得了超额收益,故而不在我上述论证范围内。我所说的一切,仅仅针对你我这样的普通职员。
所以,程序员们,不要为自己掌握先进的知识而沾沾自喜,这个世界并不属于知识劳动者,所有利润最终将归属资本和权力……
……和猫。

Tagged : / / /