关于javascript:​如何让技术想法更容易被理解

25次阅读

共计 3395 个字符,预计需要花费 9 分钟才能阅读完成。

简介:沟通说起来简略,要做好却很难。如何把简单的技术问题通俗易懂地表达出来,让他人听懂,是每个技术人都会面临的难题。本文作者以本身经验为背景,总结技术人员在日常技术交换过程中,遇到的一些低效的技术沟通形式,尝试剖析沟通单方的心理状态,并试图探讨晋升沟通效率的办法。

一 一些低效的技术沟通案例

1、技术问题形容不清,解决效率低下

同学 A 在交付现场遇到技术问题,在我的项目群外面求助同学 B 的解决过程。

同学 A:大佬,云架构改了之后,数据库布局不了。
同学 A:解决方案导不进去。
其他同学 CDEF:其余问题探讨,冲乱了上下文。
同学 A:数据库不能布局,报危险。
同学 B:先把问题形容分明。

同学 A 可能的心理状态:这个是产品的问题,不是我的问题,我曾经把日志和截图发群外面了。你负责的问题你本人爬楼看。

同学 B 可能的心理状态:这啥问题啊,还得爬楼看,当初没空,先不解决。…… N 小时后,纳尼,方才是哪个群在 @我了,群太多找不到了,没电话,看来不焦急,先去吃个饭。

同学 A 心态和办法需转变:谁的问题不是最要的,最重要的是我如何让下一个环节的接口人,在最短的工夫内丝滑般地了解这个问题是什么?让他晓得我是等米下锅的焦急情绪。

可行的发问形式:比方把须要钉钉上爬楼看到的碎片信息,提炼后这么发问:“这里有一个问题须要你解决,问题景象是 xxx,咱们的预期是 xxx,理论看到的是 xxx,不合乎预期,从日志和报错看可能是 xxx 出问题了。咱们 xx 我的项目在线等,急需解决。”

2、计划太形象,可复制性无限

一次在线技术分享直播,会后有同学就培训细节进行征询。

讲师 C:咱们这个计划,controller 调用 apiserver 进行调度,而后 apiserver 去数据库外面查问元数据配置信息后,向业务服务器发送申请。巴拉巴拉,我不耽搁大家太多工夫,讲快点。
培训完结,一片掌声。
同学 D:这个计划我须要拿去和客户交换的,得把原理弄清楚一点,加一些文字描述不便客户了解。

一次电话交换

讲师 C 可能的心态:曾经画分明了,还做了培训,听完得本人思考消化啊。

同学 D 可能的心态:这些框框画起来容易,没有相应的阐明,在客户那里交换成果可能会很差,须要找不同的人穿插验证下,而后从新欠缺资料。

讲师 C 的心态需转变:最好的学习办法就是用艰深的语言教会他人,如果不能让他人容易了解,那阐明本人还没有把握透彻。

可行的交换形式:上次分享工夫比拟无限,没说得很透彻,用一个艰深的例子来说,可能更好了解,…… 此处省略 500 字。而后联合客户场景,单方开展更具体的探讨,各有播种。

3、外围问题(技术决策点)未突出,技术评审效率低下

同学 E 去跟客户介绍了一个三机房的计划,须要客户做决策抉择是物理第三机房还是逻辑第三机房,然而客户听完后,没有 get 到决策点是啥?

一次决策汇报会

可行的交换形式:在计划介绍后,整顿 2 个候选计划的优劣势,标红加粗决策点是什么。

上述场景中,有 2 个问题须要解决:

  • 换位思考做得不够。只思考了本人须要什么,没思考到对方利益和危险。
  • 没有用对方能了解的语言来表白。

二 解决办法

  • 换位思考,是意识的转变,这个转变说起来容易,做起来难。《终生成长》这本书外面有个外围的观点:比起“证实我比他人更厉害”和“这不是我的问题”的想法,“一起解决问题并学到更多货色”的想法,更有助于成长。
  • 借用费曼学习法来解决,外围观点是 ” 如果你认为本人学会了某个专业知识,看看是否把这个常识教会 10 岁的孩子就晓得了 ”。

费曼自己是诺贝尔得奖者,也是驰名的教育学家,他的学习办法分为四步:

1、抉择一个概念

选一个你想学习的概念。

2、讲授这个概念(费曼技巧的灵魂)

构想,你面对这个畛域的菜鸟,甚至面对十岁的孩童,试图解释分明这个概念,并让对方齐全听懂。

一方面加深你的了解,另一方面,找到不明确的节点或卡点。

3、查漏补缺

当你无法解释的时候,从新回头找答案。

回到书下来,回去找同学、找老师、找曾经懂的人,把这个概念从新钻研一遍。
后果要求,你可能把这个概念从新流利地解释进去。

4、简化语言和尝试类比

持续升华。假若是一个学术化或抽象化的词语,尝试用简洁词语来解释,用别的货色来类比它。特地留神的是,类别的目标是更好地了解外围观点,容许和技术原意有小差别。

三 体验费曼学习法的过程

笔者第一次听他人介绍微服务中注册核心的性能介绍和实现原理时,对于 RPC、RS、SessionServer、DataServer、MetaServer 术语,有点懵的感觉。笔者过后有一个想法,如果我来向客户介绍微服务的产品时,怎么让他们更容易了解呢?于是开始先找官网文档、研发团队的文档了解后,而后用生存中的小故事小场景来介绍。

1、什么是 RPC?

技术解释

RPC(Remote Procedure Call)的实质是为了屏蔽网络的细节和复杂性,提供易用的 api,让用户就像调用本地函数一样实现近程调用,所以 RPC 最重要的就是“像调用本地函数一样”实现近程调用,齐全不让用户感知到底层的网络。Sofa 产品外面不同容器间,通过 RPC 调用,实现的“高内聚,低耦合”的成果。

艰深介绍

几个闺蜜在逛街,有人说忽然想起快递没收,要回去收快递。另外一个人说,打个电话回去给老公去收快递就行了。提前和老公阐明收快递的信息(哪个快递公司、快递点在哪里、快递外面是什么、收件人姓名和电话),打电话近程操作老公收快递这个过程,叫 RPC。

2、什么是注册核心?

技术解释

Registry 是指具备承载海量服务注册和订阅能力的、高可用的服务注册核心。Registry 服务注册核心分为四个角色:客户端(Client)、会话服务器(SessionServer)、数据服务器(DataServer)、元数据服务器(MetaServer),每个角色司职不同能力组合后独特提供对外服务能力。

Registry 服务注册核心的次要组件有:

  • Client:提供利用接入服务注册核心的根本 API 能力,利用零碎通过依赖客户端 JAR 包,通过编程形式调用服务注册核心的服务订阅和服务公布能力。
  • SessionServer:会话服务器,提供客户端接入能力,承受客户端的服务公布及服务订阅申请,并作为一个中间层将公布数据转发 DataServer 存储。SessionServer 可有限扩大以反对海量客户端连贯。
  • DataServer:数据服务器,负责存储客户端公布数据,数据存储依照数据 ID 进行一致性 hash 分片存储,反对多正本备份,保证数据高可用。DataServer 可有限扩大以反对海量数据量。
  • MetaServer:元数据服务器,负责保护集群 SessionServer 和 DataServer 的统一列表,在节点变更时及时告诉集群内其余节点。

艰深介绍

注册核心产品可了解为二手房中介机构,微服务架构中的服务注册 / 发现 / 调用,可类比买家和卖家通过中介实现房产交易的过程。

  • Client:客户端能够是买房者,也能够是房东。
  • SessionnServer:相似于中介的门店,负责接待买房者和房东。门店能够依据业务增长而加门店。
  • DataServer:相似于中介公司后盾的数据库,记录所有门店的客户数据,含买房者和房东。
  • MetaServer:相似中介公司的门店零碎,保护门店和客户数据,对买房者和房东不可见。当有门店或客户信息发生变化时,及时告诉所有的门店。比方有个房子忽然提价 20 万急售,须要告诉到所有门店去找客户。

服务注册过程(房东卖房子)

服务调用过程(买家询价)

四 建设本人的场景库

1、保护一个本人的术语表,辨认出在客户交换界面的高频术语

穿过身材的常识才属于本人,哪怕是看到他人写得好的资料,抄一遍。

2、为高频术语都别离筹备一个有生存场景的介绍

平时多察看生存中人 / 事 / 物之间的关系,道法天然。很多设计模式,比方代理模式(例子:专利申报代理机构)、责任链模式(例子:提交购房资格申请,不关怀哪个委办局来解决,最初能取得购房资格即可)、观察者模式(例子:某银行在投标网站公布一个我的项目投标需要后,各类乙方厂商订阅到有新我的项目投标,蜂拥而上)等等都能在生存找到类似的影子。笔者迟钝,此处无奈穷举所有设计模式。

3、及时做笔记和继续更新

为高频术语筹备故事或场景,不是专门花一段时间能够欠缺的,有时候是中午忽然冒出来的灵感,有时候是刚好看到一份材料外面写得比拟好。

作者:开发者小助手_LS
原文链接
本文为阿里云原创内容,未经容许不得转载

正文完
 0