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

一、程序员不善言词

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

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

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

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

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

二、与产品经理的沟通

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

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

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

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

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

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

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

鸡同鸭讲的问题

鸡同鸭讲最主要的问题,就是沟通双方没有共同的语言。 产品经理和程序员,从上面 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 个步骤:

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

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

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

欢迎大家评论,点赞。如果文中有不足之处,也欢迎大家留言批评并指正。
大家在工作中,遇到什么沟通的问题,或沟通的好方法,也欢迎大家留言评论。

八、参考

相关推荐
feilieren5 小时前
信创改造 - TongRDS 替换 Redis
java·spring boot·后端
hani19905 小时前
beikeshop 与swoole结合,让网站打开飞起
后端·swoole
knoci6 小时前
【Go】-go中的锁机制
后端·学习·golang
Mike_188702783516 小时前
深入探索Golang的GMP调度机制:源码解析与实现原理
开发语言·后端·golang
不7夜宵6 小时前
Golang 反射
开发语言·后端·golang
AskHarries6 小时前
Spring Cloud Consul实现选举机制
java·后端·spring cloud·consul
山山而川粤7 小时前
大连环保公益管理系统|Java|SSM|Vue| 前后端分离
java·开发语言·后端·学习·mysql
尘浮生7 小时前
Java项目实战II基于SpringBoot前后端分离的网吧管理系统(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·后端·微信小程序·小程序
哎呦没7 小时前
企业OA管理系统:Spring Boot技术实现与案例研究
android·spring boot·后端
人才程序员8 小时前
详解Qt QStorageInfo 存储信息类
c语言·开发语言·c++·后端·qt·界面