3

程序员怎么做沟通?聊一聊程序员沟通相关的问题 - 九卷

 6 months ago
source link: https://www.cnblogs.com/jiujuan/p/18029741
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

一、程序员不善言词

在大家的印象中,程序员好像是一群不善言词的理工男。为什么大家会有这种刻板的印象呢?

因为程序员的工作,只需要一台电脑,一根网线,就可以开始工作了。好像不需要与人打交道。一段进入到工作状态,编码的时候还不希望被别人打扰,其实是编码思路不愿意被打断。
这时候,他们就可以两耳不闻窗外事,一心只编俺的代码。此时编写程序,是不需要与其它相关人员沟通,只需要和电脑打交道。

但是,实际的情况是不是都不需要与人沟通了呢?当然不是。上面说的情况只是开发一款软件产品或产品功能过程中的一个步骤。
一款软件产品的开发或产品的一项功能开发,到最后上线运营,中间要经历很多步骤。

如下图,一款产品开发的简单步骤:

image

上图中,编码开发还包括美工、UI、前端、测试、后端等。在最后面还有一个步骤 - 产品运营。所以开发一款产品,涉及到的利益相关人员很多,需要沟通的人也很多。
在这里,程序员最需要沟通的人员就是产品经理。

二、与产品经理的沟通

程序员与产品经理是 2 种不同的职业,主要职能和思维方式都不相同,专注的点也不同。

产品经理vs程序员职能对比

产品经理专注于用户需求,竞品分析,产品设计,产品运营指标等等。程序员一般专注于接口设计,程序设计,技术架构,解决方案设计,编码实现,产品落地等等。

image

产品经理vs程序员思维方式对比

产品经理与程序员的思维方式也不相同。

产品经理主要想的是用户需求,也就是用户需要什么,在什么场景下需要。用户内心需要什么。竞品有哪些,产品体验怎么做才更好,就像 iphone 的使用体验。怎么让用户不需要思考很顺畅的使用产品,用户怎么增长。产品怎么挣钱,商业模式是什么等。比较关注上层和大的方面。

程序员想的是功能怎么实现才好,下次需求变动少改代码。技术选型,哪些技术比较适合现在的项目。技术怎么设计和架构,才能应对未来的变化。有哪些好的解决方案。有什么新技术。关注技术细节。功能怎么实现落地。比较关注技术细节。

image

鸡同鸭讲的问题

鸡同鸭讲最主要的问题,就是沟通双方没有共同的语言。
产品经理和程序员,从上面 2 组图片里的内容就可以看出来,它们各自的职能和思维方式都有很大的不同。在工作上,大家各自职责内的专业术语都没有多少相同。这就有可能在沟通时,导致鸡同鸭讲的问题。产品经理说的内容,程序员不能很好的理解。

怎么办?

  • 第一:产品经理能学一些技术相关的内容,不需要学得太深,能顺利沟通就好。毕竟产品经理也不需要编码实现产品功能。这也是为什么有很多技术转产品的一个原因,就是有技术基础,沟通起来会比较有共同语言。
  • 第二:技术人员学一点产品知识,利于彼此沟通。

这个大家可以相互开讲座,培训彼此所需要的知识。还可以增加彼此之间的了解。

只有彼此了解,才会理解,沟通才能更加顺利。

不合理的需求

先看一个流传很广的需求故事,就是产品经理给程序员提了一个需求:

要求app的主题颜色可以随着用户手机壳颜色改变而变化。
然后,程序员和产品经理就干了起来。

这种看起来,就目前阶段的技术来说,就是一个让人很无语的需求。属于无理需求的范围了。

在需求开发时,如果程序员认为是一个不合理的需求,一定要及时与产品经理沟通,询问这个做这个需求的目的,对产品有哪些好处,能带来什么收益?最好能有一些具体的指标,比如用户可能增加多少?用户停留页面时间增加多少?等等。而且上线之后,要和产品经理一起复盘数据,是否达到了当初预期效果。登记起来,既可以做考核指标,提出需求的有效比例,也是对产品经理的警醒。

当然其它需求也要做同样的操作,但是你认为不合理的需求更要重点关注,以此警醒产品经理提需求时要更加深入思考,提出合理的需求。

需求理解不一致

最能理解这个主题的意思,莫过于一幅树秋千的漫画:

(图片来自于网络,最原始图来自于:www.projectcartoon.com)

客户自己真正需要的和客户描述的往往不一致,在经过相关人员的层层描述,离客户真正需要的越来越远。用户表达出来的需求和自身真正需要的相差甚远。
同理,产品经理获得的用户需求可能和用户需要的相差甚远,即使差的不远,到了开发人员(程序员)这里,开发实现也可能与产品经理描述的需求差的很远,最终导致产品没能满足用户需求。

这就需要开发人员(程序员)与产品经理不断的进行沟通,持续修复错误的认知,慢慢才能接近本质。
同样,开发人员(程序员)有时不可能一开始就有直达本质的解决方案,需要在开发过程中,渐渐弄明白本质的解决方案。

最重要的 3 点:

  • 一是从不同的角度来理解用户的需求,尽量对需求有深入的理解。
  • 二是不断的沟通,修复错误的认知,加快正确的认知过程。
  • 三是程序设计的灵活性,出现问题时能尽快调整程序。

三、与上级领导的沟通

与上级领导的沟通,一般有如下几种:

  • 项目任务分配及对任务的预期
  • 一些会议,比如周会
  • 1 对 1 沟通

项目任务分配和做任务时:
做任务前要做好是,任务完成的预估时间表。
在做的过程中,如果遇到了困难,要及时向领导反馈情况。每隔一段时间向领导汇报项目的进度情况,让他对项目的进展做到心里有数。

件件有着落,事事有回音。
及时反馈任务完成进度情况。

完成后,复盘总结。

1 对 1 沟通:

1 对 1 的沟通,是与领导沟通的好时机,你可以把在工作中遇到的困惑问题,学习方向等等问题,都可以与领导好好沟通,寻求它的意见或建议。

在沟通前,一定要好好准备,可以把想要沟通的问题都写在纸张上。

四、技术提问

现在随着 AI 技术的发展,出现了 ChatGPT ,能智能回答问题的应用,它可以直接给出答案,这给技术人带来了不少福音。

在还有就是向搜索引擎提问,一种常见的是百度、谷歌、Bing 这种传统的搜素引擎。
还有一种是结合了 ChatGPT、Bard 等的 AI 型搜索引擎,也是搜索问题答案的很好的方式。

最后一种常见的就是在问答社区、群里进行提问。这种提问,有一个很好的提问指引文章,就是提问的智慧 这篇文章,文章很长,但值得一看,会有收获的。

举一个例子,比如编码出现了 bug,不知道这个 bug 怎么解决,我要怎么提问才能更好的得到别人的回答:

  1. 交代编码环境:使用编程语言的版本,使用的操作系统是 Linux 还是 Win 等和它的版本
  2. 代码背景:我想用代码实现一个什么样的功能
  3. 代码实现:把你编写的代码 Copy 一份出来,给别人检查,有注释更好,别人能理解你代码实现的步骤和逻辑。最好能 Copy 一份出来在线运行。当然敏感信息可以去掉。比如 Go 编程语言,有 Go Playground
  4. bug 报错信息:给出 bug 报错的详尽信息,这是修正 bug 所需的最重要的线索
  5. 反馈:修复 bug 后,最好能给出你修复了的反馈信息。比如 bug 具体错误在哪?怎么修复的等等
  6. 感谢:最后要表达你的感谢,感谢别人的帮助

还有一点,就是谦虚的请教。因为群里聊天有时容易情绪化,都隔着一条长长的网线。

五、信息传递过程的损耗

我们想传递信息时,说话表达是最普遍的方式。

我们想给某人传递一条信息时的过程,首先自己心里想说的,然后嘴巴用语言表达出来的,把信息传递给对方,对方接收到信息被听到的信息,理解你的语言信息,听懂了的信息(可能只有一部分),最后才是执行。

信息从传递到被接收到最后执行,有这么一个过程。信息在这个传递的过程中是会损耗。我们在用户增长中有一个漏斗模型 AARRR。同理,在信息传递过程中,也有一个信息漏斗效应。

信息传递漏斗效应,模型示意图:

这也是上面的小节中,需求理解不一致导致的原因,信息在传递过程中是会损耗的,到最后需求理解就出现了很大的偏差。

六、沟通的环境和话语的判断

沟通的环境对于沟通双方来说都很重要,总体来说要有一个安全的环境。

沟通的地方,一般在公司里的话,会选择独立的会议室,这样就不会被人打扰,也不会被人听到沟通的信息。

沟通双方的情绪也要是“安全”。如果是对立的话,要想法设法降低对立情绪。

话语的判断:

对于别人说的一句话,是事实,是观点,还是个人感受,一定要分辨清楚。

七、更好的表达方法

金字塔原理

使用金字塔原理来进行条理分明,逻辑清晰的表达。
金字塔原理这本书里有一条沟通的方法:自上而下,结论先行

金字塔中的结构关系:

  • 纵向关系:总结论与份论点、论据之间的纵向关系。

上一层的结论或思想是下一层的概括总结。自上而下结论先行

  • 横向关系:分论点之间的横向关系。

横向关系有,演绎关系从因到果,层层递进,推理的结论就是上一层的结论或思想。还有一个,归纳关系就是事物或思想之间有共性,上一层就是对下一层的概括总结。

叙述的方式:可以从 背景、冲突、疑问、回答 四个要素来展开。

当然书里面还有其它的方法,建议大家多看看这本书,然后运用它们。

非暴力沟通

非暴力沟通是一本关于沟通方面很好的书籍,这本书描述了一种平和的沟通方式 ,通过观察、感受、需要和请求这四步来进行沟通,而不是用道德评判、比较、回避责任和强人所难的方式进行沟通。

导致非暴力沟通的一个重要原因:就是忽视了对方的感受
比如夫妻双方沟通时,要多关注感受,而不是讲了多大的道理。

说下 2 种典型的很不好的沟通方式,道德评判和比较。

道德评判:当一个人的话语和行为不符合我们的价值观时,我们会习惯给出道德评判。比如这个人没素质,这个人太自私等等。

比较:比较是更容易发生的。比如父母眼中别人家的孩子怎么样怎么样。还有我有一个朋友xxx怎么样。反正都是别人家的好。

非暴力沟通的 4 个步骤:

  • 第一步:观察事实,而不是评论
  • 第二步:表达自己的感受
  • 第三步:表达自己的需要
  • 第四步:提出明确的诉求

我们在听别人说话时,不仅要理解说话的内容,还要感知对方说话时的情绪。

更多内容请好好看看这本书。

欢迎大家评论,点推荐。如果文中有不足之处,也欢迎大家留言批评并指正。

大家在工作中,遇到什么沟通的问题,或沟通的好方法,也欢迎大家留言评论。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK