致敬达叔|一名Android程序员的自我修养

前言

"没有小角色,只有小演员",这是出自周星驰电影《喜剧之王》中周星驰扮演的尹天仇随身携带的书--《演员的自我修养》。

最近达叔的离世,让我感慨万千。做为在中国土生土长的90后,也算是看着达叔的电影长大的,尤为是他和周星驰合做拍摄的电影,给我带来了不少的快乐。前端

这段时间我又从新温习了一遍《喜剧之王》,在了解了达叔的人生经历以后,回头再细细品味达叔的做品,让我不得不敬佩达叔的职业素养:即便常年只演配角,没有多少戏份,却依然不忘磨练本身的演技,把每场戏都看成主角来演。只凭借出演配角和小角色就能出名的,相信惟有达叔一人了。react

想到这儿,我不由想起了我以前读过的一篇文章,文章的内容大概是说:一我的的修养决定了一我的的发展上限。达叔只凭借演配角就能在群星璀璨的演艺圈留下浓墨重彩的一笔,可见他的演员修养是极高的。程序员

这里我再举一个咱们身边的例子:咱们不少人从大学毕业出来找工做后,当时你们的差距仍是很是小的。但是为何随着时间的推移,你们之间的差距会变得愈来愈大呢?而那些最出众的,也不必定是那些最聪明或者在学校成绩优异的那帮人?这是由于学校里的那套评判标准,是没法去衡量一我的的价值乃至修养的,而真正能衡量这一切的是社会。数据库

说了这么多,咱们言归正传,做为一名Android程序员,咱们如何才能提升咱们的自我修养呢?编程

如何提升自我修养

经过不断提升咱们自身的修养,才能不断突破咱们的职业天花板,让咱们的将来充满无限可能。

如何才能提升咱们的自身的自我修养呢?由于我是从事Android开发,这里我就以Android程序员的视角,来阐述咱们提升自我修养的六大要素。
image后端

保持对技术的热情

对技术保持持续性的热爱是提升自身修养的先决条件。

俗话说,兴趣是最好的老师。因为信息技术突飞猛进的变化,这就要求咱们从业者必须具有极强的自学能力,而保持对技术的热情能够为咱们自学提供无穷的能量。react-native

对技术的热爱是程序员的灵魂,一个没有了灵魂的程序员注定会沦为一台没有感情的搬砖机器。 很难想象一个已经对技术失去热情的人,还可以在技术的道路上走多远。设计模式

那么如何才能保持对技术的热情呢?微信

  • 保持对新技术的好奇心。只要保持一颗好奇心,咱们才会不断地学习,不断地尝试新技术。
  • 保持技术的成就感。多作有挑战性的技术或者事情,这样才能得到技术上的成就。若是天天作的都是千篇一概的事情,得到不了技术上的成就,那么热情逐渐冷淡是必然的。
  • 保持旺盛的精力。很难想象一个终日无精打彩的人能对技术有什么热情。

其实,热情这东西是虚的。并非咱们有了热情就能作成每件事的,而是咱们作成了每件事得到相应的成就后,才能产生热情的。而后热情又会推进咱们更加努力地作去每件事,从而造成一个正向的反馈。
image网络

掌握扎实的基本功

优秀的程序员,拒绝花里胡哨。

作技术切勿盲目追新追异

在这个信息爆发的时代,技术的更新迭代是突飞猛进的。可能你前脚刚捂热的新技术,后脚就凉了...

就拿咱们移动端的混合开发技术来讲吧,两年前我还在使用react-native来写跨平台应用,可两年后我就转用flutter来写了。谁能晓得N年后我在用什么技术来写这些应用,说不定N年后都已经没有移动端的概念了。

其实不管混合开发的技术变成啥样,只要你搭载的操做系统仍是那个Android或者IOS,对咱们来讲就是换汤不换药,没有本质上的区别。只要你把原生开发技术掌握扎实,换什么技术不能作?

因此,盲目地去追捧或者是学习新技术实际上是不太理智的。
image

何为基本功

所谓的基本功,也就是基础知识,是那些亘古不变的真理。 任何技术都有其基础知识,计算机也不例外。掌握了它们咱们就可以融会贯通,这也是科班出来的程序员比半路出家的程序员的优点所在。

这里我就以Android技术为例子,其基本功主要有:计算机组成原理、操做系统(Linux)、计算机网络、数据库、数字电路、Java语言基础和设计模式等。

千万不要认为你会写几个界面、几个App,能在Android设备上跑了,就是掌握Android这门技术了...其实这些在我看来,都是一些皮毛而已。不掌握这些基本功,你是永远没法提高本身的技术水平的。

为何要掌握扎实的基本功

记得之前看过《倚天屠龙记》里面的一个片断:张三丰教张无忌太极拳的时候,张无忌只学习了一遍就学会了。为何张无忌可以学得这么快?这是由于他学会了九阳神功,内功大增,基础够扎实,像太极拳这种招式固然就一学就会啦。这里内功就比如我说的基本功,太极拳这一类的招式就比如我说的某一项技术。

因此,掌握扎实的基本功,是为了咱们可以更加快速地学习一门新的技术,这样咱们就能在突飞猛进的技术迭代中立于不败之地。
image

追本溯源探寻本质

学习一门技术, 掌握如何去使用只是你迈出去的第一步,后面更重要的是要追本溯源,深究其底层实现原理。说到底,不少技术本来就是相通的,你对技术掌握的深度,决定了你在这条道路上可以走多远。

咱们在学习任何技术的时候,要作到知其然而且知其因此然,切忌只停留在使用的层面。

试想一下,你做为一名Android开发,天天都在和Activity或者Fragment打交道,若是忽然有一天有人问你Activity是如何启动的,而你却答不上来,岂不是很尴尬?

作了这么多年的Android,我总结出一条规律:在解决问题没有任何思路的状况下,看源码理解其实现原理,每每可以提供很是好的解决思路。

那么怎样才能帮助咱们掌握一门技术的实现原理呢?

  • 1.养成阅读源码的好习惯。优秀的源码不只能够帮助咱们理解其实现原理,还能够帮助咱们快速提高技术水平。
  • 2.熟练掌握设计模式。掌握了设计模式,咱们就能够极大地提高咱们阅读源码的速度,加速咱们理解其实现原理。
  • 3.多尝试一些复杂/核心/难度性较高的工做。由于只有涉及到一些复杂的业务或者功能的时候,咱们才会涉及到技术的部分实现原理。
  • 4.多思考多总结。毕竟咱们不可能一会儿就能掌握一门技术的实现原理,这就要求咱们须要进行日积月累的学习和反思,并不断进行总结,这样才能真正掌握这门技术。

image

严于律己宽以待人

成功的人每每也是最自律的那波人,这在作技术领域也一样适用。

那么在技术领域,咱们要怎样才能作到严于律己宽以待人呢?

  • 1.养成良好的编码规范。你写的代码就能够直接表明你的水平,良好的编码风格能够为你赢得同事的信任。
  • 2.培养阅读文档和编写文档的能力。阅读文档是做为一名研发人员的基本功,而编写文档则更考验一我的对技术的理解,属于更高层次的能力。
  • 3.严格听从行业内标准和团队标准。任何标准都是为了提升效率,下降(沟通)成本。违反标准,尤为是团队标准,是不可原谅的。
  • 4.对本身要有明确的认识和职业规划。只有真正认识本身,知道本身的优点和不足,才能制定适合本身的职业规划,才能不断提高本身的技术实力。
  • 5.严格的时间观念和时间管理。今日事今日毕,拒绝拖延,这将会为你赢得更多的机会。
  • 6.不轻易依赖他人。本身的事情要由本身掌控,对于那些实在不可控,须要依赖他人的,也要作好两手准备。
  • 7.不轻易评价他人。团队中的每一个人都是独特的个体,不能够将本身的标准强加于他人。固然对于一些达成共识的标准(如团队准则),能够在适当的场合委婉地提出。

记住一点,你有多自律,就有多自由
image

勤于思考善于总结

勤于思考,善于总结,这几乎是每一个成功人士必备的基本素质。

为何要思考

人之因此为人,是由于咱们拥有了思考的能力。现代的科学、科技,哪同样不是人类思考的结晶?思考帮助咱们提升了效率,节省了时间,下降了成本。

若是一件事情,你作过一遍又一遍,但每次只是重复上一次的操做,不进行任何思考的话,那么这件事情即便你是干上一千遍,也不会有多大的进步。

初级程序员只会使用框架,中级程序员会修改框架,而高级程序员则会创造框架,这其中的区别就在于思考的频率以及深度

俗话说,一我的的成长每每伴随着痛苦。这是由于只有去穿越和反思痛苦,才能获得远高于常人的思想深度。一个作任何事情都一路顺风的人,是很难有所成长的。

总结的好处

只会思考,而不善于总结的话,那么思考的成果将会大打折扣。这是由于一我的的经验和能力,须要通过实践->思考->总结这三个过程而来,而总结在其中则起到了相当重要的做用。

那么常常总结能够为咱们带来哪些好处呢?

  • 1.一样的错误不会再犯第二次。善于总结,能够帮助咱们规避不少重复的错误。
  • 2.提炼思考的成果,加深印象和理解。总结的核心在于将复杂的事情简单化,这样更易于理解和记忆。
  • 3.创建本身的认知体系。总结的最终目的就是将实践中产生的经验和知识,转化为本身的认知,从而创建起本身的认知体系。

image

敢于尝试乐于分享

不管你是作前端仍是后端,不管你是纯作技术仍是硬怼业务,咱们都要敢于尝试,敢于探索,尝试成功的话也要乐于分享其中的收获。

敢于尝试

作技术要讲情怀,天天重复去作某件事情或者某项工做,都会极大地消耗咱们对技术的热情。这就比如你在打通关游戏,若是你每关遇到的boss都是同一个,技能和难度都是同样的,那打起来是多么无聊?

因此在条件容许的状况下,咱们必定要敢于尝试,不怕失败。由于只要你作成了一件事情,其带来的成就感必定会远远大于你作普通工做所带来的成就感,而这些都将使你脱颖而出,成就不凡。

那么咱们能够尝试那些内容呢?

  • 尝试承担更高难度的任务。
  • 尝试优化和重构现有代码或者业务。
  • 尝试学习并实践新技术。

固然敢于尝试不等于无所畏惧地冒风险。在尝试以前必定要进行风险评估,作有把握的尝试,这样即便尝试失败了,也不至于有什么大的损失。

乐于分享

这里可能会有人问道:

  • "我幸幸苦苦进行的尝试,得到的经验为何要分享给别人?"
  • "若是我把经验和技术分享给别人了,那我岂不是没有存在的价值了?"

其实否则,分享可能为咱们带来不少好处:

  • 最直接的,你不分享出来,谁能知道你尝试的成果了?
  • 分享的过程,也是加深理解的过程,能够帮助你掌握得更加牢靠。
  • 分享成果,树立本身在该领域的领先地位/权威。

最后

不管咱们从事何种职业,咱们首先都要热爱它,并把提高自我修养做为一项重要的事情去作,这样才能帮助咱们在将来的道路上越走越远。

我是xuexiangjys,一枚热爱学习,爱好编程,勤于思考,致力于Android架构研究以及开源项目经验分享的技术up主。获取更多资讯,欢迎微信搜索公众号: 【个人Android开源之旅】
相关文章
相关标签/搜索