《阿里工程师的自我修养》之阅读总结

一、技术人具备”结构化思维”意味着什么?

1.什么是结构化思维?

结构化思维的定义就是:思维+套路。

(1)表达要有逻辑

所谓的逻辑是指我们的结构之间必须是有逻辑关系的。
想让内容有逻辑关系,我们要学会四种组织思想的逻辑关系:

a.演绎(因果)顺序:”大前提、小前提、结论”的演绎推理方法就是演绎顺序(经典三段论)。

b.时间(步骤)顺序:”第一、第二、第三”、”首先、然后、再者”等。

c.空间(结构)顺序:”前端、后端、数据”,化整为零(将整体分解为部分)等都是空间顺序)。

d.程度(重要性)顺序:比如”最重要、次重要、不重要”等。

(2)做事要有套路

套路是指我们解决问题的方法论,这个也非常重要。
比如,5W2H分析法就是一个非常好的,可以帮助我们分析问题一个”套路”。

5W2H具体包含如下:

a.WHAT -> 是什么?目的是什么?做什么工作?

b.WHY -> 为什么要做?可不可以不做?有没有替代方案?

c.WHO -> 谁?由谁来做?

d.WHEN -> 何时?什么时间做?什么时机最适宜?

e.HOW -> 怎么做?如何提高效率?如何实施?方法是什么?

f.HOW MUCH -> 多少?做到什么程度?数量如何?质量水平如何?费用产出如何?

2.如何进行结构化思考

逻辑性和方法论是结构化思维的底层,那么如何进行结构化思考?
总的来说有两个步骤,首先是”建立中心”,然后再进行”分解”。

(1)建立中心

建立中心也就是定义清楚要解决的问题,要明确目标。
是我们结构的顶层节点,也是一种以终为始的思考方式。也就是说,我们首先要搞清楚why,然后再进行how。

建立中心有两种方式:
a.自上而下:适用于问题比较明确的情况,我们只需要找到问题的核心要素即可,然后进行展开即可。

b.自下而上:对于问题不够明确的情况,我们需要对多种杂乱的内容,进行分类、剪枝、归纳汇总成一个中心。

(2)结构化分解

确定完中心之后,我们需要构建一个结构,使用结构化的思维对问题进行分解。

分解的策略如上所述四种逻辑顺序,即演绎顺序、时间顺序、空军顺序和程度顺序。

在做空间分解的时候,要注意满足MECE(相互独立,完全穷尽)原则。

(3)结构化思维如何应用

以如何落地新团队为例。
刚入职某家新公司,或转岗到一个新团队,作为一个技术人,你将如何落地开展你的工作呢?

熟悉业务

a.了解产品:任何一个团队有自己要负责的产品。申请一个厕所账号去用一下产品,是熟悉产品比较好的方式。

b.了解流程:任何业务都有自己的业务流程,而业务流里面最核心的是信息流。我们可以通过人员采访,了解关键节点的信息输入和信息输出;可以画一下泳道活动图,理清系统的主要角色,以及他们之间的交互关系。

c.客户走访:通过走访客户,我们可以更加获得业务的第一手资料,更加贴近业务和客户诉求。

熟悉技术

a.了解系统架构:可以让团队的技术人员介绍他们当初系统设计和架构思路。

b.了解领域模型:查看关键的核心表结构和系统API,这样可以快速了解系统的领域模型。

c.了解代码结构:下载系统工程,熟悉整个工程结构和模块职责。一一个最重要的流程为入手点,阅读代码,看清楚核心的执行逻辑。做一个小需求,掌握相关的流程和权限。

熟悉人

a.了解组织结构:查看公司的组织树,知道公司大概是如何运作的,以及哪些是关键人(比如,一个典型的电商公司会包括产品部、运营部、销售部、技术部、人力资源部、财务部等)。

b.了解人员角色:了解公司都有哪些岗位,以及各岗位的职责范围。

c.拜山头:找到和自己工作息息相关的岗位人员,比如产品和运营。积极和他们沟通,向他们请教业务问题,多多交流。这样一方面可以建立更好的人际关系,另一方面也可以更快地熟悉业务。

二、优秀工程师必备的三大思维,你拥有哪些?

工程师必备三大思维

1.产品思维

(1)痛点(有价值)

(2)体验(易用)

(3)特性(可售)

(4)效果(闭环)

2.技术思维

(1)需求(明确)

(2)功能(完善)

(3)性能(极致)

(4)交付(及时)

3.工程思维

(1)流程(无缝)

(2)机制(系统性)

(3)质量(可靠)

(4)风险(可控)

(5)成本(低)

三、优秀工程师必备的一项技能,你解锁了吗?

1.有哪些对程序员最重要的思考力

(1)原理性思维:找出知识背后的原理

案例:技术方案设计、系统架构和顶层设计、商业设计的原理等

(2)掌握知识背后的原理,带来的好处

  • 大幅度降低我们对于知识的记忆量,知识量是爆炸的,但是原理绝对是可控的
  • 原理性的东西比直接的知识有更强的复用度
  • 探求原理的过程,本身很有趣
究竟有哪些原理性知识需要我们掌握的呢?
  • Java、Linux、数据结构与算法、数据库、网络通信与分布式计算的原理
  • 设计模式
  • 领域向的基本原则
  • 管理学、人际沟通学、心理学的一些基本原理,根据实际需求来看
如何在工作中学习和运用这些原理(最佳实践)
  • 首先,对你可能用到的领域知识,建立一个基本的概念(通过看书、看文章、找行业资深的人去聊)
  • 在实践中,有个意识是”多问一些为什么”,并一直”刨根问底”,最终能够追查到背后的最终远离(在此需要注意一点,需要思考一下为什么在这个地方会运用到这个原理,也就是找到了”场景”和”原理”的关联关系)
  • 了解原理后,实践中运用,利于加深对原理的理解
  • 如果是非常重要的原理,建议结合经典书籍系统化学习

(3)结构化思维:构建自己的知识树

一些场景:

  • 为什么我知道很多东西,但是当场景来的时候老是记不起来使用;
  • 完成一个方案你只能想起一些点状的手段,还有其他方案被漏掉了;
  • 讲一件事情的时候逻辑非常混乱,前后没有逻辑性关联;

为什么会出现这种悲剧?
与大脑中的知识结构有关,这是知识学习中”索引”没有建立,也就是说,你的知识只有点,没有线。

如何训练出自己的知识树?

  • 一定要总结出自己的知识树,而不要盲从书本上或者别人的
  • 习惯性总结
  • 推荐一个很常见的工具:xmind
  • 训练自己的思维习惯和做事方式变得结构化

(4)重要观点小结

a.思考力对程序员的成长至关重要,团队和个人都需要有意或无意识地提升思考能力
b.对程序员最重要的思考力有:原理性思维、结构化思维、反思性思维、扩展性思维、抓重点思维

  • 原理性思维是根基,因为没有搞懂的情况下所有的知识建构都是空谈;
  • 结构化思维帮助我们建立了我们的知识树;
  • 反思性思维不断对知识进行重构,是实现认知升级的必备条件;
  • 扩展性思维可以提升知识的广度和深度
  • 抓重点思维可以加快知识的使用效率和传递效率

c.在提升思考力的实践中

  • 思考力提升最关键的是意识的转变
  • 要对思考力的提升充满信心
  • 多在工作中去锻炼思考力,不需要花太多额外的休息时间
  • 多相互分享
  • 团队Leader要把团队同学的成长和把思考力提升作为最重要的内容,并拿出实际行动。

四、如何在工作中快速成长?致工程师的10个简单技巧

五、技术三板斧:关于技术规划、管理、架构的思考

六、程序员如何自我学习?阿里资深技术专家这样做

七、从计算机知识到落地能力,你欠缺什么?

八、阿里资深技术专家的10年感悟

九、如何量化考核技术人的KPI?

十、如何成为优秀的技术主管?你要做到这三点

十一、在阿里做了五年技术主管,我有话想说

十二、如果我是一线技术主管

文章目录
  1. 1. 一、技术人具备”结构化思维”意味着什么?
    1. 1.1. 1.什么是结构化思维?
      1. 1.1.1. (1)表达要有逻辑
      2. 1.1.2. (2)做事要有套路
        1. 1.1.2.1. 5W2H具体包含如下:
    2. 1.2. 2.如何进行结构化思考
      1. 1.2.1. (1)建立中心
      2. 1.2.2. (2)结构化分解
      3. 1.2.3. (3)结构化思维如何应用
        1. 1.2.3.1. 熟悉业务
      4. 1.2.4. 熟悉技术
      5. 1.2.5. 熟悉人
  2. 2. 二、优秀工程师必备的三大思维,你拥有哪些?
    1. 2.1. 工程师必备三大思维
      1. 2.1.1. 1.产品思维
      2. 2.1.2. 2.技术思维
      3. 2.1.3. 3.工程思维
  3. 3. 三、优秀工程师必备的一项技能,你解锁了吗?
    1. 3.1. 1.有哪些对程序员最重要的思考力
      1. 3.1.1. (1)原理性思维:找出知识背后的原理
      2. 3.1.2. (2)掌握知识背后的原理,带来的好处
        1. 3.1.2.1. 究竟有哪些原理性知识需要我们掌握的呢?
        2. 3.1.2.2. 如何在工作中学习和运用这些原理(最佳实践)
      3. 3.1.3. (3)结构化思维:构建自己的知识树
      4. 3.1.4. (4)重要观点小结
  4. 4. 四、如何在工作中快速成长?致工程师的10个简单技巧
  5. 5. 五、技术三板斧:关于技术规划、管理、架构的思考
  6. 6. 六、程序员如何自我学习?阿里资深技术专家这样做
  7. 7. 七、从计算机知识到落地能力,你欠缺什么?
  8. 8. 八、阿里资深技术专家的10年感悟
  9. 9. 九、如何量化考核技术人的KPI?
  10. 10. 十、如何成为优秀的技术主管?你要做到这三点
  11. 11. 十一、在阿里做了五年技术主管,我有话想说
  12. 12. 十二、如果我是一线技术主管