人生的乐趣不就在于不努力吗?

这个网站是构建在 linode 上的,一直在花钱,有了公众号之后更新越来越少,还是用起来吧,否则钱白花了。

事实也是如此,看看身边的人,掰着手指头算算,喜欢阅读长文章的,也就是十分之一,加上过年,这人就更少了。电影电视长短视频播客直播等等,时间瓜分的七七八八,再加上吃吃喝喝聚聚,留个阅读的时间估计更少了。我也难得清闲,趁这个长假停下来陪陪家人,读读书、逛逛街、看看电影、拍拍照片,也挺好的。

每次过完大年,才会觉得这一年彻底过去了,为什么说大年呢?因为元旦啊、小年啊,都没这么大啊。中国人自己的春节,从某种意义上来说,这个年过完了,新的一年才能开始。也就是说,非常诡异的 2020 年终于离我们而去了。

2021 年终于来了,牛年来了,对吧,这是不是个牛市呢?我不知道,但是诡异的 2020 年却是个牛市。

去年一年,我自己经历了很多的事情,这个世界也经历了很多事情,很多人走了,很多事情就那样毫无征兆的发生了。我也很困惑,就不知道这个世界怎么了。剧变引发思考,然后你去探究自己的内心,你会想,这是我想过的生活吗?这是我理想中的生活吗?

回顾去年,自己也做了很多的事情,比如创作输出,比如公司的业务和产品,和爱人、亲人朋友一起经历了很多,但好像又没有做什么,特别恍惚。

我过上了自己理想的生活了吗?可能过上了一小部分,但我还有很多的理想没实现,我上次讲到的天花板还没有到,我还想去做更多的事情。人在这个世界上非常容易随波逐流,就是像一个高速的列车,你很难去控制自己,我记得高晓松在晓年鉴里说过,这些年来,脑子里一直有个小火苗,一会大火一会小火,就没灭过,脑子一直是个咕嘟的状态。终于,2011 年因为酒驾进去半年,彻底熄火冷却,开始停下来思考。

昨天读那本《香帅财富报告》,分析的很好,但你会发现,人们总是被房子,车子,金钱,财富,上市,投资等等,驱动着往前去走。其实人的一生真的是非常短暂,无论是挣钱也好,工作也罢,为了生存,为了生活,为了做你真正想做的事情。

永远没有完全的自由,我有个好朋友说过,我的生活态度就是,在有限的时空里,寻找生命的自由。这个态度就挺好的,时间成熟一点,就赶紧去做,不要等,一等,时间就没有了。

前一阵音乐人赵英俊去世了,可能很多人知道《送你一朵小红花》,不知道这首歌的作者就是赵英俊。其实赵英俊创作了很多脍炙人口的歌曲,比如《世界上不存在的歌》《清风徐来》《大王叫我来巡山》等等。《送你一朵小红花》是一部抗癌电影,也是同名主题曲。而赵英俊也是因为癌症去世的,年仅 43 岁,非常年轻。

我读了他的遗书,非常乐观和坚强的一个人,但他也会有遗憾,比如说很多地方还没有去过,很多吃的没有吃过,爱的人还没有爱过……但他又觉得自己很庆幸,在这个时代经历了很多,做了自己喜欢的事情,有自己的作品,有那么多朋友,写出了很多的东西,有那么多人喜欢并记住了他的作品,能在一段时间被人们记住,我觉得这也是一种人生啊,或者说,这是一种不朽。

过年期间做个几次直播,就当相互陪伴了。期间总会有观众问,怎么才能成功。我觉得成功这事太虚幻了,不宜执念。做成一件事,运气这个成分真的是非常非常重要。

一命二运三风水,命就是个人素质,运就是运气,风水就是环境,时间和空间。优秀的个人素质加上你在正确的时间和地点做了正确的事情,你也不一定能成功,你还需要一点运气。

所以,得之我幸,失之我命,如此而已。

最后还是落个俗套,引用李海鹏在《佛祖在一号线》里的一段话:

全中国的城市都变得千篇一律了,不过我还是有机会到过的几个不错的小城市,曾经置身于几个安静的街区之间。它们的共同之处在于有大片被树阴覆盖的小房子,有简单干净的道路和懒惰的人民。我以为这才是好的生活,而我们自己居住在北京的高楼林立、阳光赤裸的楼盘里,实在是再糟糕不过的日子。关于当下的中国人的生活,学者们有个说法叫“成功动机过剩”,我深以为然。我们都像是同一列火车的乘客,这火车的司炉工拼命加煤,因为我们想开到月亮上去。

老想着成功干嘛呀?就好像我们的智力不足以应付不追求成功的生活似的。

在我看来,这世界上最痛苦的生活莫过于某人娶个日本老婆,因为早上你上班的时候她会在你屁股后头鞠上一躬:“李桑,努力工作!”我努力不努力干你屁事?人生的乐趣不就在于不努力吗?

我不想开到月亮上去,在地球上欣赏月光,就是最美好的事。

70 后都跑哪去了?

过年后回到公司上班,有人入职有人离职,影影绰绰的一个念头出现在我呆滞的脑海里:公司是不是就剩一个 70 后了啊,想到这里后脊梁的汗毛竖了竖,跟蜘蛛侠似的。于是翻了翻 HR 系统,嗯,残酷的真相只有一个,是的。

遥想我在洪恩工作的时候,还是个花骨朵,青春年少,持剑四顾,眉宇苍茫,身边全是 20 出头的 70 后小哥哥小姐姐。后来在用友软件园工作,慢慢混进了总裁扩大会,发现总裁副总裁,都一水的 60 后,我是最年轻的。后来去了锤子,每周的管理会,一半是 70 后,咱也不显山不露水。直到扯了队伍做极客时间,终于,这一天到来了,我成了公司里年龄最大的一个。好在那时候公司有两个 70 后,后来泰稳也长大了,40 岁以上的有三个人了,我慢慢松了口气。

结果春节转过来,我们的 70 后同事离职了,咔,退休。转身离开,风中尘埃。

今天在我的「四个老人群」里打探了一下,情况类似。我把这事告诉了二爷,二爷蛋蛋的说,嗯,阿里的 CEO 逍遥子、CTO 鲁肃,蚂蚁金服的孙权,也都是 70 后。

那除了这些呢?
那就是你们这些了呗。

看来,二爷已经准备改名为「二·聊天死斯基·爷」。即便如此,我的灵魂追问也没有停止:除了这些牛逼顿们,和健在的我们,其他的 70 后都跑哪去了呢?当年那些代码敲的山响,使用过 JDK 1.4 和 HTML4 的一代技术人,都去哪了?

于是我在各个社交媒体调研了一圈,发现一帮 70 后在大公司,一帮人转行了,一帮人做区块链炒币去了,少数人在创业,还有退休的,回老家的。除了创始人,创业小公司里的 70 后越来越少了。一代代的人崛起又沉寂,让我想起今何在的那句话:

落叶飘向大地,白雪下种子沉睡,花开了又迅速枯萎。在流转的光影中,星图变化,草木和人四十年的荣枯,一代代的迎风挺立。

事实上,超过 40 岁的互联网员工并不多,我们那一拨做 IT 和编程的人非常少,你想想,如果你研究生毕业,到现在 40 岁,你就得工作 15 年。一个人在 15 年前进入互联网行业,15 年前有几个互联网公司呢?这样的人本来就挺少的。

随着时间的推移,这些人不断消散、分流,淹没在人潮人海中,有的成为大公司高管,有的继续留在大公司深耕技术,有的开始负责业务,有的则去创业了,早期创业公司的核心团队其实吸纳了不少老员工,结果这些创业公司大部分都倒掉了,人再次分流。还有的人去了非典型的互联网公司,比如星巴克、瑞幸咖啡、医疗公司,也就是那些产业和互联网融合的行业,还有的人离开了一线城市,下沉找到了更大的市场。

大量的年轻人不停的涌入这个增量市场。我想很快这种情况就轮到 80 后了,因为最早的 80 后都 41 岁了。

岁数大了,我们选择依然热爱生活。

前几天听高晓松的《晓年鉴》,讲他 40 岁那一年,四十不惑。年轻的时候有纵横四海改造世界的梦想,年少时有热烈的爱情,无数次弹琴喝酒痛哭流涕,觉得今生装了很多东西在心里,老了以后怎么办呢?等到四十了,所有担心都烟消云散了,有的忘了,有些刻骨铭心,但如同《夜航西飞》,成了别人的故事和记忆。四十岁之前经常觉得这个造物主有问题,造的人多愁善感,造的人敏感,造的人欲壑难填,造的人有各种各样的毛病。结果中年之后,人平和了,欲望也少了,也慈祥了…

听完觉得不对啊,我好像是反的。年轻的时候只顾写写代码,做做项目,完全沉浸在技术世界里,脑子里还是数理化和一技之长的思维,外面风起云涌,我自巍然不动,什么焦虑啊危机啊,全然不知。然后成家立业,生活平平稳稳,像是早早进入了修行的生活。直到四十岁之后,人生才进入大江大河,大起大落,赚钱亏钱,创业写作,带团队做产品,遇到各种或者优秀或者奇葩的人,看到美好和炽热的生活。

我是不是过反了呢?也许是个逆行者吧。

事实上,我本身也更欣赏那些常年孜孜以求、持续输出成果并不断自我更新的人。比如我常常提及的日本作家村上春树。村上先生在 30 岁之前是摆摊的,经营一个小酒馆。30岁之后,他终于找到了自己的「特质」,关掉店铺开始写作,一写就是四十年,笔耕不辍。多少文坛俊杰都已经封笔享受作品与名誉带来的闲散生活,村上先生依然在勤奋的创作小说和随笔。最近他的作品是长篇《杀死骑士团长》,首发就是130万册,最新随笔《弃猫》,讲的是他父亲的故事。

村上春树已经 72 了,可能是最高产的「老年作家」,他有危机么?有危机也是老年危机。那得是多老的危机呀。

我也老了,但还没那么老,对比村上,我还年轻着哩。

唯有继续前行,继续热爱这个世界。

你老了

伴随着世界经济浪潮和格局的改变,我司人员超过 40 岁的人数与年俱增,已经突破了 3 人大关。

现在,大家出差吃饭聊天喝两口的时候,总会一边嚼着花生毛豆,一边兜兜转转,聊到年龄这个话题,而我作为公司的最高龄从业者,主要责任就是装出一副倍感压力的样子,说点自己不开心的事情,让大家开心一下。

比如,你20 多岁的时候,觉得无所不可为。30 岁了依然一事无成,这时候想想马云 30 多岁还在当英语老师就释然了。40 的时候开始有点恐慌,但任正非也是四十多才创办的华为,心情也就明朗多了。等过了 45 岁,实在找不到更大的大器晚成者了,那姜子牙就是自己最后的心里防线。

人都会老,我自己倒没觉得年龄是回事。

我在用友集团的时候,公司总裁会里,我最小,30 啷当岁,青春年少持剑四顾眉宇苍茫。到了锤子科技,管理团队里年龄比我大的也多的是。老罗说,这个世界牢牢的掌握在 40 岁以上人的手中。我觉得老罗说得对。直到我开始在极客邦创业,做极客时间,有一天我突然发现,自己成了公司里年纪最大的那个人。

嗯,就是加入公司的第一天。

本来公司里年龄排名前三的人已经开始惶惶不可终日,谁都不好意思提年龄这回事。我来了,一切都变了,天塌下来,年龄大的人扛着。

我记得有一次姜文接受采访,主持人问,你怕老吗?姜文说,我怕老婆,但不怕老。老有什么可怕的啊,是个人就会老,好好经历当下就行了,什么岁数做什么事情。大家都年轻过,你们老过吗?

态度就是这么个态度。

40 以后,不惑是不可能的,恐慌是与日俱增的。四十不惑,说得不是你想明白了,而是你想不明白的,可能就想不明白了,生日变成另一种仪式,它严肃的告诉你,同学,不要有任何幻想了,接受这个现实,你已经不再年轻了。再卖萌也改变不了这个事实。

人们总会长大,成熟,衰老,一如万事万物。今何在说,人从一出生开始,就踏上了自己的西游路,一路向西,到了尽头,就是虚无,人就没了。所有人都不可避免要奔向那个归宿,你没办法选择,没办法回头。

小时候,我们都以为自己是世界的中心,万事万物都是围绕着自己转的,等有一天你进入幼儿园发现了那么多陌生人和其他世界的中心,然后抓住校门的铁栏杆咣咣拍打放我出去的时候,你就终于开始触碰残酷的真相,你开始成长了。一旦成长,我们又会碰到各种各样的边界,有的可以突破,有的突破了反而是错。在成长的过程中,我们会觉得自己无所不知,世界太小。随后,我们知道越来越多了,懂的反而越少了,世界的边界开始无限制的放大,天、地、人、事,纷至沓来……

咣,突然有一天,你人到中年了。睡到半夜惊醒,擦擦一脑门的冷汗,午夜惊醒,问自己,年轻时候的理想去哪了,实现了吗?你开始吟唱「梦回唐朝」:

风 吹不散长恨
花 染不透乡愁
雪 映不出山河
月 圆不了古梦
沿着掌纹烙着宿命
今宵酒醒无梦
沿着宿命走入迷思
梦里回到唐朝

每个人年轻时都雄心壮志,我们总想去追求什么,去突破什么,去找寻什么。我们心怀梦想,踏马江湖,拔剑四顾,我们追寻白色领口齐肩长发的姑娘……万一禅关砉然破,美人如玉剑如虹。结果我们收获了什么呢?功名利禄?「似乎不论如何去苦苦追求,总有一些你必须放弃,总有一些你只能怀念,还有一些永远在梦想中。我们永远在计算成败、取舍与得失,却没有人找到正确的答案」。

有些人走着走着就散了,有些人开始不要脸了,江湖、剑、姑娘,渐行渐远……但是,依然有些人愿意留下来,试图去改变某些东西,因为他们还在路上。

人类进化到今天,心理年龄和生理年龄都有了很大的改变。我的上一辈,年龄达到四五十的时候,无论是心理还是身体,都已经开始苍老,现在呢,成龙大哥六十多了还在演动作片,刘天王五十多了还在演小伙子,和我同一个时代的很多优秀的技术产品人,都在创业第一线。至于更多的七零后和八零后,比如才华横溢的二爷,他经常说:我还是个孩子。

我说,你的俩娃才是孩子好嘛。

这样一批人,可能不会再有退休,不再有解甲归田,大家会精力充沛的工作到70岁,甚至80岁。只要我还有笔和键盘,谁都拦不住我。

人一辈子要「工作」多少年呢?也许就是一辈子。

你跳不出这个世界,是因为你不知道这个世界有多大,一旦你知道了,你就超出了它。

年龄也是如此。

张小龙 的 22 年和微信的 8 年

今天中午看到一篇文章,张小龙22年,讲的是张小龙从做 Foxmail 一直到微信 2019 的事情,写得挺好。虽然很多东西我都知道和听过,甚至和张小龙交流过,但每次看到他和微信的故事,总是让人很激动。

张小龙从 90 年代的程序员一直到微信 2019,经历了整个互联网的发展。微信则创立八年多,成为国民产品,几乎代表了整个中国移动互联网的一个侧面。这篇文章的文末还提供了一个石墨链接,罗列了作者的参考资料,极大丰富,值得大家读读。

https://shimo.im/docs/whkrJWcykkTwYDKW

做一个好产品非常难,做个伟大的产品,简直难于上青天。谁不想把产品做大呢?很多产品规模小或者最终死掉,那都是人和组织的能力不够,没有人愿意把应用做小。张小龙在文中这么说:

「其实,任何产品如果能够做大(这个意味着它有更多的用户或者平台化),那么它一定不会放弃这样的机会。所以,我们看到很多小众的产品,是因为注定它的市场就是小众的、或者它不能做大,并不是故意想要做小,没有人愿意把应用做小。所以“小而美”会存在,有些人并没有这么多资源去做很大众化的通用的产品,它在某个领域里面去做,形态上看是小而美。

但是,如果微信我们不做成平台化、不做大,那我们就会死掉。因为你本身是个通讯工具,你必须要大,这时候大而全就是美的,否则它是病态的。并不是一定说小就美了,大就不美了,不是这样子的。」

我们做了两年产品,用户做到了百万级别,收入到了亿的规模,对比从前,进步不小,但整体上看,我们还是很小。想不想做大?当然想,但是一方面需要资源,一方面需要能力,而这些都需要时间。我们只能持续的探索,各种尝试,品味失败,偶尔体验小小的成功,然后继续艰难向前。

我们是学不了微信的,阿里、腾讯和华为的东西,都挺好,但不是我们东西,我们可以拿一点进来实验,但最终我们要拿出自己的东西。就像酿酒,你不能一直喝葡萄汁,也不能兑水,最终得是一杯美酒。

有时候做产品,真的是非常孤独。

有意瞄准,无意击发

MacTalk-L1000217 7:14:2018

今天的题目估计很多经历过大学军训、打过步枪的读者都不陌生。你五体投地趴在地上,怀里揣着步枪,哆哩哆嗦压上子弹,打开保险,近视眼镜和眼镜后面的眼珠都闪烁着捉摸不定的光。这时候你的教练悄悄的凑过来在你耳边低语:有意瞄准,无意击发。嗯,就这句话。

什么意思呢?射击的时候,要把你的武器、身体、注意力都指向目标,全神贯注的瞄准,至于什么时候扣动扳机,不知道,这个是无意识行为,也许是某个小小的因素,让你无意间扣动了扳机,可能是风吹草动,可能是心流涌动,子弹就射出去了,能否击中目标,也是未知之数。

最近做产品,就有这种感触。

以前听吴军老师的专栏,他说到了自己出书的事。吴军老师是个科学家、计算机工作者、投资者,也是个高产高质的作者,他写的书又多又好,还不限于某个专业领域,叫好叫座,在 IT 圈子里,可以说无出其右。不过,好的东西放一起,也有个比较。在吴军眼中,他最钟意也是花费了最多心血的两本书,一本是浪潮之巅,一本是文明之光,但受欢迎程度和销量最好的,却是数学之美和智能时代。这四本书,数学之美最随意,原本就是谷歌黑板报的连载,最后重新整理成书,反而最受欢迎。吴军老师说,每次都试图用心做到最好,但最终「无意击发」,你并不知道哪本书最受欢迎,市场和时间才是最好的验证者。

拍电影也是一样,很少人像韩寒这样,第一次拍电影就几个亿票房,拍了三部,居然一部比一比票房好,也算是奇迹。大导演姜文当年拍太阳照常升起,没人看懂,叫好不叫座。转手拍了让子弹飞,说是翻身了吧,站着把钱挣了,但是信心满满的邪不压正(2018),票房还不如让子弹飞(2010 票房冠军),八年过去了,让子弹飞了八年,但你依然不知道它是否命中了目标。

姜文这样的导演,拍电影像酿酒,每一部都想做到最好,都是自己的孩子,但在每一部电影上映之前,你永远不知道这个电影的票房和口碑会是个什么走势。但是,你必须要瞄准、击发,然后等待下一次瞄准的机会。

无论是发布极客时间的专栏和课程,还是研发极客时间的功能特征,都是这种心情,我们总想把功能、内容做到最好再给大家,但有时候必须要瞄准、击发,是骡子是马,得拉出来遛遛。

看专栏的订阅量也很有意思,有些我们非常看好的课程,并没有很大体量。有些专栏呢,当时没觉得能火,一点点长销和口碑效应起来,反而有三四万的订阅量。

以前专栏上新,大家都会做个预测,哪个能火,订阅多少,后来越来越没把握,受众不同,领域不同,时机不同,运营不同,完全难以捉摸。怎么办?有意瞄准,无意击发,努力把手头的事情做到平衡,做到最好,然后等待命运的裁决,让用户去为产品打分吧。

作家阿尔贝·加缪说的:对未来最大的慷慨,是把一切献给现在。我要说,把好的内容传递给终端用户,就是极客时间的职责,至于哪个会火,哪个最有价值,这个需要用户说了才算。

优秀程序员的九种素质

MacTalk-“L1010186”的副本 3:5:2019

打开这个博客,发现今年还没有一篇文章,那就写一篇吧。

上周看到一篇文章,大意是阿里云源代码泄露,涉及多少家企业云云,看起来耸人听闻,点进去发现是有企业在使用阿里云做代码托管的时候,private internal 和 public 傻傻分不清,创建仓库用了 internal,结果只要是登录用户都可以看到并 clone 这些代码。事实上,这三个设置不仅是惯例,internel 的注释也写的清清楚楚,但是挡不住程序员不看。你永远不知道一个人的水准会低到什么地步,也许这些人从来没用过 GitHub 和 GitLab 呢?

阿里云其实可以采用安全最小化原则,也就是常说的多一事不如少一事。最小化可用原则,对于操作系统来说,就是装最小化的包,没用的服务不启动,操作命令最小化,权限最小化等等。对于阿里云上的托管用户来说,internal 应该是个可有可无的功能,去掉是不是更好呢,也许值得平台方思考。

永远不要高估用户的聪明程度。

本周我们上线了一款基础课专栏《软件工程之美》,最新的文章中阐述了软件过程和软件危机:

软件是怎么被创造出来的?

首先,它们的诞生都是有人想要造一个东西。这其中的很多故事你都耳熟能详:张小龙创造微信、乔布斯创造 iOS、暴雪想做一款不一样的射击游戏……他们首先有着这样的意图,然后,他们立项做这样的产品。

每一款软件项目背后,都有很多人在参与。你无法想象微信这样复杂的 App 靠张小龙自己可以开发出来;你也不会相信 iOS 是乔布斯一个人设计出来的;像守望先锋这种游戏的背后,有成百上千的游戏策划、美术设计、程序开发人员。

从立项到第一个版本的发布,每个成功的软件都需要有计划、有步骤地进行,什么时候发布第一个版本、第一个版本有什么样的功能、什么时候发布第二个版本、第二个版本有哪些地方要改进,这些都是研发过程中需要考虑的问题。

比如,守望先锋是在 2013 年立项,他们计划做一个基于职业的 MMO 游戏,他们先花了几个月的时间做了第一个 Demo 演示,只有四个英雄和一个张地图。

然后,他们要在 2014 年的“暴雪嘉年华”发布这个游戏的试玩版,包含 12 个英雄和 4 张地图。

最终这个游戏在 2016 年 5 月正式发布了。这样从立项一步步到最终发布,历时三年,中间经过了诸多环节。

类似的例子还有微信,2010 年 11 月 20 日立项,2011 年 1 月 21 日第一版上线,当时的功能还非常简陋,只能发送文本消息和照片。之后才是一个个版本的迭代,直到你现在看到的微信。

像这种有人参与、有计划、有步骤地造一件产品,我们通常称为「工程」。

那什么是软件危机呢?有兴趣可以订阅专栏阅读。软件工程是你通向程序之巅的必经之路。

http://gk.link/a/102ij

周末读村上的书,他说自己能够持续写作和跑步,就是因为具备两个特质,一个是集中力,一个是耐力。村上写长篇的时候每天早晨集中写作四小时,他一个人坐在书桌前,没有任何打扰,将意识集中倾斜在书稿中,其他什么都不考虑。另外,没有耐力也不行。你集中写了一星期然后伸伸懒腰说,我累了,然后就休息一个月,这样是写不成长篇的。你必须每天集中写作,坚持半年,一年,甚至更长才行。

一个优秀的程序员需要什么特质呢?由此我想到之前读过的一篇文章,是 Redis 之父萨尔瓦托·桑菲利普(Salvatore Sanfilippo)写的 9 种高能程序员的特质,重新意译一下,推荐给读者:

1、高效完成子任务

从处理编程子任务上,可以看出一个程序员的短板和长处,比如实现一个函数或者一个算法。事实上,擅于使用基本的编程技能来高效完成任务的程序员,并没有人们想象的那么多。有时候,团队里有些不称职的程序员,他们甚至不知道该怎么写一个简单的排序算法。

2、合理使用自己的经验

桑菲利普认为,经验就是一系列解决方案,它们已经被证实可以用于处理一些重复性的任务。经验老道的程序员知道该如何处理各种子任务,这样不但省掉了很多设计工作,而且避免了很多设计错误,而设计错误是简洁性最大的敌人。

3、准确预测工期

花在编码上的时间不仅要看数量,也要看质量。造成注意力不集中的因素既有内部的,也有外部的。集中注意力和避免被打扰,对于提高编程效率来说是至关重要的。

4、设计权衡:用 5% 换取 90%

项目的「非根本性」目标在很大程度上导致了设计的复杂性,或者导致无法达成其他更重要的目标,因为根本性功能和非根本性功能在设计上存在竞争关系。如果意识不到这点,复杂性就会随之而来。对于设计者来说,如果项目要最大化产出,就要把精力集中在重要的事情上,并在合理的时间内完成。

5、简洁性

简洁性是成败之间最为明显的分界点,理解复杂性的产生过程有助于理解什么是简洁性。不愿意做出设计权衡和设计错误的累积是导致复杂性的两个主要因素。我在第一点里讲的 Internal 其实是提高了复杂度导致用户选择错误。

6、拒绝完美主义(为了偏袒设计而放弃生产力)

完美主义可以分为两种:一种是追求程序极致性能的工程文化,另一种是个人特质。不管是哪一种完美主义,它们都会对程序员实现快速交付造成阻碍。完美主义和对外部评判的恐惧会导致设计上的偏袒,程序员根据主观的心理因素和无关紧要的衡量参数做出设计决策,却忽略了健壮性、简洁性和及时交付。

我曾经服务过的一家公司就犯了这种错误。当然,错误不止于此。

7、理解知识理论的价值

在处理复杂任务时,具备一些理论方面的知识会对设计产生重要影响,比如数据结构方面的知识、了解计算能力的局限性和一些重要的算法。虽然程序员没有必要成为无所不知的超级专家,但是至少要知道一些问题的潜在解决方案,避免设计出复杂、缓慢、低内存效能的解决方案。

8、理解机器原理

程序的很多问题都是源于对计算机工作原理的误解,即使是使用高级语言开发的程序也不外乎如此。这种情况可能导致一个项目需要重新设计和实现,因为项目所使用的工具和算法出现了根本性的错误。

7 和 8 说的道理差不多,这也是极客时间会连续推出数学、算法、数据结构、网络协议、软件工程等课程的原因,后面还有架构设计、操作系统、编译原理等等。

9、调试技能

查找和解决 bug 经常会占用程序员大量的时间。查找引起 bug 的问题根源,在合理的步骤内修复 bug,以简单的方式编写包含较少 bug 的代码,对于程序员来说,做到这几点就可以显著提升效率。

能否运用调试技能快速解决问题是衡量一个程序员水平的重要标准。

你具备这些特质嘛?我觉得村上说的没错,程序员同时还需要集中力和耐力。