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

阿里妹导读:阿里有许多土话,比如“方法总比困难多”、“不淘汰自己就会被别人淘汰”、“你感觉不舒服的时候,就是成长的时候”。每一句都在激励我们向前。生活总不缺困难和磨练,痛苦的时候,只有转变思维,才能蜕变。今天,阿里巴巴资深技术专家无相分享他在阿里这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日上海启动。五大专场,大咖云集,畅享干货,共探趋势,志同道合的码友等你来。限量门票现在开抢,点击下方链接阅读原文进行报名。


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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/518438.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

npm ERR! cb() never called!

文章目录1. 问题现象2.解决方案1. 问题现象 0 info it worked if it ends with ok 1 verbose cli [ D:\\ProgramFiles\\nodejs\\node.exe, 1 verbose cli D:\\ProgramFiles\\nodejs\\node_modules\\npm\\bin\\npm-cli.js, 1 verbose cli install, 1 verbose cli -g, 1 v…

AnalyticDB for MySQL 3.0基础版重磅发布

随着大数据技术的迅速发展以及对数据价值的认识逐渐加深,大数据已经融合到各行各业。据可靠权威数据显示,超过39.6%的企业正在应用数据并从中获益,超过89.6%的企业已经成立或计划成立相关的大数据分析部,超过六成的企业在扩大数据…

主键索引 or 辅助索引?一文告诉你 Mysql limit 优化时的索引选择!

作者 | 吴海存责编 | 徐威龙封图| CSDN下载于视觉中国导读:本文主要针对limit分页时,是优先基于主键索引还是辅助索引等层面展开分析,对limit及offset的用法以及是否该用索引不会过多赘述。我们知道,在Mysql中可以通过limit实现快…

html-iframe内联框架

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>内联框架学习</title> </head> <body><!-- iframe内联框架 src : 地址 w-h : 宽度高度 --><iframe src"https://www.…

mysql [ERR] 1273 - Unknown collation: ‘utf8mb4_0900_ai_ci‘

导入sql报错 [ERR] 1273 - Unknown collation: ‘utf8mb4_0900_ai_ci’ 生成转储文件的数据库版本为8.0,要导入sql文件的数据库版本为5.6,因为是高版本导入到低版本&#xff0c;引起1273错误 解决方法 打开sql文件&#xff0c;将文件中的所有utf8mb4_0900_ai_ci替换为utf8_gen…

MongoDB sharding 集合不分片性能更高?

最近云上用户用户遇到一个 sharding 集群性能问题的疑惑&#xff0c;比较有代表性&#xff0c;简单分享一下 测试配置 mongos x 2、shard x 3测试1&#xff1a;集合不开启分片&#xff0c;批量 insert 导入数据&#xff0c;每个 batch 100 个文档测试2&#xff1a;集合开启分…

一个阿里产品经理眼中的“垃圾分类”

我叫切斯&#xff0c;是阿里巴巴的一名产品经理。今天和大家说说一个上线刚刚6天&#xff0c;已被500多万网友疯玩的AI——垃圾图像识别&#xff0c;可见垃圾分类苦天下网友久矣。 以下是一个产品经理的碎碎念~ 有人说它是“国内首款真正的垃圾图像识别产品”&#xff0c;对着…

Mysql8.0 的sql修改成 Mysql7.X的sql

将utf8mb4_0900_ai_ci替换为utf8mb4_general_ci 案例&#xff1a; Mysql8.0 ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_0900_ai_ci COMMENT分类;Mysql7.X ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_general_ci COMMENT测试;

html-初识表单post和get提交

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>登录注册</title> </head> <body> <h1>注册</h1> <!-- 表单formaction: 表单提交的位置&#xff0c;可以是网站&…

数据仓库架构以及多维数据模型的设计

作者 | 云祁封图| CSDN下载于视觉中国一、前言作者最近看了《Hadoop构建数据仓库实践》这本书&#xff0c;收获很多&#xff0c;把一些关于数仓实践的心得整理出来&#xff0c;方便大家共同学习。注&#xff1a;本文内容由作者摘自《Hadoop构建数据仓库实践》与其他相关参考资料…

npm使用taobao镜像

# 显示当前镜像网址 npm get registry# 使用淘宝镜像网址 npm config set registry https://registry.npm.taobao.org/

html-文本框和单选框

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>登录注册</title> </head> <body> <h1>注册</h1> <!-- 表单form action: 表单提交的位置&#xff0c;可以是网站&am…

如何使用 Mybatis 实现数据库 CURD 操作?

作者 | 阿文&#xff0c;责编 | 郭芮头图 | CSDN 下载自东方IC出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;MyBatis 是一款优秀的持久层框架&#xff0c;它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的…

如何使用confd+ACM管理Nginx配置

Nginx 作为优秀的开源软件&#xff0c;凭借其高性能高并发等特点&#xff0c;常常作为web和反向代理服务部署在生产环境中。但是当 Nginx 的规模较大时&#xff0c; Nginx 的运维成本也是不断上升。本文介绍如何通过confdACM来管理 Nginx 配置&#xff0c;通过集中式的配置管理…

Vue CLI 安装

前提&#xff1a;安装vue/cli之前要先安装nodejs nodejs官网&#xff1a;https://nodejs.org/en/ Vue CLI官网&#xff1a;https://cli.vuejs.org/zh/ # 安装最新版本vue/cli npm install -g vue/cli# 安装指定版本vue/cli npm install -g vue/cli4.5.9# 查看vue/cli版本 vue -…

html-按钮和多选框

<!-- 多选框input type"checkbox"checked: 默认选中--><p>爱好:<input type"checkbox" value"sleep" name"hobby">睡觉<input type"checkbox" value"code" name"hobby" checked&g…

Soloπ:支付宝开源的Android专项测试工具

1.前言 近年来&#xff0c;随着移动互联网的蓬勃发展&#xff0c;移动测试技术也取得了长足的进步&#xff0c;从早期基于测试脚本的单机自动化&#xff0c;到录制回放、图像识别、云测平台等测试技术贴合实际业务需求深度应用和创新&#xff0c;测试效率从而一次又一次被提升…

Ant-Design-Vue 安装

Ant-Design-Vue官网&#xff1a;https://2x.antdv.com/components/layout-cn # 安装ant-design-vue最新版 npm install ant-design-vue --save# 安装ant-design-vue 指定版本 npm install ant-design-vue2.1.2 --save # 配置 ant-design-vue import Antd from ant-design-vue…

详析 Kubernetes 在边缘计算领域的发展

作者 | 张杰来源 | 分布式实验室现在开源边缘计算正在经历其业界最具活力的发展阶段。如此多的开源平台&#xff0c;如此多的整合以及如此多的标准化举措&#xff01;这显示了构建更好平台的强大动力&#xff0c;以便将云计算带到边缘以满足不断增长的需求。同时Kubernetes现在…

Aliyun Serverless VSCode Extension 上架并开源

Aliyun Serverless VSCode Extension Aliyun Serverless VSCode Extension 是阿里云 Serverless 产品 函数计算 Function Compute 的 VSCode 插件&#xff0c;该插件是结合了函数计算 Fun 工具以及函数计算 SDK &#xff0c;为用户提供 VSCode 图形化开发调试函数计算以及操作…