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

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

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