网络寻租

Programmer, Gamer, Hacker

喜新厌旧

| Comments

程序员会面对一个陷阱:就是永远有新的知识可学。比如nodejs,swift,各种编程语言,各种各样的开发库,机器学习,统计学,交互设计等等。 时间宝贵,我们很容易把时间浪费在学习上面,学了一堆,结果获得的成果寥寥。

新的知识往往会有这样的一些问题:

  • 不够稳定:新的东西往往没有充足的开发人力和实际应用,使用的时候各种坑,遇到各类的bug和问题,宝贵的时间就用来和这些坑纠结了。
  • 适用场景狭窄:很多时候一个新东西是针对一个领域的特定问题的,如果你不实际用到它,学了完全没有用处。
  • 同质化:经常会有一门新的编程语言冒出来,它们可能有一些好的特性,但是你真的需要再学一门编程语言吗?
  • 人力有限:你确定需要学习前端,后端,服务器,机器学习,交互设计全部的知识?每样都没有时间学精,这么多东西也塞不进自己的脑子里面。

因为新的知识有这样或者那样的问题,很多时候不如退一步,去学一些不那么酷,但是经久使用的旧知识:

  • 经过时间检验的知识:比如C,脚本语言,甚至英语,这些你总归会用到的。
  • 不会变的基础知识:tcp/ip协议,操作系统原理,数据库,基础算法。虽然平时工作不一定遇到,遇到的时候自己不懂就有得受了。
  • 继续深入现存技能:打磨我们日常用到的技能,是投入产出比最高的。

我觉得可以去学习新知识的情况:

  • 浅尝辄止:可以了解新的一些事物,知道它们的潜力,但是不要轻易深入学习。
  • 工作领域的延伸:比如你是普通web应用的开发者,可以学习重前端框架,异步后端框架,这些可以弥补现在掌握技能一些照顾不到的空缺。
  • 更先进的替代工具:比如你现在是php开发者,可以去学习rails。
  • 下一个职业发展方向相关:你希望成为一个新兴领域的专家,那么你需要投入大量的时间和精力在这个领域里面。

大多数时候,学习新知识的投入产出比,比不上学习旧知识的投入产出比。一个什么都懂的万金油程序员,不如一个领域专家收入高。

Comments