编程能力和职业能力 你更看重哪个?
即使你在写代码上并不是很牛叉,你也能在这一行爬得很高,走得很远。
从最根本上讲,每个程序员都应该具备这两种品质:编程能力能和职业能力。
编程能力指的是能写出良好、稳固、高性能又可维护的代码,反正可以用在代码上的溢美之词都行。这需要程序员花时间去复习、讨论和阅读相关内容。
职业能力则是一种成为好员工和好同事的能力。这意味着要反应灵敏,能和大家进行良好的沟通,全力以赴完成任务,不超出最后期限,对反馈持开放态度,能清楚解释复杂事物,等等。
举个极端的例子
假设有这样两个人:
Rodrigo 毕业于麻省理工学院,业余时间会自己写写编译工具。他在Haskell语言上颇有建树,并且写了几个非常著名的Python包。他 写出来的代码总是特别稳固,且可读性高,边缘情况处理得也非常好。但是,发给他的邮件总是要隔个几天才会有回复,也很少接电话,而且似乎对于最后期限的重 要性认识不足,他总是用自己的方式处理问题,而且从他口中你根本没法把那些不连贯的话拼凑起来得到清晰的思路。
Gabriella 可能并不是一个优秀的编码员,代码水平属于业余级的,可能15或20行代码,她会写成30行,还有很多bug搞得后期QA又得 花时间检测,不能真正掌握如何编写可执行代码的概念——她的想法就是“代码能工作就ok了!”但是,她的响应特别快——几分钟内就回复邮件,从不错过任何 一个电话,沟通能力很强,能将各种复杂的技术问题向客户解释得一清二楚,牢牢记得最后期限,不断寻找反馈以提高她的工作,而且很好说话。
好好想想,日复一日的工作中,哪一个是你真正愿意朝夕相对的工作伙伴?
哪个更受欢迎?
根据我的经验,如果是程序员,会选择与Rodrigo 工作,如果是管理者则会选Gabriella 。
这是有一定道理的——毕竟程序员的任务是处理各种代码问题,而管理者则更关注最后期限和团队沟通,所以我们都希望自己的工作伙伴是能减少自己麻烦的人。
但是问题在于,管理者才是真正决定要不要聘用你的人,他们在升职和加薪上才有话语权,我们得拍他们的马屁,所以在这种情况 下,Gabriella 更受欢迎。我看到过很多这样的情况——所谓的好员工但编程能力不强的程序员“嗖嗖嗖”晋升,而那些牛叉的程序员却因为不善于沟 通,还是在底层原地踏步走。
如果你想在工作中取得成功,编程能力其实并不是真正的关键。成为一名优秀的员工同样重要,有时候甚至比编码能力更关键。
译文链接:http://原网站已经失效/article/coding-skill-vs-employee-skill.html
英文原文:Coding skill vs. employee skill
翻译作者:码农网 – 小峰