阿里妹导读:阿里有许多土话,比如“方法总比困难多”、“不淘汰自己就会被别人淘汰”、“你感觉不舒服的时候,就是成长的时候”。每一句都在激励我们向前。生活总不缺困难和磨练,痛苦的时候,只有转变思维,才能蜕变。今天,阿里巴巴资深技术专家无相分享他在阿里这10年来的几点感悟。今天很残酷,明天更残酷,后天很美好,熬过明天晚上,才能看到后天的太阳。

插件版本更新

2019年的上半年,我密集地写了 tbbpm idea 插件,终于比较圆满地解决 idea 插件的开发问题。经过这件事,内心有股强烈的冲动,促使我写下这些年面对痛苦时,我的一些解决问题的方法和感悟。

1. 一个人走得快,一群人走得远

“一个人走得快,一群人走得远”,这句话是阿里的土话。没有这些年的编程经历,不会深刻地感受这句话背后逻辑与力量。一个人持续做一件工作量较大且较长期的事情时,对心力的考验是很大的。当多人协同时,心力压力能够得到很大的缓解。

Knowledge is commonly socially constructed, through collaborative efforts toward shared objectives or by dialogues and challenges brought about by differences in persons' perspectives.
Salomon

《The Costs and Benefits of Pair Programming》这篇论文的研究表明:结对编程能够改进设计质量,减少代码缺陷(代码行数减少,测试通过率更高),减少员工离职风险,提升软件技能。团队解决问题的速度变快,同时更加愿意坐到一起工作。

2. 当你不舒服,难受或陷于困境时,应该停下来思考

在写 tbbpm idea 插件时,我花了三年(准确来说是3个春节)才写成,idea 的设计插件在业界无参考标准,不能很好地快速进行。记得在 eclipse tbbpm 插件时,因有业界源码参考,用了两个通宵原型就做出来了。Tbbpm 是一个闲暇时间的产物,只能利用春节这样的大长假才能开发。我希望自己能够在极短的时间内完成,然而,第一个春节与第二个春节都没有成功。在第三个春节时,关键的拖拽依然没有很好的搞定,心力已经接近憔悴。屡次失败之后,我不得不开始反思,是不是我做这件事的方式错了?是不是我的欲望已经超越了我当前的能力。

于是,那时候我停下手头的工作,冷静的地思考了2天。

这里举个当时的例子,idea 插件绘制表单的困境:因为用 swing 的方式来构建流程时,使用很多原生的库、GUI、JformBuilder,觉得画一个表单很困难, 尽管有些产品商已经用了,依然非常难用。静下来思考后,通过 google,找到了 miglayout 这个库,问题才得以解决。

困境是个人成长的最好机会,放弃、逃避、拒绝思考,就意味着放弃成长。如果遇到困境不自知,不解决,则会出现昨日所不知不能者,今日仍是不知不能;去年所不知不能者,今年仍是不知不能。

同时,最近有很多同学向我反馈,遇到困境时,通过个人的努力依然不能突破。这种情况下,可以尝试另外一条路,像《能力陷阱》这本书所说的一样,可以引入外部的力量。

3. 学习能力与思维模式是一个人的核心竞争力

没有自学能力的人没有未来。
李笑来

3.1 首先承认自己的不足

Stay foolish, stay hungry.

我们要承认一个基本的逻辑事实是: 任何事情不是天生就能精通,要通过训练才能达到优秀的程度。很多事物的判断能力,要是逐步建立的。只有意识到自己的不足,才能觉悟,去学习进步。

网上看到一张图《how to draw a horse》深有感触:

这个漫画显示的哲理:有时最后一步,你要付出非常多的努力。任何高水平的技术或思维模式,都需要付出努力,并非生而得来。

3.2 掌握优秀的学习方法:

如何证明一个人有比较优秀的学习能力?学习做到目到,口到,心到。

读书要目到,口到,心到。尔读书不看清这画偏旁,不辩明句读,不记清首尾,是目不到也。喉,舌,唇,牙,齿五间音并不清晰伶俐,蒙笼含糊,听不明白,或多几字,或少几字,只图混过就是,是口不到也。经传精义奥皆初学固不能通,至于大略粗解原易明白,稍肯用心体会,一字求一字下落,一句求一句道理,一事求一事原委,虚字审其神气,实字测其义理,自然渐有所悟。一时思索不得,即请先生解说,一时尚未融稀,即将上下文或别章别部义理相近者反复推寻,务期了然于心,了解于口,始可放手。总要将此心运在字里行间,时复思绎,乃为心到。
左宗棠 《与孝威孝宽》

当你能完全能用自己的语言准确讲述你所学的知识,知其然,并知其所以然,你才是真正完全的掌握。对于工程师来说,学习要做到目到、口到、心到、手到。

3.3 掌握搜索信息的有效方式

现代是一个信息非常充分乃至爆炸的信息社会。如何高效获取信息,分析信息是非常重要的能力。相对常规的模式是:当你发现问题,定义出问题,就去搜索业界最优秀的解决方案,并且花时间研究方案,了解原理,最后不断地学习实践。这种方式能够有效保证你对问题的解决方案是相对优秀的解决方案。公司对高层级的同学,必须有业界全局的视眼与思考。

如何提升获取的信息质量,这里有一些建议:

  • 精确定位问题
  • 梳理出关键字与概念
  • “全网”搜索
  • 分析研究
  • 实践&结论&假设

3.4 具备优秀的批判性思维模型

在《批判性思维工具》一书中,对思维的水平分了三个层次:较差、中等、最佳水平的思考(如下图1)。当前很多同学可能在多数问题上都处于较差水平层次,很多认知来自直觉或者自我视角。最佳水平的思考要做到三点:全局、公正、客观。

另外,多数人终生停留在鲁莽的思考阶段。鲁莽的思考者,不知道如何确定自己的目的是否清晰,不知道自己的假设是否公正,不知道自己的结论是否符合逻辑。如果没有思考的概念,也就从不会对自己的思维进行反思。

左宗棠的学习方法与国外的《批判性思维工具》,都在要求我们把自身脑海中不清晰的概念与逻辑梳理清楚,建立满足第一性原理的认知体系与评判标准。幸好在当今互联的信息社会,很多人已经开始这样做了,所以从小就受“填鸭”式教育的我们,更需要奋力精进。

参考资料:
1.结对编程 
2.李笑来的自学 
3.怎么变成一个更好的程序员 
4.找到高质量信息指引

致未来世界的开发者:阿里云峰会·上海-开发者大会将于7月24日上海启动。五大专场,大咖云集,畅享干货,共探趋势,志同道合的码友等你来。限量门票现在开抢,点击下方链接阅读原文进行报名。

原文链接
本文为云栖社区原创内容,未经允许不得转载。

阿里资深技术专家的10年感悟相关推荐

  1. 阿里资深技术专家:谁说程序员是吃“青春饭”的?

    你是否认真思考过:毕业 3-5 年.10 年,乃至更久后,我们希望成为什么样的人?作为一名技术人,我们要如何规划自己的职业发展生涯? 网上热议的"35 岁中年危机",本质上又因什么 ...

  2. (转自阿里技术)如何快速成长为技术大牛?阿里资深技术专家的总结亮了

    如何快速成长为技术大牛?阿里资深技术专家的总结亮了 李运华 阿里技术 3月29日 阿里妹导读:你是否有类似这样的问题--"天天写业务代码的程序员,怎么成为技术大牛,开始写技术代码?" ...

  3. 花了我一个晚上浓缩了一整套阿里资深技术专家设计教程整理出的java架构设计方法

    最近学习了阿里资深技术专家设计教程,颇有收获,总结一下. 1 基本概念和目的   相关资料领取 架构设计的目的是为了解决系统复杂度带来的问题,并不是要面面俱到,不需要每个架构都具备高性能.高可用.高扩 ...

  4. 阿里资深技术专家崮德:8 个影响我职业生涯的重要技能

    崮德 阿里资深技术专家 读完需要 7 分钟 速读仅需 3 分钟 崮德, 2005 年毕业于浙江大学,获得电路与系统硕士学位,后加入华为,从事 2G 和 3G 的基站开发.2006 年加盟上海晨讯科技, ...

  5. 8月8日云栖精选夜读 | 阿里资深技术专家林轩:云时代软件研发的终局猜想

    2015 年到 2016 年,是业界普遍认为的容器技术爆发的一年,短短几年时间,我们看到容器技术星火燎原.但是容器毕竟是个底层产品,距离业务还很远.对云上客户来说,直接需要的终归是直接触达业务的应用. ...

  6. 阿里资深技术专家崮德:如何成就更好的自己

    简介:希望团队里的同学好好想一想,如何成就更好的自己? 之前发布了一篇崮德的文章:<15 年工龄的资深技术专家职场历程自述>,引发了很多开发者的关注和讨论.近日,崮德在内部分享中也再次谈到 ...

  7. 阿里资深技术专家何勉详解研发效能提升的关键

    云栖君导读:研发效能的提升必须落实为团队需求.协作和工程技术等实践.接下来的几篇文章,我将结合不同BU的案例,介绍研发效能提升的具体实践. 本篇将从团队协作的实践开始,通过可视化端到端的价值流动过程, ...

  8. 如何衡量研发效能?阿里资深技术专家提出了5组指标

    阿里妹导读:新的一年,相信很多产品技术团队把研发效能提升列为重要的目标,甚至还有团队为此专门成立了项目组.然而,到底什么是好的研发效能,却很少有人能够表达清楚.标准不清晰,又何谈提升? 今天,阿里研发 ...

  9. 阿里资深技术专家:优秀的数据库存储引擎应具备哪些能力?

    导读 本文作者是阿里巴巴OLTP数据库团队资深技术专家--曲山.作为自研高性能.低成本存储引擎X-Engine的负责人,曲山眼中的优秀关系型数据库存储引擎应该具备哪些能力呢? 正文 数据库内核按层次来 ...

最新文章

  1. Bootstrap学习记录-2.container和table
  2. 【青少年编程(第24周)】Python-Turtle组队学习结营!
  3. 2021年春季学期-信号与系统-第六次作业参考答案-第五小题
  4. minist读取一张图片
  5. 计算机成绩统计优秀率,基于决策树算法的成绩优秀率分析与研究.pdf
  6. 通过运行时单步调试弄清楚[(ngModel)]的双向绑定的工作原理
  7. 使用nodejs代码在SAP C4C里创建Individual customer
  8. 【转】C#运算符重载**
  9. 解决Entry fileTemplates//Singleton.java.ft not found in C:/Dev/android-studio/lib/resources_en.jar
  10. 使用FactoryBean定制实例化逻辑
  11. 组装复杂json请求数据和解析复杂json数据
  12. HTML5基本知识小测验
  13. java 补位_Java 经典问题
  14. Qt开源作品40-图片及文字与base64编码互换
  15. linux像win7,如何使Ubuntu看起来像Windows 7
  16. 如何在荣耀笔记本电脑上设置透明桌面便签?
  17. 直播用的计算机配置,直播吃鸡需要什么配置才行?
  18. Java操作Oracle数据库——ARRAY TABLE类型批量数据处理区别比较
  19. Android大举进入智能电视领域
  20. WMLS10自动建立BIN位(模板配置)

热门文章

  1. Java的多线程以及内存模型的知识点梳理,有想到过这些吗?
  2. winform mysql 工具类_C#工具类MySqlHelper,基于MySql.Data.MySqlClient封装
  3. 打开word2007总是出现配置进度_实战经验:Word 2007每次打开都弹出正在配置
  4. 玩ts要注意什么_番禺三维创意拍摄要注意什么
  5. 未来如何与计算机和谐相处,未来计算机将进入身体和大脑,大脑将和云连接
  6. java项目导入不了怎么办_Myeclipse导入项目无法部署或者丢失了.setting文件夹怎么办...
  7. 64位java_树莓派3B+安装64位ubuntu系统和docker工具
  8. 多位博士毕业去了三四流高校,现在怎么样了?
  9. python输出结果每5个换行_python for循环 - python基础入门(11)
  10. 1971旗舰cpu intel_CPU的历史