用80/20法则迅速拓展程序员学习的广度

首先吧,我觉得人不能只学自己专业之内的知识,否则容易变得思维僵化,总是逃离不出原有的思考模式。80/20法则本来是经济学原理,但是之前经过了大量的知识学习后,我突然领悟到(很多时候灵感就这样突然来了,挡也挡不住),80/20法则对于我们程序员来说是很有利的学习方法。
我刚开始学习编程的不久,经常听到“有经验的”人说,程序员应该只精通一样东西,不要什么都学。然而,这种说法被我验证是站不住脚的,就对我自己而言,做游戏,精通C++够了吗?不够,C++只是最基础的语言层面,还得学图形库(或游戏引擎)才能显示图像啊,不然做的游戏都是黑白控制台了。学图形库就够了吗?做了几个项目后发现也不够啊,做游戏不是显示图案就行了,还得要有软件架构与设计模式的思想,不然C++代码功底再深厚也会把架构写乱七八糟,无法维护了。那还要学吗?发现软件架构学的再好,人还是容易出错的动物,出错了你不能老是重复改来改去又怕改错东西吧,那好,还得学Git版本控制。这样应该没问题了吧?一段时间后,发现还不行,就算版本控制写得再好,软件架构思想再好还是容易出乱子,写代码总不能边写顾着顾那的,后来又去学习UML。这下子架构总算设计得清晰了,还没完,我想要更多的功能,我要引入第三方库,发现大家都喜欢用CMake,我又不会用,怎么办?总不能坐以待毙,学学CMake……
上面的过程其实是我自己的真实学习心路,IT这行业永远有未学完的东西,永远在冒出新的东西,一个程序员说实话要一直学一个东西(或很少东西)就能出类拔萃是不太可能的,总是有各种各样更先进的知识等待你去学习,促使你把事情做得更好、更高效率。但是问题是人没有那么多的精力,什么都想做好,必然什么都做不好。幸好后来我领悟到,原来学习使用一个东西没有想象中那么耗时,因为80%常用的最有用的部分,大概是只需要20%的时间来掌握。以前我在学习Git的时候,看了很多的教程、书籍,后来在我正式使用的时候,发现并没有很多东西是自己经常要用的,也就是说我原本不需要花那么多时间去精通一个东西才去用它的,我本可以花一小部分时间来掌握Git的大部分基础用法。(后来我也只把这些基础用法教给自己的游戏工作室成员,的确足够使用就行了)我回想一下以前学习Vim、C++、DirectX等等,其实我用的上的东西只是我学过的东西很小的一部分,我根本不必所有时候都要求自己足够精通熟练才开始使用!当然我也不是说什么都学习半桶水,我是说要精通自己的几个技能,同时其它技能其实是可以通过80/20法则来快速掌握的,把节约的时间继续精通自己专注的几个技能。后来我在学习UML、CMake的时候都用了这个法则,结果用很少的时间就能够把它用上自己的工作,这感觉就像自己发现了一个以前从未发觉的新的大陆。的确,我们要用上工作的知识是很少的一部分,我们通过很少的时间精力就能够上手,另一方面,我们程序员向来喜欢动手,通过动手实践,我们也可以逐渐加深对以往最重要的那部分知识的理解,也在适当的时候加深自己学习的深度。这样的学习法则,让我觉得又实用又节约时间。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值