程序员不做独行侠——沟通的核心是感受

程序员不做独行侠——沟通的核心是感受_第1张图片

小故事折射出的问题

先讲个故事吧,一个同事接了一个需求开发几个接口,下游需要和几个大手机厂商的接口对接,组内算是一个全新的开发内容了,也没有什么现有项目可以参考的。开发周期大概两周,每周都有周会汇报本周的工作,项目研发期间也开过多次会议讨论各种问题,这个同事也从未反映过任何问题。直到项目提测的时间点就要到了,前端的同学一直抱怨接口还没有调通。组长也比较着急,多次询问同事什么时候能调通,并让给个时间结点,同事应付着给了,可到了时间却还是没有开发出来。最终项目延期,全组受影响,这位同事不久后自己申请离职了。

这个故事可能有些极端,相信大多数程序员不会走到这步。不过这位同事的做事方式,相信是很多程序员的通病。善于钻研、分析、独立解决问题,一向被誉为技术人员的优秀品质,而程序员们也乐于这样做事情。遇到问题,自己查资料、不断的调试、可劲儿地钻研,很少主动向同事,尤其是向领导求助。分析本质原因,这是因为技术人员内心根本没有把向上级汇报自己的工作进展认为是自己应尽工作的一部分。技术心里普遍认为,我按时把活做出来,到时候能提测能上线就行了,过程不重要,你们不要烦我。当然,如果你真能把工作按时做出来,保障项目顺利上线,自然领导也不会找你的茬。不过,技术心里必须要明白一点,这对你自身并没有什么好处,事情做好了,领导会认为这个事情本身很简单,你只是萧规曹随,按部就班,工作无难点无创意;而一旦遇到一些意料之外解决起来比较棘手的问题,导致项目无法按时上线,背锅却是技术自己。

程序员不做独行侠——沟通的核心是感受_第2张图片

沟通的核心是感受

如果说一个人沟通能力很强,那代表什么呢?是说他口若悬河、纵横捭阖、舌战群儒,处处据理力争,能做到力排众议?这怕是对沟通有了很大的误解。

在讲沟通“术”的问题前,先说说沟通的“道”的问题吧。沟通的本质是为了解决问题,但如果仅仅着眼于此,这种机械式的沟通方式往往会令人窒息,更有甚者会产生诸多矛盾。

比如小白在开发中需要使用其他们部门提供的一个接口,可临近上线了,负责接口开发的同事小刚却迟迟不能提供接口,小白着急之下直接在工作群里@小刚催促,而工作群里除了有小部门的领导还有大部门的领导。小白的这个行为虽然很有效果,不久小刚就把接口开发好了,但小刚在群里被同事“点名批评”心里多少是有些不爽的。小白的这种沟通如果单纯的看沟通效果是没有问题,立竿见影,可这种沟通方式显然是不利于小白自身的发展的。

沟通的目的虽然是了解决问题以满足自己的需求,但是沟通时最重要的事情却是要懂得感受对方。通过分析,了解对方的现状;通过观察,感受对方的心情;通过倾听,理解对方的想法……这要比单纯的解决问题式沟通更重要,甚至更高效。

比如上面的案例中,小白没有先去了解小刚的处境,而是仅以自己的需求为目的去“沟通”,这自然给小刚造成了难堪。小白如果能够先去找小刚了解下小刚现在的进展,是否遇到了什么什么问题,并告知小刚无法按时提供接口会产生什么后果,这样的方式是双方都能够接受的。即使真的遇到了爱扯皮的同事,也可以委婉的向对方提出“是否需要让领导协调下资源?”。在获得对方准确的交付时间答复后,可以再把进展汇报给领导,“我刚才找小刚了解了下情况,因……原因导致接口晚了1天提供,我这边在接到接口后需要和小刚一起加班联调下,如果联调顺利的话可以保证项目按时上线”。

不善沟通者,总是希望能够通过沟通先满足自己的需求,但往往事与愿违;善于沟通者能够理解对方的感受和需求,再寻找双方共同的目标,沟通过程不仅顺畅还能收获更多。明白了沟通的“心法”后,那么程序员在日常工作中和同事、领导、客户沟通时,相应的“术”自然也就会有了。程序员们大都是聪明且敏感的,只是有些道理不太明白,一旦被点破后,只需在日常生活、工作中多多练习,相信程序员也会成为一个善于沟通的高情商老手。

程序员不做独行侠——沟通的核心是感受_第3张图片

沟通的实践

那我们先想想同事的需求有哪些呢?同事的需求和你我一样,都希望自己辛勤的工作被认可,个人能够被尊重。我们和同事沟通一般都是讨论技术问题、业务逻辑、工作协同等,在理解了沟通需要先感受对方后,那么很容易列出一些日常工作中和同事的一些错误的沟通方式和正确的沟通方式。如果我们在没有深入理解同事的工作的前台下,就鲁莽的进行评论甚至指责,这便是在缺乏理解的前提下进行沟通;向同事请教问题这件事情本身,就是同事自我价值实现的一种方式,相信绝大多数人是乐意向别人讲解问题的;请教完问题后再由衷的向他表示感谢,这是对他的尊重,每个人都希望被尊重。

领导的需求有哪些?能发挥领导的作用,能像领导一样被尊敬。不要相信什么互联网公司都是扁平化的,大家都一样,上下平等一条心,这些鬼说还是跟鬼说去吧。有人的地方就有江湖,江湖就有江湖的行为法则。对待领导也一样有相应的法则,作为技术人员其实面临的竞争条件要好很多,完全可以在保持足够的“尊严”(这个词出现在这里是由争议的,这只是针对世俗观念的一种解释)的情况下也能获得认可。程序员首先要改变自己以往那种独行侠的风格,对领导做到主动热情,可以经常性的向领导反馈一些关键性问题,也可以让领导在这些关键性问题中做出决策,这样领导才可以发挥出自己的价值来。对领导发布的通知、任务等,即使做出响应,领导希望被尊重,给他点个赞,对他的话题及时响应,这既是礼貌,也是尊重。至于和领导在公开场所硬碰硬,这显然是不成熟的做法。

客户的需求有哪些?客户提出的问题被重视,能够被及时响应和处理,客户能被尊重,能及时跟进问题的处理进度。有些程序员在工作中可能需要和客户接触,向客户提供技术支持,在沟通中对客户的问题及时响应和反馈,并能够从客户凌乱的描述中汲取出有效的信息,在回复客户的问题是要使用专业但却不生僻。

程序员不做独行侠——沟通的核心是感受_第4张图片

如何培养自己的沟通技能

在掌握了沟通的心法后,程序员还需要在这几方面提升自己的能力:

  1. 总结能力,对技术细节的描述,使用专业的技术术语;
  2. 组织能力,表述问题要有条理性,头脑中要有一个清晰的思路;
  3. 表达能力,把一个问题通俗易懂地表达出来。

这些能力的提升都是可以在日常工作中刻意练习培养出来的。

1)通过写文章培养逻辑思维能力

针对总结能力的培养,一方面是加强学习,提升自己的技能;另一方面,可以通过多写文章来提升自己的总结能力和逻辑思维能力。你理解一个东西,跟你能归纳总结并写出来,完全两个不同的 Level。你可以经常写一些技术笔记或技术文档,也可以写一些技术博客。如果能坚持写100篇以上的技术文章,你的总结能力一定不会太差。

2)通过学习加深对问题的思考深度

针对语言组织能力的培养,一方面是勤加练习,工作、生活中的每一个沟通都可以是练习的机会,你只要刻意地在说话之前多思考一些,长期下来一定会有不小的进步;另一方面也可以刻意去学习一下这方面的技能,提升对问题的思考深度,或拓宽思考问题的角度。

3)通过技术分享提升语言表达能力

针对语言表达能力的培养,可以多进行一些技术分享。你能把一块技术分享出来,让大家理解,跟你能写出来,又是两个不同的 Level。分享的形式,根据每个公司的情况可以自行调整。应该每个公司都会有这样的机会,如果没有,也可以一个小部门,甚至是小组内展开。也可以参加一些线下的技术分享会,学习一下别人是怎样表达的。

 

你可能感兴趣的:(ToCTO)