[note]拆掉思维里的墙


1 书籍相关情况
作者:古典

新精英生涯总裁、美国生涯教练国际认证CBCC中国首席导师、GCDF全球职业规划师培训师……大学就读土木工程,玩乐队,练散打,骑单车从长沙流浪到北京。想出国却稀里糊涂进入新东方,历任GRE首席词汇讲师、集团培训师,新东方教育与职业发展协会会长。“从绝望中寻找希望,人生终将辉煌!这是我当年被新东方吸引的原因。但今天的青年,他们不绝望,更多是迷茫。人生终将辉煌,但哪一种是他们的辉煌?我的回答是:成长,长成为自己的样子!” 2007年,创办新精英生涯,希望帮助30%的青年人,成长,长成为自己的样子。古典的博客:http://blog.sina.com.cn/gudian

2 一个人无法进步的原因是因为他/他身处虚幻的安全感
  • 从职业发展来看,一套房子毁掉一个梦想
  • 当代有为青年的必杀技
    • 必杀技一:有过于关心你的父母
    • 必杀技二:永不犯错的任务
    • 必杀技三:养老般的工作
  • 外物是无法掌控的,而我们又无比依赖这些东西
  • 不相信自己,又随时害怕失去。我们终被奴役,成为安全感的奴隶
2.1 提升自己安全感的方法
  • 在安全的环境,小范围的冒一冒险
  • 远离那些太容易获得的安全感
  • 珍爱生命,远离恐惧
  • 做一个恐惧保险箱
    • 把你最恐惧的事情仔细写在一张纸上
    • 找一个信任的人,或一个安全的地方,做你的恐惧保险箱
    • 告诉自己,我担心的事情有可能发生,但是我要去做我自己的事情,所以我要先把我的恐惧存在这里!
    • 这个时候你会觉得心里舒服多了,然后大胆去做吧!
    • 回到你的保险箱,看看有多少担心发生了,有多少没有?
  • 做成功日志,你就成为牛人
  • 面对恐惧,触底反弹
    • 恐惧有三个层次
      • 恐惧事情本身
      • 恐惧是害怕失去背后的价值
      • 觉得/害怕自己没有能力去应对这个失去
    • 必问自己的两个触底反弹问题
      • 如果我失败了,新来代替我的那个家伙,他会怎么办?
      • 既然这样,为什么我们不这样去做呢?
2.2 真正的安全感:不是从别人身上要什么,而是内心深处,一种被需要的感觉

If you’re hurting, you need to help somebody ease their hurt. If you’re in pain, help somebody else’s pain. And when you’re in a mess, you get your self out of the mess helping somebody of theirs.

如果你受了伤,你要帮助他人减轻伤痛。如果你感到痛苦,你要帮助别人减轻痛苦。如果你的生活一团糟,让自己去帮助其他处在困境中的人摆脱困境。 ——奥普拉(美)

3 恐惧会让人变得无趣
  • 无趣之人,往往是无胆之人
    • 害怕未知的结果
    • 对生命缺乏投入
  • 乐趣来源于全情投入,而不是投入后的结果,正是因为这样,乐趣可以是无条件的
4 不正确的心智模式
  • 心智模式:我们看到的是自己想看到的世界
    • 例子1:英格兰大学的乱序文字
  • 心智模式能影响我们的命运
    • 例子2:1954年的以前人们认为四分钟跑一公里是人体速度的极限。然而这个记录,被班尼斯特打破,记录是3分59.4秒。
    • 例子3:Annie想被关爱,那就生病的现象
    • 例子4:有钱人的不快乐公式
      • 希望幸福->赚钱->获得幸福->希望幸福
      • 不幸福->赚钱->更加远离幸福->更加努力赚钱
    • 例子5:受害者模式
      • 受害者模式
        • 第一法则:推卸责任、保住面子
        • 第二法则:安心做坏事
          • 卡耐基发现辛辛监狱里的犯人从不认为自己做了坏事
          • 因为他们认为自己是受害者,因此…
        • 第三法则:让我们一起分享《凄惨故事会》
        • 第四法则:用受害来轻松获得同情和帮助
        • 第五法则:自我伤害,绑架他人
  • 所以,要幸福,请拆掉思维里的墙!

很早就听说过这本书,但一直也没有买书来看,因为觉得这类书我已经看得够多的了,不需要再买一本来看(虽然说没事喝点鸡汤可以调节一下情绪,但自己也十分清楚要想获得成功仅靠情绪的调节是没有什么实际意义的,一切都得靠脚踏实地的去努力争取、实际去做,而不只是想,虽然提前规划是有好处的)。而且,中午在吃饭闲聊的时候,有了想买Kindle的打算,因为之前有过书太多导致搬家备受折磨的痛苦经历,不想再这样了,也确实想好好看看书充实一下自己,所以决定将买Kindle早日提上日程(这周末还有一本纸质书可以看)。

最后说说这篇文章的内容,主要是从“笔记:《拆掉思维里的墙》”摘取而来,着重标记自己有感触的地方,这种类型的书差不多就这么看吧,多留点时间出来思考 & 实际动手操作才是适合自己的读书/学习方式。


《 “[note]拆掉思维里的墙” 》 有 8 条评论

  1. 给自己的教育
    https://mp.weixin.qq.com/s/sbseIxPfLFS2zrK2z1fAhQ
    `
    首先,输出为导向。高阶学习者,掌握的是模式,且善于借助两个不同领域的链接来创新。输入不如输出重要,穷举不如演绎重要,守旧不如创新重要。
    其次,不管你喜不喜欢,必须掌握到能通过测试的水平,能常规应用其最基本的内容,尤其是那些比自己所处专业更为基础的学科。认知科学家普遍发现,测试不仅是评估,更是记忆本身!
    `

  2. 程序员 30 岁前,该如何规划自己的职业发展?
    https://mp.weixin.qq.com/s/GNfprAu-KUhbdWVlXYUSuA
    `
    1.为什么职业规划很重要?
    2.程序员的职业规划有哪几种?
     技术专家、架构师
     CTO(技术总监)
     产品经理
    3.总结
    无论如何,我们要做的就是不断学习,不断提升自己,更早的关注职业规划,更早的给自己制定一份更适合自己的职业蓝图。
    `

  3. 我想要的未来是哪里,我又该如何去那里? | 走出迷茫的必备实践手册
    https://mp.weixin.qq.com/s/qRZ4i3ZYz0yY03J5APYLCg
    `
    人们为什么迷茫?
    迷茫的原因可以被大致归纳为两点:
    (1)不知道自己想要的未来是什么样子;
    (2)不知道想要的未来该如何抵达。

    如果你正处于迷茫中,该怎么办呢?
    首先,你需要意识到,走出迷茫是需要你有意识地去计划将来的。
    其次,你也需要厘清:究竟是在为自己,还是为他人的期待而努力?
    第三,更好地做计划。
      1. 拆分目标
      2. 改变计时的方式
      3. 从他人的视角想象实现目标的过程
      4. 保持开放的心态
    第四、在执行时,不要总是先做“紧急”的事情。
      受困于重要且紧急的事,可能使人不断陷入危机——由于拖延着未被处理,那些原本重要但不紧急的事,也一件件变成了重要且紧急的事,于是,人们便成为了整日疲于奔命的“救火员”。
      那些看似不紧急但重要的事,往往是一些能发挥长效的事情,需要人们有计划的长期投入;我们还需要有意识地从日常忙碌的工作和生活中抽离出来,去审视自己对时间的安排,并作出必要的调整。

    走出迷茫,始终需要的是“行动”,是投身于生活去探索、去实践。
    `

  4. 再好的思维方式,背后都是平凡的努力
    https://mp.weixin.qq.com/s/X9eOg4Hhqiz32eOWBReKDQ
    `
    一个人的心智模式决定了他的命运。

    心智模式有两种思维:
    1.成长型思维——成长型模型。
    能够不断发现自己的能力并且积极挑战,解决新的问题。有目标,正性循环。

    2.固定型模型——防御型心智模型。
    安全感没有得到满足,不愿意探索世界、不愿意去面对必要的难题,总在想办法回避伤害,别人的批评和表扬,他都会受到影响。

    专注过程,而不是结果。

    1.固定型思维的人,习惯于给自己设限。
    2.成长型思维的人,总是抱着试一试的心理。
    闲着也是闲着,管他的,试试呗。
    3.固定型思维的人,总是把失败的原因归于外界
    4.成长型思维的人,总是笑对挫折。

    1.提高目标设置能力:人生应有的思维方式
    2.提高学习和适应能力
    3.提高实践能力:看似平凡的努力最重要

    “通过看似平凡的努力积累,能够取得成果,从而树立信心,唤起更为强烈的奋斗意识。”通过这样的循环,在不知不觉中,便已取得无法想象的成就。

    人行人世间,工作上或生活上,大大小小的困难无法避免。有的也许可以轻易打倒,有的则令人望而生畏。
    而选择正面击破,还是绕路而行,不同的选择就此造就了不同的人生。
    `

  5. 破除职场迷茫,做好这件事就够了
    https://mp.weixin.qq.com/s/br54lteqAsazrAyU7fhBBw
    `
    结合自己的亲身经历和观察,关于职场迷茫这一点,我遇到过实在太多。而最后最有效的解决方法只有一个,那就是努力提升自己的工作业务能力。
    一旦你把业务能力做好了,会发现许多以前想不通的事情都能想通,现在不知道答案的问题过一阵就找到了答案。这是一种用“过程”来回答“结果”的体验。
    听上去有点神奇,但就是这么有效。你时不时会有拨开云雾见月明的感觉。

    那什么是业务能力呢?
    业务能力,是一种分析和解决特定问题,从而创造全新价值的能力。

    比如程序员的业务能力,是钻研好编程技术,解决Bug,做出至善至美的产品;
    销售的业务能力,是挖掘客户需求,克服销售过程中的阻碍,将产品卖给客户;
    演员的业务能力,是磨练好演技,把戏演好,从而收获票房……

    所谓术业有专攻,每个行业都有自己的门道。如何快速掌握该行业的核心技术,从一个外行变成内行,考验的就是你的业务能力。
    而业务能力的标准有两个,广度和深度,下面我分别来讲。

    1. 业务广度:你涉猎的知识面够不够广泛?
    在A领域里最懂得做B,在B领域里最懂得做C,在C领域里最懂得做A,在其他人眼里你就是ABC样样都会。
    此刻你的含金量,才会水涨船高。

    2. 业务深度:你对一个问题的研究够不够深刻?
    还是那句话,表面上看是这个问题,实际上却是另外一个问题。对业务的理解深度就是这个意思。
    不仅是销售,每个行业都是如此。大家不妨想想看自己日常工作中有没有遇到过类似的问题,你以为是这样,实质上却是那样。
    想通了这一点,你对业务的专精水平才会越来越高。
    因为你考虑了其他人未曾想过的事情,对问题的把握也更加深刻,这反映到工作表现上,就是你会显得更专业。
    许多初入职场的新人,在面对陌生的环境时难免不知所措。这个时候,专注就显得尤为重要。
    专注把自己的业务能力先提升上去,少去考虑那些有的没的的问题。什么人情世故,如何说话好听,怎么表现自己……那都是后面的事情。
    你的业务能力都不行怎么去表现自己?去表现一个不专业的自己吗?
    记住,少即是多。做好一件事,比随便弄十件事要有用的多。

    简单总结一下:
    业务能力,是一种分析和解决特定问题,从而创造全新价值的能力。

    想要提升自己的业务能力,从下面两个方面着手:

    1. 业务广度,提升的是你的抗风险能力。
    你可以选择一个主攻方向,然后不断丰富自己其他业务线的能力。学会“错位竞争”,扩展自己的技能面向,这么做才能分散风险。

    2. 业务深度,提升的是你的行业洞察力。
    你要学会透过纸背看问题,表面是这样,实质上却是那样。你看到的越多,对业务的理解就越深刻,你的含金量也就越高。

    各行各业都如此,希望能对各位有一点启示。
    `

  6. 分享16个我总结的思维模型(程序员必读,受用终身)
    https://mp.weixin.qq.com/s/ZvNWabq0339YEOhmUOdCKA
    `
    只要问“现在最重要的事情是什么?”就可以帮助建立下一个最重要的事情,而不是下一个最紧急的事情。
    一般来说:混乱会招致更多的混乱。
    如无必要,勿增实体。
    邓宁-克鲁格效应表明,没有经验的人往往会高估自己的能力,而有经验的人往往会低估自己的能力。
    墨菲定律说,任何可能出错的事情,都会出错。它经常在意外发生后被引用。
    Postel 定律也被称为稳健性原则,它指出你应该“在你所做的事情上保守,在你接受别人的事情上开放”。换句话说,你可以接受多种不同形式的数据,以使你的软件尽可能灵活,但你在处理这些数据时应该非常小心,以免因无效或恶意数据而危及你的软件。

    — 1 — 帕累托法则(80/20 法则)

    # 内容
    帕累托法则指出,通常 80% 的结果来自 20% 的原因。数字 80 和 20 无论如何都不是精确的,但该原则的总体思路是结果通常分布不均。
    我们可以看到生活的许多领域遵守着这条规则,例如:
    世界上最富有的 20% 的人创造了世界 80% 的收入。
    80% 的犯罪是由 20%的罪犯所为(自 2020 年以来)。
    我们知道 80% 的病毒传播来自 20% 的受感染人群。

    # 如何应用在软件开发中?
    我们可以从帕累托法则中获得的主要好处是专注。它可以帮助我们专注于重要的事情(20%),而不是在不重要的事情(其他 80%)上浪费时间和精力。不重要的事情对我们来说往往很重要,因为这样的事情总是有太多(而且看起来很紧急) 。但是最好的结果往往是通过关注重要的少数来达成的。
    在软件开发中,我们可以使用它来专注于构建正确的功能,例如:
    专注于实现 80% 产品价值的那 20% 的产品功能。
    专注于导致 80% 用户使用异常的那 20% 的错误。
    专注于实现 80% 的产品功能需要的那 20%总构建时间
    ……
    只要问“现在最重要的事情是什么?”就可以帮助建立下一个最重要的事情,而不是下一个最紧急的事情。
    顺便说一下,敏捷和 DevOps 等现代开发方法有助于获得这种关注!具有定期用户反馈的快速迭代允许对重要事项进行数据驱动的决策。诸如基于主干的带有功能标记的开发之类的实践可以帮助软件团队实现这一目标。

    — 2 — 破窗定律

    # 内容
    破碎的窗户会招致破坏,因此很快所有窗户都被打破。
    一般来说:混乱会招致更多的混乱。
    如果我们的环境是原始的,我们就会有动力保持这种状态。环境中的混乱越多,我们添加混乱的门槛就越低。毕竟已经混乱了……谁在乎我们是否再添加一点呢?
    我们可以从这条规则中获得的主要好处是我们应该意识到我们周围的混乱。如果它已经到了人们习惯于不再关心它的程度,那么最好为混乱带来一些秩序。

    # 如何应用在软件开发中?
    在软件开发中,我们可以将其应用于代码质量:我们引入代码库的每一种代码异味(Code Smell)都会降低我们添加更多代码异味的门槛。我们应该 [[Start Clean]] 并保持代码库干净以避免这种情况发生。许多代码库如此难以理解和维护的原因是,破窗已经悄然出现并且没有足够快地修复。
    我们也可以将这个原则应用到测试覆盖率上:一旦有一定数量的代码进入了未被测试覆盖的代码库,就会添加更多未被覆盖的代码。这是保持 100% 代码覆盖率(应该覆盖的代码的)的论据,因此我们可以在窗口破裂之前看到裂缝。

    — 3 — 奥卡姆剃刀(简约法则)

    # 内容
    哲学剃刀是一种通过消除(或“削除”)不太可能的假设来帮助解释某些事情的原则。奥卡姆剃刀表示,如果有多个假设,我们应该选择假设条件最少的假设(这很可能是解释最简单的假设)。

    # 如何应用在软件开发中?
    我们可以在事件分析中应用奥卡姆剃刀。你可能遇到过这样的情况:用户报告了你的应用程序存在问题,但你不知道导致问题的原因。因此,你正在搜索日志和指标,试图找到根本原因。
    下次用户报告错误时,请维护事件调查文档。写下你对导致问题的原因的假设。然后,对于每个假设,列出事实和猜想。如果假设被证明是正确的,则将其标记为事实。如果一个假设被证明是错误的,请将其从文档中删除或将其标记为错误。在任何时候,你现在都可以将时间集中在最可能的假设上,而不是浪费时间转移注意力。

    — 4 — 邓宁-克鲁格效应

    # 内容
    邓宁-克鲁格效应表明,没有经验的人往往会高估自己的能力,而有经验的人往往会低估自己的能力。
    你不擅长某件事,但你会认为你擅长它。如果你擅长某事,你认为你不擅长 – 这可能导致冒名顶替综合症,这让你怀疑自己的能力,以至于你在其他具有相似技能的人中感到不舒服 (害怕别人认为你说的不正确)。

    # 如何应用在软件开发中?
    意识到这种认知偏差已经是朝着正确方向迈出的良好一步。它将帮助你更好地评估自己的技能,以便你可以寻求帮助,或者克服自我怀疑并自己行动。
    有助于消除邓宁-克鲁格效应和冒名顶替综合症的一种做法是结对或群体编程。你不是独自工作,沉浸在自我怀疑或优越感中,而是与其他人密切合作,边工作边交流思想、学习和教学。
    不过,这只适用于安全的环境。在个人主义被美化的环境中,结对或群体编程会导致更多的自我怀疑或更多的优越感妄想。

    — 5 — 彼得原理

    # 内容
    彼得原理指出,只要你在工作中表现出色,你就会得到晋升,直到你晋升得到一份你不称职的工作。由于你不再成功,你将不再获得晋升,这意味着你将生活在一份不会给你带来满足感或成功的工作中,通常是在你的余生中。前景黯淡!

    # 如何应用在软件开发中?
    在软件开发中,当你将角色从开发人员职业转换为管理职业时,彼得原则通常适用。然而,成为一名优秀的开发人员并不一定意味着你是一名优秀的经理。或者,你可能是一名优秀的经理,但不要在开发人员的工作上获得经理工作的满足感,这意味着你没有全力以赴(这就是我的情况)。在任何情况下,你都很悲惨,在你面前的职业道路上看不到任何未来的发展。在这种情况下,退后一步想想,你希望你的职业是什么样子的。然后,转换角色(或公司,如果需要)以获得你想要的角色。

    — 6 — 帕金森定律

    # 内容
    帕金森定律指出,工作总是会填满分配给它的时间。如果你的项目在两周内有截止日期,则该项目将不会在此之前完成。可能需要更长的时间,是的,但绝不会少于我们为它分配的时间,因为我们正在用不必要的工作或拖延来填补时间。

    # 如何应用在软件开发中?
    帕金森定律的主要驱动因素是:
    拖延症(“截止日期太远了,所以我现在不需要匆忙……”)
    范围蔓延(“当然,我们可以添加这个小功能,它不会花费我们太多时间……”)
    为了对抗拖延,我们可以在几天而不是几周或几个月内设定最后期限。比如说在接下来的 2-3 天内需要做什么才能朝着目标前进?一个(健康的!)截止日期可以给我们足够的动力,不要陷入拖延症的低谷。为了防止范围蔓延,我们应该非常清楚地了解我们试图通过项目实现的目标。成功的衡量标准是什么?这个新功能是否会增加这些指标?那么如果每个人都明白这项工作需要更长的时间,我们应该添加它。如果新功能与使命宣言不匹配,请抛弃它。

    — 7 — 霍夫施塔特定律

    # 内容
    霍夫施塔特定律指出“它总是比你预期的要长,即使你考虑到霍夫施塔特定律”。即使你了解了这条定律,并增加了项目的时间分配,它仍然会比你预期的要长。这与帕金森定律密切相关,即工作总是会填满分配给它的时间。只是霍夫施塔特定律说它填充的时间超过了分配的时间。
    这条定律得到了心理学的支持。我们容易犯所谓的“计划谬误”,即在估算工作量时,我们通常不会考虑所有可用信息,即使我们认为我们已经考虑了。我们的估计几乎总是主观的,很少是正确的。

    # 如何应用在软件开发中?
    在软件开发中(以及任何其他基于项目的工作,真的),我们人类的乐观主义占了上风。估计几乎总是过于乐观。为了减少霍夫施塔特定律的影响,我们可以尝试尽可能客观地进行估计。写下关于项目的假设和事实清单。将每个清单元素标记为假设或事实,以使数据质量可见并管理预期。不要依赖直觉,因为每个人的感受都不一样。写下估算值,让你的大脑思考它们。将它们与其他人的估计进行比较,然后讨论差异。
    即便如此,它仍然只是一个估计,很可能不能反映现实。如果估算不是基于统计数据或其他历史数据,那么它的价值就非常低,因此与要求你估算的人一起管理预期总是好的——这总是会出错的。如果你让它尽可能客观,它就会减少错误。

    — 8 — 康威定律

    # 内容
    康威定律指出,组织创建的任何系统都将类似于该组织的团队和沟通结构。如果你有 10 个团队在一个系统上工作,你很可能会得到 10 个相互通信的子系统。

    # 如何应用在软件开发中?
    我们可以应用所谓的逆康威机动:创建最能支持我们想要构建的系统架构的组织结构。没有固定的团队结构,而是要有足够的灵活性来创建和解散团队,这对系统的当前状态是最好的。

    — 9 — 墨菲定律

    # 内容
    墨菲定律说,任何可能出错的事情,都会出错。它经常在意外发生后被引用。

    # 如何应用在软件开发中?
    软件开发是一个容易出错的职业。出错的主要来源是bug。没有任何软件不存在挑战用户耐心的错误或事件。我们可以通过在日常软件开发实践中养成减少错误影响的习惯来抵御墨菲定律。我们无法完全避免错误,但我们可以而且应该减少它们对用户的影响。对抗墨菲定律最有用的做法是特征标记。
    如果我们使用像 LaunchDarkly 这样的功能标记平台,我们可以在功能标记后面将更改部署到生产中。然后,我们可以使用有针对性的发布来激活内部 dogfooding 的标志,然后对少量友好的 Beta 用户发布,最后将其发布给所有用户。通过这种方式,我们可以从越来越关键的用户群体那里获得关于变化的反馈。如果更改出错(并且在某些时候会出错),影响很小,因为只有一小部分用户组会受到它的影响。而且,该标志可以快速关闭。

    — 10 — 布鲁克定律

    # 内容
    在经典著作“人月神话”中,弗雷德·布鲁克(Fred Brook)有句名言:为迟到的项目增加人力会使项目更晚。尽管本书讨论的是软件项目,但它适用于大多数类型的项目,甚至是软件开发之外的项目。添加人员不会提高项目速度的原因是项目的通信开销随着添加到项目中的每个人呈指数增长。2个人有1条通信路径,5个人已经有120条可能的通信路径。新人安顿下来并确定他们需要的沟通路径需要时间,这就是为什么在项目中添加新人时,迟到的项目会更晚。

    # 如何应用在软件开发中?
    很简单。更改截止日期,而不是将人员添加到已经迟到的项目中。对在软件项目中增加新人的期望要切合实际。将人员添加到项目中可能会在某个时候提高速度,但并非总是如此,当然也不是立即。人员和团队需要时间来适应日常工作,而在某些时候,工作无法充分并行化,因此增加更多人是没有意义的。仔细考虑一个新人应该完成什么任务,以及在将该人添加到项目中时你期望什么。

    — 11 — 波斯特定律

    # 内容
    Postel 定律也被称为稳健性原则,它指出你应该“在你所做的事情上保守,在你接受别人的事情上开放”。换句话说,你可以接受多种不同形式的数据,以使你的软件尽可能灵活,但你在处理这些数据时应该非常小心,以免因无效或恶意数据而危及你的软件。

    # 如何应用在软件开发中?
    该定律源于软件开发,因此非常直接适用。你的软件与其他软件或开发人员之间的接口应允许不同形式的输入以实现稳健性:
    为了向后兼容,新版本的接口应该接受旧版本和新版本的数据
    为了更好的用户体验,UI 中的表单应该接受不同格式的数据,这样用户就不必担心格式。
    但是,如果我们愿意接受不同格式的数据,我们在处理这些数据时就必须保守。我们必须审查无效值,并确保我们不会因为允许太多不同的格式而损害系统的安全性。SQL 注入是一种可能的攻击,它是通过对用户输入过于宽松而造成的。

    — 12 — 克奇霍夫原理

    # 内容
    Kerchkhoff 的原则指出,加密系统应该是安全的,即使它的加密方法是公开的。只有你用来解密某些东西的密钥才需要是私有的。

    # 如何应用在软件开发中?
    这很简单,真的。永远不要相信要求其加密方法是私密的加密系统。这被称为“默默无闻的安全”。像这样的系统本质上是不安全的。一旦该加密方法向公众公开,它就容易受到攻击。

    — 13 — 莱纳斯(Linus)定律

    # 内容
    在关于 Linux 内核开发的《大教堂与集市》一书中,埃里克·雷蒙德(Eric Raymond)写道:“有足够多的眼睛,就可让所有问题浮现”。他将此称为“莱纳斯定律”以纪念莱纳斯·托瓦兹。这意味着如果很多人看代码比很少人看代码可以更容易地暴露代码中的错误。

    # 如何应用在软件开发中?
    如果你想摆脱错误,请让其他人查看你的代码。源于开源社区的一种常见做法是让开发人员提出包含代码更改的拉取请求,然后让其他开发人员在将拉取请求合并到主分支之前审查该拉取请求。
    这种做法也进入了闭源开发,但根据 Linus 定律,拉取请求在闭源环境(只有少数人查看它)中的作用不如在开源环境中(其中可能很多贡献者都在看它)。其他为代码添加更多眼睛的做法是结对编程和群体编程。至少在闭源环境中,这些在避免错误方面比拉取请求审查更有效,因为每个人都参与了代码的初始阶段,这为每个人提供了更好的上下文来理解代码和潜在的错误。

    — 14 — 沃斯定律

    # 内容
    沃斯定律指出,软件变慢的速度比硬件变快的速度要快。

    # 如何应用在软件开发中?
    不要依赖强大的硬件来运行性能不佳的代码。相反,编写经过优化以表现良好的代码。这必须与 (软件开发定律:Knuth的优化原则) 的格言相平衡,该格言说“过早的优化是万恶之源”。与为用户构建新功能所花费的精力相比,不要在使代码运行得更快上花费更多的精力。通常,这是一种平衡行为。

    — 15 — Knuth的优化原则

    # 内容
    Donald Knuth 在他的一部作品中写了“过早优化是万恶之源”这句话,这句话经常断章取意,并被用作根本不关心优化代码的借口。

    # 如何应用在软件开发中?
    根据 Knuth 定律,我们不应该浪费精力过早地优化代码。然而,根据沃斯定律,我们也不应该依赖硬件足够快来执行优化不当的代码。最后,这就是我从这些原则中得出的结论:优化可以轻松完成的代码,无需太多努力:例如,编写几行额外代码以避免经历可能包含大量项目的循环。优化一直在执行的关键业务的代码。除此之外,不要在优化代码上花太多精力,除非你已经确定了一个性能瓶颈。

    — 16 — 保持怀疑

    # 定律和原则是好的。这使我们能够从某个角度评估某些情况,如果没有它们,我们不可能了解这些情况的背后道理。然而,盲目地将定律和原则应用于每种情况是行不通的。每一种情况都会存在微妙的变化,这可能意味着某个原则不能或不应该适用。对你遇到的原则和定律保持怀疑。世界不是非黑即白的。
    `

  7. `
    在现如今这个社会/环境/大的风潮下,有太多“新的”选择可以快速/低成本的获取到,导致我们在已有的选择上出现“暂时性的卡顿”时,就会想着换个选择,而不是在当前的选择上继续深入探索,这样就容易半途而废,因为注意力和兴趣会被分散,长此以往是很难达到更深/更高的层次的,个人的精力和资源有限,当被其他事情分散掉一部分之后留给想深入的那部分就必然会缩减,在竞争力上又变得更弱,总之就是恶性循环容易进入,良性循环需要克服一定阻力才能进入和保持。
    但无论如何,想要过平平淡淡安安稳稳过好这一生,都是需要努力去争取的。仅靠躺和阿Q式的自我安慰,大部分人没有这条件,而且这也不是好习惯。

    # 一个新视角:Depth Year

    每一年的元旦,大家或许会思考新的一年该如何度过,定的计划和目标很多事学会什么新的技能,读多少本新书。巧合的是,我刚刚读到 Depth Year “深度年”的概念。我有很多事情想要深入了解,但是目前没有太大的欲望去获得更多的东西,所以这是很诱人的。

    你提高已有技能而不是学习新的技能。你消费的是你已经保存的各种媒体,而不是去获取更多。今年不允许有新的爱好、器材、游戏或书籍。相反,你必须在你已经拥有的或者已经开始的东西中找到价值,深入挖掘价值和充实他们。转向已在你的房子里的那些财富进行选择。

    我一直在想象一个我想创造的传统。当你的事业稳定下来,家里有一些整洁的东西,你花了整整一年的时间,没有开始做任何新的事情,也没有获得任何你不需要的新东西。

    其指导思想是“走得更深,而不是更广。”深入挖掘价值和丰富他们,而不是分散。你转向已经在你的房子里的财富中选择。我们可以称之为“Depth Year”或者“Year of Deepening”之类的。

    在这个消费时代,人们很容易接受和放弃新的追求,我想这种深度年的东西真的会流行起来,也许会成为一种成人礼。人们可能到厌倦了对事情半途而废的时刻。

    消费主义培养了这种嗜好甜食的人。向人们推销新的途径,新的设备、新的书籍、新的可能性,可以赚很多钱。营销人员最不希望的就是人们从他们已经接触到的东西中获得兴奋和满足感。他们不希望你发现你已经拥有的财富中还剩下难以置信的财富。

    我有一套水彩画套装,吉他,和一堆“学习法语”的书。如果我和这些东西一起被关在监狱里,我几乎不可避免地会成为一个成功的吉他手、画家和通晓多种语言的人,当我购买这些东西的时候,我想成为这样的人。但是新的选择似乎总是进入我的生活,所以我偏离了旧的选择。

    能够自由地不断扩大我们的兴趣爱好是一件美妙的事情。但是就像许多奢侈品一样,它也有潜在的缺点。无穷无尽的可能性使我们更难深入探索任何一个给定的可能性,因为当旧的新事物已经到达一个困难或无聊的部分时,总是有更多的“新”可以求助。

    你可以从一件乐器或一套颜料中获得的快乐和充实,足以填满你的一生,许多人已经证明了这一点。但是那些更深的层次实际上是无法进入的,没有限制地分散你的注意力和兴趣。

    只要我们生活在一个消费文化中,可能总是更容易走得更广而不是更深。更深入需要耐心,练习和参与,在那些没有什么事情发生的训练中。在这些时刻,转换追求是最具诱惑力的。新鲜感并不需要太多东西,除了有时候需要一点可支配收入。

    因此,除非我们被锁在一个只有一架钢琴和一堆托尔斯泰作品的房间里,或者我们参与到《纵深一年》的虚构传统中,否则我们需要找到一种方法来限制我们自己。当我们给自己更少的地方去挖掘,我们就会更深入,我们发现的东西比表面附近的普通东西更稀有和有价值。
    `
    Go Deeper, Not Wider
    https://www.raptitude.com/2017/12/go-deeper-not-wider/

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注