本文内容来自:https://www.yuque.com/loonggg/xzgdvy/uff77k

    我是做技术出身的,当了 8 年的程序员,以我当程序员的经历和经验来看,我认为:迭代是一种稀缺能力。

    我做开发的时候,就特别喜欢做新项目,特别喜欢开发新功能。

    好像程序员都特别讨厌去维护项目,去修改 bug ,总感觉看老代码,看祖传代码是一种难以忍受的痛苦。

    在我们 IT 界当中流行着这么一句话:祖传代码是屎山。

    你看,祖传代码被称为屎山,可见在技术人心中有多么的讨厌祖传代码。

    有人说:我只是讨厌别人写的祖传代码。其实,我发现,不然,即使是自己写的老代码,很多人也都不愿意看。

    我做技术的时候,当然也是这种想法。

    其实,这就是缺乏迭代能力的表现。

    其实,相比于开发新项目,新功能,去修改祖传代码,去维护老项目,去修改 bug 等更考验人。

    因为在老项目当中,在你原来写的项目当中,出现了 bug ,出现了问题,说明你之前写的有问题,你只有找到了问题,并解决了它,你下次才不会犯这种错误。

    这就是迭代能力,我认为复盘其实就是迭代能力的一种。

    什么是迭代能力呢?迭代能力就是以复盘为前提的刻意练习。

    维护祖传代码,修改老项目的 bug ,就是你在复盘查找问题,当你不断的在修复老项目当中的 bug 时,你就是不断地在刻意练习自己的技术,积累有效且有价值的经验。

    这是对一个人能力增长最重要的方式,没有之一。

    假如,你一直在做新项目,不去维护和修改老项目当中的问题,你就不会发现问题,你在新项目当中可能还会沿用之前做项目的技术和经验,新项目可能会同样出现老项目的问题。

    为什么人总是喜欢做新项目,不喜欢维护老项目呢?原因就是做新项目,有一种轻客熟路的感觉,在利用既有的经验和技术,是一种简单的重复。

    而维护祖传代码和老项目呢?是一种复杂的纠错,是在迭代,是刻意练习,是一种困难的行为。

    相比于困难,人总是喜欢简单,喜欢捡软柿子捏。(大脑在面对高强度信息环境时表现出来的三点不足

    代码即人生。

    代码是这样,人生亦是如此。

    人不喜欢复盘和反思,就是因为它是一种刻意练习,不愿意面对自己的问题和过错,那人就很难迭代自己,就无法让自己的能力得到质的提升。

    当你缺乏迭代能力的时候,你所做的事情,就两个特点:简单和简单的重复。

    当你养成了迭代能力的时候,你就会发现,好的迭代就像巴菲特所说,能够形成复利,像滚雪球一样,一路往前冲。

    迭代能力之所以稀缺,是因为它不易。它隐藏了以下几个特点:

    1. 复盘,思考是一件费脑子的事情;
    2. 刻意练习,人不喜欢有难度的重复;
    3. 求是,因为求是是需要勇气的,要面对自己的问题。

    所以,要想让一个人拥有迭代的能力,就需要 TA 有「求是」的勇气,外加以「复盘」为前提的「刻意练习」。