1.打牢基础,以不变应万变
不管做任何事情,基础永远是最重要的,只有基础打牢固了,我们才能在上面建立更多的知识体系。
就像起房子,就必须要打地基,而且要打得很牢固。这样不管是想起五层还是十层楼都能完成目标。
学习上也是同理,我们需要先打好坚实的基础,才能在基础上再拓展需要的知识。
而关于软件技术的基础就需要系统的学习程序语言,包括语言的原理,类库的实现,编程技术,编程范式,设计模式等。
还有一些系统原理,包括计算机系统,操作系统,网络协议,数据库原理等。再加上中间件,包括消息队列,缓存系统,网关代理,调度系统等。
最后是理论知识,包括算法和数据结构,数据库范式,网络七层模型,分布式系统等扥这些知识。
当然学习基础并非一朝一夕就能完成,是需要花大量的时间和精力去持续性的积累。
2.用知识树系统的去学习
另外任何知识,只在点上学识不够的,还需要在面上学,因此,我们可以去总结并归纳知识树或者知识图。
我们都知道,一个知识面会由多个知识板块组成,一个板块又有各种知识点,一个知识点会到处另外的知识点,各种知识点又会交叉和依赖起来,学习就是要系统地学习整个知识树。
就好像,对于一棵树来说,“根基”是最重要的,所以,我们学好基础知识非常重要。因为如果我们身处在一个陌生的地方,有一份地图是非常重要的,没有地图的话只会乱窜,迷路甚至走冤枉路。
只要我们打好了基础,那么就可以开始利用知识树系统的去学习了。相信效果会很惊人。
3.提高自身的学习效率
其实学习也分很多种,读书,听讲都是学习。讨论,实践也是学习,学习与学习之间还是有一定的差别。
很多时候大部分人一直处在被动学习中,比如读书,听讲。只有少部分人会从被动学习转变成主动学习,如讨论和实践。
如果一直处在被动学习中,相信很难有进步,所以我们应该主动去学习,这样才能真正的学到一些有助于我们能力提升的东西。
比如对软件工程师来说,我们可以写博客,做分享都是很好的主动学习的方式。
因为当我们要去教别人的时候,当我们要把自己写的东西公之于众的时候,我们势必需要去查很多东西,而且会很上心,这样一来就会学的很系统。会在不知不觉中提升自己的知识面以及能力。