读《阿里工程师自我修养》笔记
这本手册是阿里资深专家职业生涯的真切感悟,是走出中年危机的技术人成长手册。全手册共12个章节,其中将个人感觉比较有指导意义的内容作了整理和记录,希望这些内容对当下的你也能够有所帮助。
技术人具备“结构化思维”意味着什么
结构化思维体现在表达和分析问题的过程中,表达可以从因果顺序、时间顺序、结构顺序、重要性顺序这四个方面开展;分析问题可以先建立中心明确目标,后结构化分解(参照上述四种顺序)。
推荐书籍:《思维混乱,因为大脑没有结构》
优秀工程师必备的三大思维
工程师思维包括产品思维、技术思维和工程思维。
产品思维是指通过技术手段以产品或服务的形态去解决用户的痛点,因此工程师需要理清自己的工作与用户价值的联系,然后去安排优先级和精力。
技术思维是源自需求的实现,确认需要做什么,因此工程师需要明确需求,重视需求的质量。一个大需求也许会拆分为多个模块,每个模块让一个人或一个团队负责,工程师要避免只看到“树木”而忘记”森林“。同时,个人或团队也不能为了完成各自进度,各种赶工造成”一地鸡毛“的现象。另外,新的技术如5G、人工智能、大数据、Kubernetes等等不断冲击工程师已有的技能,工程师还需要具备对新技术的追求以及保持其先进性。
工程思维是一种流程或机制,通过对过程的控制,来输出令人满意的结果。工程师需要将流程和工作环境无缝结合,在实践中不断完善回顾落实,从而提高软件的质量。另外,还包括了极端情况下的风险控制、软件运行的大量资源等等。
优秀工程师必备技能
思考力可以让工程师们具备强悍的思考和学习能力,它包含了认知科学、心理学、教育学、逻辑学,是需要系统化学习的一门很深的学问。下面,作者列出在日常技术学习和项目过程中沉淀下来的思考力,以及如何培养这些思考力。
思考力包括哪些?
第一点,要掌握原理性思维,找出知识背后的原理。
知识是爆炸性的,而原理是可控的,复用性更高。探求知识背后原理的过程,是一种思维训练的过程。比如,理解业务系统或业务的设计思想、做事方式,加强了看透本质的能力。
另外,针对领域性知识,可以通过看书、看文章、资深人士沟通;注重原理在实际场景中的应用之处和缘由;重要性原理还是要结合经典书籍进行系统化学习。
第二点,要掌握结构化思维,构建知识树。
知识树如同数据的”索引“一般,有了索引大脑中的知识也就有了结构,分析问题、表达沟通也就具备了逻辑性,这也跟第一章节《技术人具备“结构化思维”意味着什么》提到的内容相契合。
如何做?内化外部知识为自己的知识,构建知识树;习惯性总结(复盘),完善知识树;通过xmind记录知识树;有意识地训练自己的思维习惯和做事方式,变得结构化。
第三点,举一反三,拓展思维。
强调同类问题同一处理方法,以及一类问题多种处理方法。
第四点,抓重点思维,提升效率,方便记忆和传递。
针对构建的知识树,提炼重点,进行归纳。针对多项任务,排列优先级,找到最关键或收益最大的任务。
第五点,反思性思维,思考哪里可以做得更好
做到在上一次基础上的升级,提升知识深度和质量。
如何在工作中快速成长?
真正的安全感、成就感、归属感来自自我成长和自我沉淀,而不是做大家正在做的事。轻易获得的东西,带来的结果表面上懂得很多,其实理解非常浅显。
提升注意力要专注在目标事务上,直至产出预期的效果。(比如,系统性学习一个领域知识,需要持续有计划的看相关的书,直到达到预期要理解该领域知识的目标,而不是三天打鱼两天刷网,获取几手的低成本零碎知识)
身边缺乏贵人或贵人离自己较远的原因:
一是,自己不自信,不相信自己能够影响他人,导致缺乏主动沟通,长期沟通,沟通的延续性和习惯没有建立。
二是,自己心态问题,自己的心态若是不够积极正向,没有贵人敢进入你的思维空间,因为价值观不匹配,很难形成认知共识。
三是,职场原因,很多时候可能你的老板就是你的贵人,但是因为职场,因为上下级,碍于面子,碍于工作,不敢多交流,多请教。
四是,贵人来了又走了,有贵人帮你改变,帮你进步,但是自己不努力,抱着过去做事的心态和方法在职场上浪迹天涯,进步不明显,否定了他作为贵人的价值和意义。
因此,用成长回报贵人,并在未来可以帮助到他;平时建立有效沟通,让贵人了解你、影响你,并且自己要主动承担一些有挑战的事儿;要借事修人(锻炼机会非常少),事情失败了,人要成,能力要得到提升。
帮助别人不等于麻烦别人,不是你输我赢,而是共同进步的过程,巩固知识的同时发现自己理解上的偏差。
输出倒闭输入,常规的方式有看书、思考和反馈,而讨论过程中的输入效果是最好的。比如通过会议的形式,思考会议中的信息,训练自己的观点产出能力、总结归纳能力。聆听,讨论验证自己的观点正确与否,再次聆听和讨论验证观点。作为参与者,认真聆听,快速提炼自己想表达的逻辑,然后参与讨论。 作为聆听者,仔细聆听,认真输入,在脑中组织思路,组织逻辑。作为中断者,发现有些会议真的没有继续的必要了,出于好意,提示会议的重心或者结束会议。
推荐书籍:
李笑来:《通往财富自由之路》
武志红:《武志红的心理学课》
刘润:《5 分钟商学院》
特奥·康普诺利:《慢思考》
米哈里 . 契克森米哈赖:《心流:最优体验心里学》
程序员如何自我学习?
纯靠经验积累行不通,技术淘汰的速度远大于你经验积累的速度。
软件的经验积累还会体现在个架构设计上。
学习还需要系统化,并非单靠看一篇文章就能明白原理。
项目中多尝试一下你学到的新知识,不能惯性使用你熟悉的技术,要知道你熟悉的东西很快会被淘汰,被淘汰后再调整就来不及了。
阿里资深专家10年感悟
今天很残酷,明天更残酷,后天很美好,熬过明天晚上,才能看到后天的太阳。
一个人走得快,一群人走得远。
困境是个人成长的最好机会,放弃、逃避、拒绝思考,就意味着放弃成长。如果遇到困境不自知,不解决,则会出现昨日所不知不能者,今日仍是不知不能;去年所不知不能者,今年仍是不知不能。
学习能力与思维模式是一个人的核心竞争力:
- 承认自己的不足;
- 掌握优秀的学习方法,学习做到目到,口到,心到。当你能完全能用自己的语言准确讲述你所学的知识,知其然,并知其所以然,你才是真正完全的掌握;
- 掌握搜索信息的有效方式。有效保证你对问题的解决方案是相对优秀的解决方案,必须有业界全局的视眼与思考;
- 具备优秀的批判性思维模型
- 鲁莽的思考者:不能意识到思维中重要的错误;
- 质疑的思考者:开始意识到思维中存在的错误;
- 初始的思考者:尝试改变自己的思维,但没有常规练习;
- 练习中的思考者:认识到常规练习的必要性;
- 高级的思考者:随着练习不断进步;
- 完善的思考者:有技巧和判断力的思维成为我们的第二本能。
如何量化考核技术人KPI?
技术KPI
- 业务贡献:包括需求把控,业务项目和业务创新;
- 技术贡献:包括设计重构、技术影响力、Code Review、创新提效和代码质量;
- 团队贡献:包括招聘、新人培养和团队氛围。
如何成为优秀的技术主管?
第一,技术说到底是为业务服务的,除非技术就是业务本身,必须体现它的商业价值;
第二,我认为最最重要的是架构设计的能力,可能管理能力还次之;
第三,技术视野良好,解决问题能力与架构设计能力出色。知道在什么场景应用什么技术,业务发展到什么规模应该预先做哪些技术储备。
第四,动手能力要强,学习能力出色。技术 TL 除了管人和管事之外,其他还有很多事情要做包括建立团队研发文化、 团队人才培养与建设、跨部门协调与沟通等,这样以要求技术 TL 也同时也需要具备良好的沟通和管理能力。