程序员如何跨入月薪2万行列?这9大能力你掌握多少?
面对互联网一片大好的就业前景,在程序员平均就业薪资疯狂增长的背景下,为什么很多程序员还是达不到月薪2W+的水平?小编分析原因有二:
一是:互联网行业就业方向千千万,选对方向就相当于成功了一半
二是:除了要具备基本的专业技能之外,还要具备以下职业素养。
一、细心
对于很多程序员来说,写出来的代码可能这里因为不小心漏了什么,那里因为不小心没有测试到一个大Bug,因为马虎而出现的问题不在少数。
所以,细心,能够很有效的减少开发周期,为整个项目的推进起到良性的作用。
二、胆大
很多时候,我们明明知道业务逻辑上有问题,可能因为怕得罪人,可能因为觉得这个问题不应该由自己来提出,就默不做声。
其实,无论在任何时候,只要你觉得有问题,就应该直接将问题指出,然后大家再讨论,即使整个场面可能比较激烈,但是如果你认为自己是对的,且对方并没有有效的理由来说服你的话,那你就应该大胆的坚持自己的意见。当然,如果你觉得自己的逻辑确实也是有缺陷的,也应该大胆的承认问题,不要耍赖皮。
三、脸皮厚
脸皮薄是程序员的特性,程序员遇到问题时就自己去百度、谷歌找答案,花了很长时间,也没有找到问题的原因。
如果你是一个人在家里做实验,没有人能给你提供帮助,你这样做当然是没啥问题的,但是如果你是在公司里,项目组里,你的周围都是人,求助才是你的第一选择,别不好意思,谁还不会遇到问题啊,可能你遇到的问题,在别人眼里只是一个小case呢,你花了4小时,别人花了4分钟,就效率来说,你4分钟就学习到了4小时的经验,并且解决了问题,何乐而不为呢。
当然,上面的都是对程序员的软性要求,即使你做不到,你也可以成为程序员,只是水平高低。
下面就是一些硬性的指标了:
四、思维逻辑
对于一个程序员来说,你的思维逻辑有些地方其实需要异于常人的。
最经典的笑话就是:女朋友让程序员买包子,如果遇到卖西瓜的,就买一个。结果就是,程序员买了一个包子回家。为什么?因为他遇到了卖西瓜的。
这个虽然是一个笑话,但是在代码层面,业务流程图上,确实可能需要这样来理解的。所以,一个程序员首先需要培养属于程序员自身的思维逻辑,不然,你对于设计文档的理解就可能有问题。
五、编码能力
这个肯定是一个程序员安身立命的根本技能,你需要熟练的运用一种或多种语言,并且能够用它写出所需要的内容。
A和B聊天,A问B:“你都会哪些语言?”B说:“我会中文、英文、日文。”那B是普通人;B说:“我会Java,PHP,C#。”那B才是程序员。
六、文档能力
不会写文档的程序员不是一个好程序员。虽然一个程序员写的最多的是代码,且几乎很少有程序员是心甘情愿的写文档,但是一个程序员必须具备一定的文档能力,当然,这个文档不是说就是Word。
例如,我们现在要做一个功能模块的分析设计,你至少拿出个几页的设计稿,给大家讲解一下,这样才更容易让人理解,干巴巴的只是说,其他人很难理解你的内容。
如果你做的工作现在需要分派给其他人,你有了新的安排,你Handover你的工作的时候,如果你有良好的文档习惯,那接手工作的人能够很容易的上手,不然,他看不懂文档,只有来问你。
七、编码习惯
什么是编码习惯?简单点说就是,注释,命名规范,编码规范。
为什么我们必须写注释?因为一个月以后,你可能看不懂你的代码了。为什么要遵守命名规范?因为一个月以后,你可能看不懂你的代码了。为什么要遵守编码规范?因为一个月以后,你可能看不懂你的代码了。你都看不懂你的代码了,其他人还能看懂?更不可能了。
所以,一定要习惯写注释,按照命名规范和编码规范来严格完成。
八、协作能力
研发并不是一个人的战斗,而是一群人的战争。一定要分工配合,不要只是顾自己。不然团队里的其他人被干掉了,你也活不长。事不关己的心态是不可取的。
九、学习能力
这个可以说是决定程序员未来的能力,我见过很多30多岁的程序员,除了CRUD,其他的几乎什么都不懂,他难道10年时间什么都没有学吗?不,他学了,只是他学习的只是业务方面的知识,对于技术方面的知识,仅仅学习他需要的。
这样,他的能力就被局限在了一个公司的格局上,如果是大公司,他可能懂得多一点,如果是小公司,他可能就只会CRUD了。
所以,为自己定制学习计划,学习除了工作范围以外的知识,是每个程序员的必修课。