前言
"没有小角色,只有小演员",这是出自周星驰电影《喜剧之王》中周星驰扮演的尹天仇随身携带的书--《演员的自我修养》。
最近达叔的离世,让我感慨万千。作为在中国土生土长的90后,也算是看着达叔的电影长大的,尤其是他和周星驰合作拍摄的电影,给我带来了很多的快乐。
这段时间我又重新温习了一遍《喜剧之王》,在了解了达叔的人生经历之后,回头再细细品味达叔的作品,让我不得不敬佩达叔的职业素养:即使常年只演配角,没有多少戏份,却依然不忘磨练自己的演技,把每场戏都当作主角来演。只凭借出演配角和小角色就能出名的,相信唯有达叔一人了。
想到这儿,我不禁想起了我之前读过的一篇文章,文章的内容大概是说:一个人的修养决定了一个人的发展上限。达叔只凭借演配角就能在群星璀璨的演艺圈留下浓墨重彩的一笔,可见他的演员修养是极高的。
这里我再举一个我们身边的例子:我们很多人从大学毕业出来找工作后,当时大家的差距还是非常小的。可是为什么随着时间的推移,大家之间的差距会变得越来越大呢?而那些最出众的,也不一定是那些最聪明或者在学校成绩优异的那帮人?这是因为学校里的那套评判标准,是无法去衡量一个人的价值乃至修养的,而真正能衡量这一切的是社会。
说了这么多,我们言归正传,作为一名Android程序员,我们如何才能提高我们的自我修养呢?
如何提高自我修养
通过不断提高我们自身的修养,才能不断突破我们的职业天花板,让我们的未来充满无限可能。
如何才能提高我们的自身的自我修养呢?因为我是从事Android开发,这里我就以Android程序员的视角,来阐述我们提高自我修养的六大要素。
保持对技术的热情
对技术保持持续性的热爱是提高自身修养的先决条件。
俗话说,兴趣是最好的老师。由于信息技术日新月异的变化,这就要求我们从业者必须具备极强的自学能力,而保持对技术的热情可以为我们自学提供无穷的能量。
对技术的热爱是程序员的灵魂,一个没有了灵魂的程序员注定会沦为一台没有感情的搬砖机器。 很难想象一个已经对技术失去热情的人,还能够在技术的道路上走多远。
那么如何才能保持对技术的热情呢?
保持对新技术的好奇心
。只要保持一颗好奇心,我们才会不断地学习,不断地尝试新技术。保持技术的成就感
。多做有挑战性的技术或者事情,这样才能获得技术上的成就。如果每天做的都是千篇一律的事情,获得不了技术上的成就,那么热情逐渐冷淡是必然的。保持旺盛的精力
。很难想象一个终日无精打采的人能对技术有什么热情。
其实,热情这东西是虚的。并不是我们有了热情就能做成每件事的,而是我们做成了每件事获得相应的成就后,才能产生热情的。然后热情又会推动我们更加努力地做去每件事,从而形成一个正向的反馈。
掌握扎实的基本功
优秀的程序员,拒绝花里胡哨。
做技术切勿盲目追新追异
在这个信息爆发的时代,技术的更新迭代是日新月异的。可能你前脚刚捂热的新技术,后脚就凉了...
就拿我们移动端的混合开发技术来说吧,两年前我还在使用react-native
来写跨平台应用,可两年后我就转用flutter来写了。谁能晓得N年后我在用什么技术来写这些应用,说不定N年后都已经没有移动端的概念了。
其实无论混合开发的技术变成啥样,只要你搭载的操作系统还是那个Android或者IOS,对我们来说就是换汤不换药,没有本质上的区别。只要你把原生开发技术掌握扎实,换什么技术不能做?
何为基本功
所谓的基本功,也就是基础知识,是那些亘古不变的真理。 任何技术都有其基础知识,计算机也不例外。掌握了它们我们就能够融会贯通,这也是科班出来的程序员比半路出家的程序员的优势所在。
这里我就以Android技术为例子,其基本功主要有:计算机组成原理、操作系统(Linux)、计算机网络、数据库、数字电路、Java语言基础和设计模式等。
千万不要认为你会写几个界面、几个App,能在Android设备上跑了,就是掌握Android这门技术了...其实这些在我看来,都是一些皮毛而已。不掌握这些基本功,你是永远无法提升自己的技术水平的。
为什么要掌握扎实的基本功
记得以前看过《倚天屠龙记》里面的一个片段:张三丰教张无忌太极拳的时候,张无忌只学习了一遍就学会了。为什么张无忌能够学得这么快?这是因为他学会了九阳神功,内功大增,基础够扎实,像太极拳这种招式当然就一学就会啦。这里内功就好比我说的基本功,太极拳这一类的招式就好比我说的某一项技术。
所以,掌握扎实的基本功,是为了我们能够更加快速地学习一门新的技术,这样我们就能在日新月异的技术迭代中立于不败之地。
追本溯源探寻本质
学习一门技术, 掌握如何去使用只是你迈出去的第一步,后面更重要的是要追本溯源,深究其底层实现原理。说到底,很多技术原本就是相通的,你对技术掌握的深度,决定了你在这条道路上能够走多远。
我们在学习任何技术的时候,要做到知其然并且知其所以然,切忌只停留在使用的层面。
试想一下,你作为一名Android开发,每天都在和Activity或者Fragment打交道,如果突然有一天有人问你Activity是如何启动的,而你却答不上来,岂不是很尴尬?
做了这么多年的Android,我总结出一条规律:在解决问题没有任何思路的情况下,看源码理解其实现原理,往往能够提供非常好的解决思路。
那么怎样才能帮助我们掌握一门技术的实现原理呢?
- 1.养成阅读源码的好习惯。优秀的源码不仅可以帮助我们理解其实现原理,还可以帮助我们快速提升技术水平。
- 2.熟练掌握设计模式。掌握了设计模式,我们就可以极大地提升我们阅读源码的速度,加速我们理解其实现原理。
- 3.多尝试一些复杂/核心/难度性较高的工作。因为只有涉及到一些复杂的业务或者功能的时候,我们才会涉及到技术的部分实现原理。
- 4.多思考多总结。毕竟我们不可能一下子就能掌握一门技术的实现原理,这就要求我们需要进行日积月累的学习和反思,并不断进行总结,这样才能真正掌握这门技术。
严于律己宽以待人
成功的人往往也是最自律的那波人,这在做技术领域也同样适用。
那么在技术领域,我们要怎样才能做到严于律己宽以待人呢?
- 1.养成良好的编码规范。你写的代码就可以直接代表你的水平,良好的编码风格可以为你赢得同事的信任。
- 2.培养阅读文档和编写文档的能力。阅读文档是作为一名研发人员的基本功,而编写文档则更考验一个人对技术的理解,属于更高层次的能力。
- 3.严格遵从行业内标准和团队标准。任何标准都是为了提高效率,降低(沟通)成本。违反标准,尤其是团队标准,是不可原谅的。
- 4.对自己要有明确的认识和职业规划。只有真正认识自己,知道自己的优势和不足,才能制定适合自己的职业规划,才能不断提升自己的技术实力。
- 5.严格的时间观念和时间管理。今日事今日毕,拒绝拖延,这将会为你赢得更多的机会。
- 6.不轻易依赖他人。自己的事情要由自己掌控,对于那些实在不可控,需要依赖他人的,也要做好两手准备。
- 7.不轻易评价他人。团队中的每个人都是独特的个体,不可以将自己的标准强加于他人。当然对于一些达成共识的标准(如团队准则),可以在适当的场合委婉地提出。
勤于思考善于总结
勤于思考,善于总结,这几乎是每个成功人士必备的基本素质。
为什么要思考
人之所以为人,是因为我们拥有了思考的能力。现代的科学、科技,哪一样不是人类思考的结晶?思考帮助我们提高了效率,节省了时间,降低了成本。
如果一件事情,你做过一遍又一遍,但每次只是重复上一次的操作,不进行任何思考的话,那么这件事情即使你是干上一千遍,也不会有多大的进步。
初级程序员只会使用框架,中级程序员会修改框架,而高级程序员则会创造框架,这其中的区别就在于思考的频率以及深度。
俗话说,一个人的成长往往伴随着痛苦。这是因为只有去穿越和反思痛苦,才能得到远高于常人的思想深度。一个做任何事情都一帆风顺的人,是很难有所成长的。
总结的好处
只会思考,而不善于总结的话,那么思考的成果将会大打折扣。这是因为一个人的经验和能力,需要经过实践->思考->总结这三个过程而来,而总结在其中则起到了至关重要的作用。
那么经常总结可以为我们带来哪些好处呢?
- 1.同样的错误不会再犯第二次。善于总结,可以帮助我们规避很多重复的错误。
- 2.提炼思考的成果,加深印象和理解。总结的核心在于将复杂的事情简单化,这样更易于理解和记忆。
- 3.建立自己的认知体系。总结的最终目的就是将实践中产生的经验和知识,转化为自己的认知,从而建立起自己的认知体系。
勇于尝试乐于分享
无论你是做前端还是后端,无论你是纯做技术还是硬怼业务,我们都要勇于尝试,勇于探索,尝试成功的话也要乐于分享其中的收获。
勇于尝试
做技术要讲情怀,每天重复去做某件事情或者某项工作,都会极大地消耗我们对技术的热情。这就好比你在打通关游戏,如果你每关遇到的boss都是同一个,技能和难度都是一样的,那打起来是多么无聊?
所以在条件允许的情况下,我们一定要勇于尝试,不怕失败。因为只要你做成了一件事情,其带来的成就感一定会远远大于你做普通工作所带来的成就感,而这些都将使你脱颖而出,成就不凡。
那么我们可以尝试那些内容呢?
- 尝试承担更高难度的任务。
- 尝试优化和重构现有代码或者业务。
- 尝试学习并实践新技术。
当然勇于尝试不等于无所畏惧地冒风险。在尝试之前一定要进行风险评估,做有把握的尝试,这样即使尝试失败了,也不至于有什么大的损失。
乐于分享
这里可能会有人问道:
- "我幸幸苦苦进行的尝试,获得的经验为什么要分享给别人?"
- "如果我把经验和技术分享给别人了,那我岂不是没有存在的价值了?"
其实不然,分享可能为我们带来很多好处:
- 最直接的,你不分享出来,谁能知道你尝试的成果了?
- 分享的过程,也是加深理解的过程,可以帮助你掌握得更加牢靠。
- 分享成果,树立自己在该领域的领先地位/权威。
最后
无论我们从事何种职业,我们首先都要热爱它,并把提升自我修养作为一项重要的事情去做,这样才能帮助我们在未来的道路上越走越远。
我是xuexiangjys,一枚热爱学习,爱好编程,勤于思考,致力于Android架构研究以及开源项目经验分享的技术up主。获取更多资讯,欢迎微信搜索公众号: 【我的Android开源之旅】