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