之前听说过一个木桶理论:“一个木桶能够装多少水,取决于最短的一块板”。这个理论听上去确实很有道理。例如,在高考的时候,如果一个学生的英语只能考 20 分,那么即使其他课程都是满分,也上不了理想的学校。反之,如果一个学生的每门课都很好,即使他没有达到每科顶尖的水平,在填写高考志愿的时候也是会比前者能够选择得更多。因此,在高中的时候,老师们都会奉劝大家不要偏科,让学生们的每门学科都尽量均衡一些。因为在整个高考的大环境下,过度的偏科确实对学生没有太大的好处。
后来进了大学,也读了研究生,大家应该都会发现当前确实是一个知识爆炸的时代,这些知识无论是在书本上还是网络上都呈现出爆炸的情形。在一个人精力是有限的前提下,是很难学完所有的知识并且面面俱到的。在 20 世纪初,确实还存在数学家能够精通数学的很多领域,并且这些数学家在数学界很多领域上都做出了不错的成绩。但是到了 21 世纪,几乎就没有数学家敢自称自己精通所有数学方向了(当然精通本科数学课程那种程度实在是不能算)。就笔者对数学的各个方向粗浅的而理解来看,一般来说,研究分析和研究代数的就是两拨人,这两拨人的技能点和兴趣点都不太一致,而研究代数拓扑和几何分析的则是另外两拨人。在数学界都尚且如此,更不要说跨行业的精通了。就像在企业里面,很难找到一个前端,后台,设计,机器学习统统都精通的人(不是说找不到,而是非常稀缺)。在这种情况下,每个人都面临着选择,是选择做一个全栈工程师,还是一个只精通一个领域的人。
如果选择做一个什么都会做,面面俱到的人,首先就要跨领域的多学习各种东西,例如前端,后台,机器学习等等。在精力上就要像高考的时候一样做到相对均衡的分配,在每个领域都需要有所涉及。这样的好处就是什么样的活都能干,如果团队里面暂时缺少某个领域的人,这类人就可以及时补上,能够保证项目的顺利完成,毕竟从其他团队抽调人力是需要考虑其他团队的工作安排的。同时,这类人在就业的时候选择面也会广一些,因为他们什么样的活都能够做。但是这类人才可能也会有一些自己的问题,那就是精力会相对分散一些。毕竟研究的方向广了之后,研究的深度可能就要打折扣。不过,这件事情也是因人而异的,毕竟人和人之间是不一样的。就像有的人能够一天学习十二小时,而有的人一天连一个小时的书都无法看下去。
反之,如果选择做一个精通某个领域的人,那么他的精力就会相对集中。在同等智力条件下,他所研究的深度就会比面面俱到的人所研究得深。说句实在话,在当前知识爆炸的时代,即使是人工智能领域,其实也很难做到在各个方向上都样样精通。首先,各种各样的开源框架层出不穷,各种各样的新的调参技巧如雨后春笋一般涌现。其次,不同学科之间的处理技巧实在是有一定的差异。例如,自然语言处理的技巧和方法与图片处理所用的方案是有一定的区别的,在推荐系统上所使用的技术到了运维系统上可能就不能生效。在这种时候,如果企业要解决某个业务难题,无论是防止黑客攻击还是做一个推荐系统,都会倾向于聘请一个在这些领域有过相关工作经验,并且在工业界有一定知名度的人来解决这些问题。通常来说,在这种时候企业不太可能选择一些没有相关工作经验的人来重新培养,因为一来成本太高,二来无相关工作经验的人可能也无法胜任这类工作。整体来说就是风险太大。
就普通成年人而言,通过了长时间的在校学习和工作锤炼,一般都有着自己的工作习惯和专业技能。如果一个人的学习能力还可以,那么就可以把他已掌握的技能迁移到其他类似的领域去;但是却很难去让一个成年人进入一个他完全不了解的领域。如果进入一个完全陌生的领域,一来重新学习新的技能成本太高,二来放弃自己所掌握的技能是一件很困难的事情。所以,很多时候这个人能否做不同类型的工作就看此人是否具备技能迁移的能力了。而长期做某一件事情也具有一定的风险,那就是如果这个领域持续走低,市场上的需求量越来越少,那么掌握这门技术就好比是屠龙之技,几乎没有用武之地。因此,如何根据市场的需求,调整自己的技能点则是专才需要考虑的事情。
整体来说,做通才或者专才看的是这个人的性格和能力,每个人都需要根据自己的实际情况作出最适合自己的选择。在精力充足的情况下,可以选择多学习一些方向,掌握不同的技能点;在精力有限的情况下,不如根据自己的兴趣爱好,选择一个最擅长的领域做下去,然后在这个领域形成自己独有的竞争力。
领取专属 10元无门槛券
私享最新 技术干货