说实话,我觉得程序员最重要的——自然是技术能力,但同样重要的还是表达能力,沟通能力,以及社交能力等等,其实这三个差不多是一回事。当然你技术牛到可以一个人搞出别人绝对做不到的东西,然后以此扬名立万,这是特例中的特例。

如何提升其实没别的法子,就是多练,比如多写点文章,不论是博客也好,还是工作中写一些分析报告或是邮件,主动多参加一些公司里的分享,这都是锻炼表达能力的机会。这方面三哥们做得比老中们好,人家不管懂不懂,一定要说几句。

更关键的是,你表达的多了,能力锻炼出来,基本上你的露面次数和机会也多了,这就是个良性循环。这对于获得新的工作机会,乃至升职加薪都有好处。假如你在工作中一直埋头苦干,到时候加薪要领导批准时他来一句:特么老赵是谁,我们公司有这人?你就完蛋。

这不是投机取巧,这是基本规律。

一名优秀的软件工程师或者一名优秀的程序员,除了技术能力,还需要有以下能力:

马可波罗PT电子:1、交流能力

虽然程序员每天面对电脑屏幕工作,但是一定的社交能力还是必要的。因为有可能会需要参加客户会议,向客户解释产品是如何运作的。

2、团队合作精神

程序员不是独立工作的个体,很多时候需要与他人合作——团队协作完成软件开发、项目研究等,团队合作精神是非常重要的品质。

3、适应能力

每个人都有自己的工作喜好,有些人喜欢完全安静的环境,有些人喜欢嘈杂的环境,让所有人都维持相似的工作环境是十分困难的,很有可能所到的新工作环境并不十分符合自己的期望值,但是优秀的程序员需要接受并且适应它。

4、解决问题的能力

在工作中难免遇到难题,重点是如何解决。遇到问题,即使是能解决的几率非常非常小,优秀的程序员也会用尽一切办法去尝试解决,让事情运转起来。

5、领导能力

优秀的程序员需要具备一定的领导能力,只会服从的程序员也许只能一直做敲代码的工作。

6、职业道德/尊重规则

不管是什么样的职业都需要有职业道德,尤其是程序员,若是没有职业道德,会给网络社会带来很大危害。

7、耐高压能力

程序员是一个压力非常大的职业。当deadline来临,而工作似乎没有任何进展的时候,普通人很容易崩溃。而优秀的程序员需要在这样的高压情况下沉着冷静,并且继续工作。

8、强烈的学习欲望

计算机行业发展非常迅速,现在热门的技术很可能几年之后就会过时,所以有强烈的学习欲望并且不断抓住机会提升自己的程序员是非常抢手的。

9、对工作的热爱

几乎所有企业都喜欢对工作抱有极大热忱的员工,对于程序员也不例外。有些人喜欢玩游戏写游戏,有些人喜欢自己建服务器,有些人喜欢写应用程序等等业余兴趣,这些可能不是必需的,但是面试官可能会通过这些方面来寻找对工作热爱的员工。

10、分析规划能力

有些人拿到任务之后会一头扎进任务里,立马开始写代码。而优秀的程序员拿到任务会首先进行分析:一个产品的完成需要哪些功能、每个功能需要如何设计等等,接着进行程序设计,然后才开始写代码。

11、正确对待失败的能力

很少有程序员能一次性就把程序写得完美无bug,出错甚至是失败都是必然的,重点是要以正确的心态对待——一旦发现错误立即修改,若是失败,吸取教训,重头再来。

12、查找错误的能力

写代码只是程序员所须的能力之一,debug能力同样是非常重要的。当软件没有按照预期运行而出现的错误的时候,优秀程序员要能够快速有效地发现错误,并且解决问题。

13、注重deadline

大多数任务都有deadline,提交工作的时间与deadline的时间间隔展现了一个人的工作能力和工作热情。如果能在deadline之前把工作提交,上级对你的好感度会加深。