程序员:编程能力vs职业技能,哪个更重要

简介:

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

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

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

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

一个极端的例子。

想象有2个人。

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

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

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

什么是真正重要的?

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

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

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

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

目录
相关文章
|
6月前
|
消息中间件 缓存 NoSQL
|
7月前
|
算法 Java 程序员
程序员面试金典(第 6 版)
程序员面试金典(第 6 版)
|
前端开发 程序员 pouch
程序员最重要的八种软技能
笔者在带团队的六年中发现,程序员们在职场都有一个共同的困扰:“好像写代码都没什么问题了,日常工作基本上都是应付业务需求的开发,好像找不到其他的更大的附加价值了,我应该找一些什么样的发力点才能让我的价值更突出呢?” 。笔者以为,这就是典型的硬技能当下「看似」没有什么问题了,瓶颈卡在了软技能上。所以开篇做个小分享,聊聊程序员的软技能。
41522 18
程序员最重要的八种软技能
|
程序员
程序员转管理岗你需要了解的管理学常识
  既然我们要探讨“技术人如何做管理”这个话题,那么对“什么是管理”以及“管理是干什么的”这个问题就无法回避。虽然“管理”这个概念很模糊,但是我们依然可以通过界定管理者的核心职责,来刻画出管理的含义。   在管理学的发展史上,有很多彪炳史册的管理大师,我们不妨看看,管理界这几位泰斗级人物是怎么说的。   古典管理理论的代表亨利·法约尔认为,“管理是由五个要素组成的一种普遍的人类活动,这五个要素是:计划、组织、指挥、协调和控制”。不难看出,他特别关注管理的过程性,强调“做事”的可控性,不愧为“管理过程学派”的创始人。“科学管理之父”弗雷德里克·泰勒认为,“管理就是确切地知道你要别人干什么,
132 0
|
分布式计算 算法 NoSQL
如果说程序员的硬通货是技术,那么软技能是什么?
程序员往往一心扑在编程技术上面,学习编程语言,算法,网络,自己子领域相关的知识等等。这非常正确,也是作为coder的核心竞争力所在,姑且称之为“硬技能”吧。 对于有一个程序员来说除了日常码代码之外,其实也需要很多编程之外的软件能,非专业上面的技能可以更好的展现你的情商,与人合作的能力等。

热门文章

最新文章

相关实验场景

更多