程序员:编程能力VS沟通能力,哪个更重要

即便不是伟大的程序员,你也可以走的更远。

  每个程序员应该具备 2 种能力,即编程能力和个人的职业技能。

  编程能力意味着你写的代码是可靠,高性能,易维护的。这跟程序员花费的时间,他的思维,以及广泛的阅读有关。

  职业技能让你成为一个好的员工,好的同事。这需要反应敏捷,有良好的沟通,明白期限,及时公开的反馈,能清楚解释复杂的事物等能力。

  一个极端的例子。

  想象有 2 个人。

  Rodrigo 是麻省理工的毕业生,在他的空闲时间里面他在编写一个编译器。他是 Haskell 核心的贡献者,并且开发了一些著名的 Python 包。一般情况下,他的代码具有很强的可读性,并且完美的处理边界问题。不过,他需要几天的时间才会回复一封邮件,很少拿起电话,不明白最后期限的重要性。他做事情有自己的方式,看上去很散漫,你不能明白他的思想。

  Gabriella 不是一个很好的程序员,她的代码像一个业余的人写的。她用 30 行的代码完成一个仅用 15 行就可以搞定的事情,QA 需要把大量时间花在她的 bug 上。然而,她的反应令人难以置信 — 她在几分钟之内回答电子邮件,从不错过一个电话,她是一个伟大的沟通者,能够很清楚地向客户解释复杂的技术问题,她从未错过最后期限,她不断的通过反馈来提高她的工作效率,并且跟她很容易沟通。

  所以,你会在工作中跟谁搭档?

  什么是真正重要的?

  以我的经验来看,一个程序员想跟 Rodrigo 做同事,而一个经理想要 Gabriella 做同事。

  这是有道理的,毕竟程序员碰到的都是让人烦心的技术问题,而经理面对的是项目期限和沟通问题。

  但关键是,如果经理想要给某人升职的时候,Gabriella 就走在了前进的道路了。我已经看到很多次,那些并不伟大的程序员走到了顶端,而很多优秀的程序员却因为沟通问题一直留在底层。

  做为一名程序员,是不是应该想想,良好的编程能力是不是决定事业成功的关键,还是有时候更需要具备沟通技能呢?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章