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