成为一名优秀的新人,我认为要做到三点:良好的心态,积极的思考和高效的学习。
良好的心态
良好的心态包括两部分学习和做事。
学习的心态。空杯子才可以装下更多的东西。所以无论多牛的新人都要谦虚,作为新人应该带着两种眼光,欣赏的眼光和自己的眼光。刚来团队的时候,要带着欣赏的眼光,欣赏团队里每个同事的优点,向他们学习,比如有的同事思维很开阔,有的同事技术很全面,有的基础技术很扎实,有的善于沟通等,通过向他们学习取长补短。学习和了解到一定的程度之后,要带着自己的眼光来影响团队,分享自己的成功经验,让团队变得更好。从输入到输出。
做事的心态。要有强烈的把事情做完美的心态,我刚来的时候,总是快而不精,做事做的不够细致,总希望快速拿出结果证明自己,反而证明不了什么。所以需要锻炼一次就把事情做对的心态和方法,否则会花更多的时间返工。一次性把事情做对需要善于思考,善于提问和多借鉴。
积极的思考
善于思考。用过的技术需要思考为什么要使用它,同事给的技术方案要思考解决了什么问题,技术方案的优缺点是什么,每个方案都有优缺点。产品经理提的需求,要思考价值在哪里?
善于提问。要想清楚再提问,先组织下语言再提问,比如能否用一句话把问题描述清楚,有的同事叽叽呱呱说了半天,我都不知道他在问什么问题,这样很浪费彼此的时间。如果问题比较多,可以先吧问题记录下来,然后一次性找同事问完,提高提问效率。
善于借鉴。如果让你去解决一个问题,你会想一个方案出来,那么这个方案是否是最佳的呢?所以这个时候要学会借力和借鉴,不要闭门造车。看看别的同事是怎么思考这个问题,阿里集团其他团队是如何解决这个问题的,业界有没有成功方案,开源框架是如何解决这样的问题的。比如我在做押品管理中心架构的时候,会去学习下传统银行是如何架构这样的系统。
高效的学习
善于学习。循序渐进是最高效的学习方法,没有捷径。看官方原版资料,(不要害怕英文),然后实战,最后和大家交流心得。学习的技术通过自己的推理和交流很容易吸收成自己的。大部分人记忆力都不会太好,所以每个技术的学习,都应该有输出,输出可以是一篇博客,也可以是一个demo,而且在总结的过程中,会有新的收获。要安静下心来学习基础,不要浮躁。如果不愿意看基础,而是怀着遇到问题再baidu和谷歌找答案这样的学习很难成体系,而且遇到复杂问题也解决不了,因为不是所有的问题都能搜到答案,而且这样效率很低,花一天时间搜索 ,不如花一天时间系统的学习基础。记得我在方正实习的三个月时间里,老板只让我看《Java编程思想》,其他的开源框架都不建议我看,因此我反复了看了很多遍,当时不理解为什么,现在觉得受益终生。
提高学习的深度。学习任何领域的知识必须达到一定的深度,否则你的知识就是常识。很多东西不浮于表面,需要花时间深入学习。比如学习IO编程,如果你花一个月的时间翻阅各种资料,并做各种实验学习,相信会有很深的理解。比如我学并发编程时,先学习和分析JDK并发包的源码,然后看JVM的源码,最后看CPU的官方文档,逐层深入学习。