别再做一个“不会说话”的程序员

2018-03-26 18:19:52 浏览数 (1)

沟通是职场中一个非常重要的技能,程序员常常被认为是最不善于沟通的一个人群.

他们中大部门人往往实力过硬,技术超群,但却常常因不善沟通而错失良机,不被领导赏识,不被同事认可!更痛苦的是,他们却经常看到技术比自己差的同事左右逢源,平步青云!

是什么造就了他们之间的差异呢?那就是沟通,有效的沟通能让你事半功倍,处理事情游刃有余!不善沟通是大部分程序员的通病,但这并不是不可改变的,通过长期的刻意培养,也能做到说话有条不紊!

软技能又称非技术技能(Non-technical Skills),指沟通能力、学习能力、管理能力、协同合作等等能力的统称。而在职场中,沟通能力又是软技能中最重要的一环。

在你多年的工作经历中,一定见过这样一种情景吧:开始两个技术能力相当的甲、乙;几年之后,甲只能继续埋头写代码,而乙备受公司的青睐,逐级晋升。这往往就是因为乙具有更强的软技能,能与同事上下打成一片!

沟通的重要性主要有以下几点:

  1. 更好地寻求帮助;
  2. 更快地解决问题;
  3. 清晰地表达自己的想法;

那何为有效的沟通呢?就是以最简单的方式最快地让对方明白你要表达的内容和思想,如遇到什么问题,问题的具体现象,需要寻求怎样的帮助。

无效的沟通,即说了一大堆话,但都没说到关键点上,别人不明白你在说什么。

与同事的沟通

作为一个程序员,与同事的沟通,最多的场景就是讨论技术问题、业务逻辑、解决方案。因为都是同事,又是技术人员,对相互的工作都比较熟悉,直接开门见山就可以了。关键是能有逻辑有条理地准确描述你的问题。

我以出现频率最高的一个场景——技术讨论为例,看看需要注意哪些关键的步骤。如你要向同事请教一个技术问题:

  1. 在哪遇到的这个问题?要说明出现问题的这段代码的功能是什么,干什么用的,也就是出现问题的场景。
  2. 你是怎样实现的?这段代码实现的一个大致的逻辑,用到了哪些技术,一步一步说明清楚。
  3. 问题的现象是怎样的?做了哪些操作会产生这个问题,最好能够把这个问题复现出来。
  4. 为解决问题,你做了哪尝试,结果是怎样的?不能一有问题就问别人,一定要自己想各种办法去尝试解决,实在解决不了,再问同事。说明自己尝试过的解决方案,一方面是给对方提供一个思路;另一方面是让对方 Review 一下自己的方案对不对,有没有漏掉关键的点;还有一点就是避免对方花时间进行同样的尝试。
  5. 谦虚地向对方请教。既然是问问题,态度一定要谦虚。如是说:根据您的经验,出现这个问题最可能的原因是什么?或是:有没有什么其他的解决方案来替换它?

与领导的沟通

主动热情

为什么要把这个放在第一位呢?因为每一个领导都希望自己的下属是主动地在工作,主动地发现问题,提出问题,解决问题;而不是被动地工作,领导安排什么就做什么。

领导是对整个项目全局的把控和掌握,不可能对每一个细节都了解很清楚。所以你是最一线的开发人员,如果遇到问题,或有新的想法一定要主动沟通。比如在项目开发过程中,发现某一个业务逻辑,或某一块代码有坑,一定要主动跟领导反应,这个领导才能重新调整计划。

如果遇到问题一个人默不作声地吭哧吭哧在搞,最后没有按时完成任务,领导问责任起来你再说原因,他一定会认为你这是在找理由。

0 人点赞