学习与人生——我的学习方向的改变

以前学习的方向

从毕业之前到工作到现在,这几年的时间,我比较注重自己的工程能力。因为我需要迅速的提升自己的编码能力,来达到企业对于开发者的基本要求。毕竟,我得先保证自己能顺利找到工作,能先吃饱饭,不管是之前在武汉,还是现在的杭州。

我的工作语言是 Java,在之前很长一段时间,我几乎都注重于框架和第三方库的使用。我必须得把工作中会用到的各种技术学会,熟悉他们的使用方法,以及一些基本的原理。比如说我现在工作中用到的技术基本上都是 Spring Boot + Spring Cloud + Spring Cloud Alibaba 全家桶,于是乎我在学习的时候,就是照着官方的【参考文档】来看的。拿 Spring Boot 来举例,基本上照着参考文档,只需要一些时间,就能了解到以下方面的信息:

  • 如何开始使用,或者如何从旧版本升级。
  • 了解到它的核心特点和生态解决方案,比如数据、网络、消息传递、IO等。
  • 任何官方适配的解决方案的【最佳实践】,以及了解到官方是如何推荐每项配置的。

这样不仅能让我少走许多弯路,还能一开始就能了解到比较【标准】的使用方法,也就是【最佳实践】。就拿 Spring Data Jpa 来说吧,因为工作中一直用的是 mybatis,没接触过,索性就抽空自学了。我们可以在参考文档中,找到 Spring Data Jpa 文档的入口,这时就可以根据文档的介绍一步步往下实践了。然后,我们可以去 GitHub 上面找最佳实践,看一看除了官方,其它优秀的社区开发者,是如何使用的。可以从官方仓库的 issues 里面找,尤其是那些提 issues 时,有很详细的 debug 过程的,一般这样的开发者,他的代码质量不会太差,甚至人家的仓库还配备了 wiki 。还可以直接搜 spring data jpa 这个名词,看看哪些仓库用到了,当然,不要忘记了 awesome

如果说,一开始就去百度搜:“如何使用 Spring Data Jpa”,那么你可能会经历一段痛苦的踩坑过程,甚至会给你带来大麻烦。在接触新事物时,一定要改变自己的认知,注重自己的信息来源和质量。感兴趣的话可以看看我之前的一些文章:

👉学习与人生——聊聊我的学习方法 👉学习与人生——利用GitHub学习 👉高效上网与系统性学习

当你学会这些“套路”之后,你能为自己节省许多时间,形成正反馈,从而避免在“内容农场”中迷失自我。

说了这么多,似乎一直在强调我之前如何在学习?但是仔细品味,你就能发现,其中是有一些问题的,至少已经不太适用于现阶段的我了。最开始我说道,我之前过于注重工程能力了,虽说是无奈之举,但到了必须做出改变的时候了。从基础切入,锻炼自己高效的学习能力和问题的解决能力。

改观

当我有了一份稳定的工作、且能独立应付工作中大多数问题的时候,我需要重视自己的学习能力、架构能力和系统设计能力。简而言之,就是努力学习基础知识,系统性的完善自己的知识图谱,并尝试独立设计系统。

计算机基础知识,我想不管再过多少年,可能都不会过时,而某一门技术是有可能的,这一点只要稍微了解下整个计算机技术的发展史就能明白。但是基础只要扎实了,学任何一门技术都会很快。之前也并不是没有这样做,只是时间一方面分配的确实少了,另一方面就是,没有系统性的去学习基础知识,导致部分知识在脑海中比较零散,无法构成体系。而接下来,就是要解决这些问题的时候了。提升了基础和学习能力,才能解决更多的问题,才能一直向上走!

不知道以后有没有机会去一些优秀的公司,去学习他们的工作方法、最佳实践和解决方案,这些东西在书上或者社区是学不到的(很难),所以亲自去体验过,可能会更好。

最后,希望我这个改变是对的,不同的学习方向上,付出和收获都是不一样的,希望能越来越好!😊

updatedupdated2022-08-252022-08-25