Android程序员如何提升自己的技术,快速达到腾讯T3,50W+的标准?

这样的一个问题,其实说实在的,是我目前比较关注的一个问题,因为经常有粉丝反应说自己有感觉到,貌似时间过去了很久,但是自己的技术能力却没有提高多少,不知道你们是否有这样的感受。

说到底,自己对技术还是有追求的,不想只做一个普普通通的底层码农,所以对如何提升自己的技术能力思考的还是比较多的,有些想法自己一直在实践,比如等会要说的写博客,当然,有些自己还在尝试,同样,有些自己做的并不好。

今天,准备把这些都分享给大家,本着一个互相交流,互相学习的目的,也期待你的分享!

那么作为程序员的我们该怎样做才能提升自己的技术能力呢?

一、刻意练习

有朋友应该知道这个名词,它是一本书,我们抛开这本书,单单聊聊“刻意练习”四个字,什么是刻意练习呢?

大概就是有意识的去学习,这里强调的是主动学习,不过我觉得更重要的是另外一层意思,那就是对某一块的知识做集中长时间的反复练习。

我一直觉得方法论的东西都是让人看了直呼“有用,牛批”,但是过后却并不知道该怎么做,这也许就是方法论其实是比较抽象的结果吧,和你说一个方法论的东西,比如这里的刻意练习,我告诉你学习技术,要想提高水平,你要进行刻意练习,可能你并不知道该怎么做,倒不如直接跟你说,你要保证每天刷一道LeetCode,这样你最起码知道自己该做什么,该怎么做。

那你说方法论有用吗?我觉得有用,只不过对于方法论的东西,你需要结合自己的思考然后给出一个具象的行为,就是可以指导你实际行动的一套理论,那你说,我总结不出来怎么办,对于方法论的东西,也就是看看而已,我提取不出什么有用的可以执行的东西。

那怎么办?有个方法,那就是看别人的解读,参照别人的,自己去执行一下试试看,适不适合自己,可不可以保持下去,以及在做的过程中,结合效果,或许你就有了新的思考,你就会去改进了,这其实就是一种成长。

那对于刻意练习,我们该怎么做呢?我这里谈下我的做法,仅供参考。

其实要说这个,就要结合着下一点一起谈谈。

二、系统化学习

什么是系统化学习呢?在我自己的自学当中,我一直认为系统化的学习才是最有效的学习方式,当然,系统化学习其实是个很深的东西,不同的人理解的含义与层次都是不同的,当然,我这里会聊下我的看法以及做法。

结合上述第一点的刻意练习,与这里的系统化学习,我其实觉得他们是相辅相成的,刻意练习要求我们有意识的去主动学习,对某一块的知识做针对性的重复练习,而系统化学习呢?要求你学习的知识内容是有体系的,不是散乱的各个知识点,而是互相呼应的前后知识点,而且这个系统化的学习,对于你学习的内容也应该是反复迭代,不断打磨的。

其实无论是刻意练习还是系统化学习,都有一个要求,那就是你必须得花上足够多的时间,不然成不了事。

说了那么多,我是怎么做的呢?

写教程,对,我目前对刻意练习和系统化学习的具体做法就是写教程,这个教程不仅是写给自己,也是写给别人,那我为什么由刻意练习和系统化学习会让我采用写教程的方式来提升自己的技术能力呢?

首先,一份教程的最基本要求,知识要求体系化,不是零散的知识点,而是有关联有联系的知识点,当然,一份教程包含的知识点一定是足够全面的,内容相对比较丰富,同样在写的过程中,你会发现很多问题,这就需要你反复的打磨和不断的迭代了,因此,足够的时间必不可少,所以,这样的学习模式在我看来就是系统化的一个学习。

至于刻意练习呢?刻意练习讲究的是什么?要有意识的去对某一块的知识做重复性的练习,那写教程符合吗?一份教程,包含的是一个大块的知识体系,要想完成这样的一个体系化的内容,需要反复打磨,不断迭代,这其实就是在重复,追求更好,这和刻意练习的理念不就不谋而合了嘛!

我们常常觉得知识多而杂,觉得学不完,记不住,脑袋一片混乱,这其中有一点原因就是,你学的太多了,很多知识在你脑海里是随意安放,没有什么连贯性,有些害羞的知识躲在小角落里,时间长了,你都忘记它的存在了,那怎么办?

你需要对你所学的知识做整理,不能让他们在你的脑海里那么随意没有秩序,你需要去规定它们 ,什么样的知识该待在什么样的地方,那怎么做?没觉得写教程是一个很好的管理模式吗?把相同特性,有极强关联属性的知识都聚合在一块,一份教程必然追求详细完整的,那么那些躲在角落的某些知识,也会被相应的属于他的教程给召集过来。

我常常觉得,学习其实是最简单的,难的其实是对知识的运用,也就是说,你学那么多知识其实不重要,重要的是当你需要的时候,你可以调用它,否则,学再多,用不起来有何用?

至于很多人调用不起来,一是知识混乱,调用繁琐,导致错误,致使脑袋一片空白,二是很多知识被你放在阴暗的小角落,你早就忘记它的存在了,而写教程可以把一整块的知识整理起来,因为是一大块的内容,包含体系化的知识,所以不容易遗忘的,因为它足够“大”,内容足够丰富,所以一些可能被放在角落的知识现在有归属了,你也就不容易遗忘了,当你需要调用他们的时候,你就会很容易的找到他们了。

给大家看下我写的《Android开发核心知识点笔记》:

PS:点击这里即可获取我整理好的PDF。

现在的最新版,包括了十大知识点板块:

  1. Java知识点汇总
  2. Android知识点汇总
  3. Android扩展知识点
  4. 性能优化知识点汇总
  5. Android开源库源码分析
  6. Kotlin知识点汇总
  7. 设计模式汇总
  8. Gradle知识点汇总
  9. 计算机网络基础
  10. 常见面试算法题汇总

相信你可以从中获益

并且!目前仍在利用下班时间补充修正,如果你看到有哪里不对的话,还麻烦私聊告知我一下,我马上会去修改~

这样的一份笔记写一写,真的就感觉对知识的掌握清楚了很多,觉得对知识的掌控感也就更强了一点。

当然,以上的做法是基于我对刻意练习与系统化学习的思考总结得出的执行方案,对你,是一种参考,而我把这种方法叫做“教程式学习”。

三、写博客

以上说了提升程序员技术能力的两种方式,一是刻意练习,二是系统化学习,然后结合这两点我给出了自己的具体做法,接下来我要说的就是写博客。

作为一个程序员,你一定要相信,写博客对你绝对是有好处的。

上述我说了我的教程式学习方法,但是你得知道,这样的方式其实是很耗时间的,因为一份教程哪是三五天就可以搞定的,时间最低得一个月吧,没有足够的火候,效果必然是不好的,那么你有没有想过,在这一个月的时间,难道我们就不会输入其他的知识了吗?

我们在学习工作中,每当我们遇到问题以及不会的知识点,是要及时做总结记录的,因为很多时候,同样的错误我们坚决不能让自己犯第二遍,因为成本真的太高。

所以平常多总结很重要,那对于程序员的我们,写博客就是最好的方式,遇到问题,要总结记录,不会的知识点,要花时间学习一下,然后总结记录,下一次碰到的时候,因为自己之前总结过,所以没啥大问题,即使忘了,翻看一下自己的博客,也可以立马明白回忆起来。

我们在学习的时候,想必大家也都有这样的感觉,就是很多知识看似会了,真的让自己实际动手操作起来,很大几率,垮掉。

编程的学习就是这样,很多知识,不能想当然的觉得自己会了,你自己总结一遍,写出来,效果杠杠的,关于写博客这块,这里就不聊那么多了。

总的来说,程序员要想提高自己的技术,其实离不开博客的,我们每天接触的知识点其实很多,要学的也很多,教程式学习做不到面面俱到,其实你发现没,我上述说的教程式学习更多的其实就是一种系统化学习,那很多零散的知识点怎么整,最好的办法就是写博客,而这个,我称作“博客式学习”。

哈哈,我是真的喜欢命名啊!虽然有点low,反正有内味儿了!

四、不断的学习

这点真的是应了那句话了,好好学习,天天向上,这里要说的一点,其实很简单,也不想高谈阔论的谈太多,说白了,也很简单,那就是作为一个程序员,一定要多多学习,学习足够多的知识。

你可以多看书,多看博客,多看视频,抓住一切有可能学习的地方。

我之前读李笑来的文章,记住了这样的一句话,大致就是“当你的脑海中没有足够多的概念,你如何能做到举一反三”。

什么意思呢?我们常常觉得有些东西学了忘,记不住,很多知识不会,大概率就是你学的知识太少了。

记住多学习,多看,忘了就再看看,记忆其实是个不断重现直至成为长期记忆的一个过程,学的足够多了,看的足够多了,很多知识自然而然就记住了,就会了。

所以啊,程序员们,多学习吧!

最后一点,时常回顾和项目实战真的很重要!

以上巴拉巴拉说了一大堆,学过留存的很多知识,如果你不时常回顾一下,其实效果是要大打折扣的,而且对于教程式学习,也必须要求你不断回顾,因为它是需要不断打磨和反复迭代的。

因此,温故而知新,可以为师矣!

再一个就是项目实战,这个我曾多次写文章说明它的重要性,相信我,这是提高技术能力最直接也是最有效的一个方式。没有任何一个架构师是看书看出来的,架构师都是实战出来的!

其实无论是回顾还是对于项目实战,重在一个查漏补缺,发现自己的知识盲点和难点所在,然后加上上述的方法进行集中突破,当然,项目实战有一个熟能生巧在里面!

好了,今天的分享就到这里了,最后还有一些Android方面的面试专题PDF

如果你有需要的话,可以 点这领取

总之,作为程序员的我们,要多学习,未来可期啊,一起加油吧!

猜你喜欢

转载自blog.csdn.net/River_ly/article/details/106931491
今日推荐