现在位置首页 / 程序员成长系列 /正文

程序员的核心竞争力是什么?

作者: IT小兵 | 2016年9月26日| 热度:℃ | 评论: |参与:

核心竞争力就是发展的基础。

程序员的核心竞争力还是很明显的,他不像PM,运营,市场那么难以考核的。

一名优秀的程序员肯定有以下的几种能力。

一、简洁明了代码的排版

排版其实是一门学问,包括了命名,注释等等。

你要让后期接手你项目的人能很好地阅读和修改的程序,这就需要你在排版下功夫,不能爽了自己,自己以后拍拍屁股一走,别人接手代码直接就懵逼了。

二、极强的代码阅读能力和修改能力.

这里的代码阅读不是看第三方的代码,而是去阅读接手的项目的代码,只有真正写过代码的人才知道,阅读别人的代码是多么头痛。能去迭代开发较老项目

三、编程思维

编程语言太多了,但是思维相差不多,要培养这种思维,就算现在做的iOS开发,让你去做Android开发,你也大概知道有个什么流程。

四、扎实的计算机底层知识和算法能力

我是做iOS开发的,按理来说移动应用开发用的底层知识和算法很少,这应该不能算是核心竞争能力,如果你这么想,那么你真的错了!要深入进去,你才能成为顶尖!


五、架构能力

这一点我还没有达到,就不讲了......


最后再说下,写代码就是一门手艺,但是这门手艺下面有很多分支(移动开发、大数据、云计算,图像处理等等)你要一门你最拿手的,不能你会的手艺的水平都差不多,这是不行的。

核心竞争力就是发力点最强,最厉害的一点,就算是都做iOS开发,但是其中一个就是在IM这块做的非常厉害,懂里面的原理,能把xmpp等一些开源库玩的飞起,这就是他的核心竞争力

 

大家说的都是国外程序员的标准答案,我来说说在中国现状下的答案。只说事实,符合95%的实际情况,不代表我个人观点。在国内,程序员走技术路线很吃亏,技术好并不一定能让你入更高地位更高。国内技术人员地位低收入低,国外的项目经理收入比不上高级程序员,国内的情况是官大一级压死人。中国程序员的核心竞争力应该是让你早日脱颖而出走上领导岗位,而不是继续钻研成为技术高手。

具体要怎么做呢。首先,代码要会写,这是程序员的基本要求,达到中等偏上水平就行了,这个时候不要继续钻研技术了,要考虑出人头地向领导岗位走了。技术上尽量做到别出错,代码写的烂点没关系,千万别出错,出错会影响晋升。领导岗位的要求和程序员不一样,要会表现会表达,注意提高人际交往能力。程序员一般喜欢写代码不喜欢写文档,现在要提高写文档的功夫,一定要适当的拔高(吹嘘),被老板看出来也没关系,也许他正看重你这个能力,国内比的不是哪个公司的代码代码质量高,而是谁能把产品卖出去。其他的就是适用于国内任何岗位的能力,如察言观色,会来事等等,也适用于程序员,我就不说了。



学习能力,尤其是自学能力,你啥时看到那些有名的程序高手在论坛上问“学习 XX 该看什么书,如何快速学习 XXX,学习 XXX 有什么代码推荐”之类的问题,他们想学什么很快就能自己找到相关资料。这个行业发展太快,技术淘汰的速度也很快,3 年不学新东西就可能落伍了。

动手能力,都是看书看资料,当别人还在纠结看什么书,还在纠结书里的字句是什么意思的时候,有些人的几百上千行代码都已经能运行了。

耐心和毅力,做程序员兴趣固然重要,写自己喜欢的代码那是相当愉快的事情,但是程序开发中无论如何还有大量乏味无趣的事情,要能坚持,咬牙把这些做完。

表达能力,能在大庭广众下,把自己的想法逻辑清晰流畅地讲出来,让人听懂。

那么技术呢?技术不重要,有了以上几种能力,市场上需要什么技术,很快就能掌握了。

学会聪明的问问题

这点很重要,问问题并不是说碰到不会的就去问,其实问问题也不仅仅限于去网上查资料,其实我更建议大家去推导出问题的答案,因为很多的问题都是实际项目中的问题,你在网上根本很难找到100%匹配的问题,如果你拿你的问题去网上问,也不一定有人能给你一个完整的答案。我给大家说2点,第一,看VS给的异常信息,第二,学会举一反三,因为任何的问题不可能完全匹配,但是大体的思路是正确的,如果你掌握了思路,那一切都很好办了,以后碰到类似的问题你也可以解决了,不用看那个固定的答案了。

要有危机意识

记得有个人曾经对我说过一句话:如果你在不该安逸的年纪安逸,那么你将在安逸的年纪不能安逸。这句话折射出一个问题,最危险的地方往往是最安全的地方,最安全的舒适的地方往往最不安全,世界对每个人不可能公平,物竞天择,优者生存,如果你经历过裁员,你应该懂的。如果你经常上Cnblogs你也许会觉得你还“行”,但是如果你去CSDN的话,你会发现很多大一的学生都比你工作了2,3年的人还要懂得技术,你说你有技术,他们大一就超过了你,你说你有兴趣,他说他可以每天熬夜写代码,试问一句,你有什么资本和他们去竞争?你缺什么,你缺时间,因为年纪越大,你的剩余时间就越少!

千万不能只学技术

作为一个.neter,上次去了家互联网公司面试,结果彻底被鄙视了,为什么?因为我懂的技术太多了,什么MVC啊,EF啊,NHibernate啊,有人可能会奇怪,会这些东西不是很好吗,为什么还被鄙视呢?因为他们除了.net framework以外,其他的东西根本就不用,也就是用不上!甚至连现在流行的MVC都不用,他们是所有的控件,底层的代码,都是根据自己网站的需求去额外定制!框架的作用是方便我们去使用,但是也会让我们变成填鸭式工作的模式,因为你只要用一个Helper类就可以解决所有的问题了啊!编程的精华是架构和底层,但是往往能真正懂架构的人是很少的,或者说是,懂架构的人多,但是能运用在实际场景中让她发光发亮的人 - 很少!编程思想很重要!


点击阅读本文所属分类的更多文章: 程序员成长系列 。和高手一起交流:346717337
友荐云推荐

未注明转发、原文均为本站原创。分享本文请注明 原文链接

给您更多信息和帮助

在这里您可以找到更多:

技术交流群:346717337 Jquery插件交流

投稿:suchso@vip.qq.com

承接:企业网站门户/微网站/微商城/CMS系统/微信公众号运营/业务咨询

抢天猫双11红包
推荐使用阿里云服务器
echarts教程系列
本月最热文章

微信扫一扫,徜徉悠嘻网,您的休闲乐园

微信公众号:快乐每一天

随机文章
标签

技术交流群:346717337

投稿:suchso@vip.qq.com

专业专注:企业网站门户/微网站/微商城/CMS系统/微信公众号运营/付费问题咨询