程序员应该首先明白一个要点,能够学习的东西可以区分为『知识』和『技能』。

知识,就是你知道就知道、不知道就不知道的东西,比如『计算机系统中一个字节是包含8个bit』,你知道了之后就算掌握了。

技能,是需要练习的东西,不是知道不知道的区别,只有熟练还是不熟练的区分,比如『写代码要用有意义的命名规则』,你知道了这一点,不代表你掌握了这个写代码命名的技巧,你需要去写代码练习,但是练习还不够,你需要反复练习,还需要别人给你反馈,你才能练习得更好。

是的,知乎上这些内容全都是『知识』(有的还只是伪知识),不是技能,记住,知识只需要记忆力,技能需要反复练习

好的,你现在知道『知识』和『技能』的区别,对于有心规划自己学习路线的程序员,肯定是有进取心想要学习的,但是,这十几年我所见到的大部分好(hao2)学的程序员,大部分有这么个问题,就是只知道增加自己的『知识』,不知道有意识地增加自己的『技能』,换句话说,就是看书看得多,但是不注重实操,最后很容易眼高手低。

知识这东西,不用我多说了,市面上那么多书,还有层出不穷的技术文档,只要想看,你是看不完的,所以,不要浪费时间看那些乌七八糟打着速成标签的东西,就挑最顶级的大牛的著作来看就行。

技能这东西,就是要反复练习才能获得,程序员需要的技能,包含但不限于下面这些:

  • 写可阅读代码的能力
  • 阅读别人代码的能力
  • 写单元测试的能力
  • 写设计文稿的能力
  • Debug能力
  • 10分钟讲清楚自己想法的能力
  • 做ppt的能力
  • ……

读书也可以获得上面能力的一些指导,但是,单纯通过读书无法练习技能,最后要掌握这些技能,你还是要下场练习。

所以,如果要问程序员应该怎样去规划自己的学习路线,那么请遵照这样的路线:

  1. 确定一个技能培养目标
  2. 搜集这个技能相关领域的书籍列表
  3. 找到相关领域最顶级而且没读过的3本书
  4. 读这3本书
  5. 练习书中所说的内容
  6. 向别人show一show自己练习的结果,别人是高手最好
  7. 虚心接受一切批评和反馈,即使这种批评惨无人道,即使那些反馈非常严苛
  8. 觉得自己不够精通,GOTO第4步;觉得自己已经很牛了,GOTO第1步

啊,多年不见的GOTO语句重出江湖了,可见GOTO语言当年发明出来也是有道理的,对于简单指令还是非常直观的:-)

点个赞再走吧。

从解决问题出发。

你的能力决定了你的薪资范围,能力展现出来的最大的价值就是解决问题。

有几个指标可以做为自己的参考路线。

第一个就是时间,时间不要单纯的理解为完成一个项目要多久,还包括需求改动,bug修复,扩容需要。

很多人单纯写代码求快,往往忽视了项目是持续运营,需求是不断变化,数据量在持续增长。

第二个就是数据量,数据量是对后端,运维影响比较大的,前端相对会好,在面对数据量的时候,不要只把说设计满足当前需求,而是分级解决,1万并发数什么方案,10万什么方案,100万什么方案,最常见的错误就是只顾眼前的问题,数据量到下个阶段代价更大,或者是提前用终极阶段的方案解决初级阶段的问题,方案要有持续性。

第三就是范围。刚开始只能解决简单的业务逻辑,后面开始懂金融电商地图等,或者是im,搜索,小程序,支付等等。

第四个就是底层。最早可能只能解决一些应用层的问题,慢慢可以深入到框架,源码,协议,编译,操作系统等等。

第五个就是预见性,看得出来未来的趋势,提前把握技术的方向。

第六个是复用,第七个是规范。

这些不说了,切记不要单纯去学习,而是去做项目,很多时候你的项目带着你去解决问题。

文章来源于互联网:作为程序员应该怎样去规划自己的学习路线?

发表评论