关于专才与通才的思辨

 为啥忽然想这个问题?前端

 

这阵子跟技术人交流,忽然引出了一个问题算法

对我的来讲,到底是专才好,仍是通才好。固然就技术开发这个领域来说。数据库

首先列一下名词解释编程

专才:就是指专一在某个领域/语言/平台/职能上的开发者。后端

通才:天然不用说,就是你们最喜欢的全栈。固然全能的人是不存在的,因此说局部全栈会比较合理一点。比方Web全栈,就是包括了前端开发,后端开发,服务器运维,数据库,架构等安全

而后固然还有APP全栈等。服务器

 

谁对谁错?

 

正方的角度是:实际工做中的事实是常常须要引用多种多样的语言或者技术,也有不少中间件或者第三方组件,须要一我的身兼数职。架构

  固然你也能够说我须要用什么语言的时候,就招一个这方面的专业人士,可是大多数状况下没有这么奢侈,毕竟这个中间件可能只有1%的时间会用到,那么另外99%的时间难道闲置这我的么?或者非要想个项目把这我的力利用起来,那这个项目也够鸡肋了。运维

  因此团队内常常会有这类局部全栈的开发人员。编程语言

 

可是站在反方的角度上思考:

  人的精力是有限的,只精通1门语言有点局限性,精通两门问题不大,时间充裕的,精通3门也OK。可是若是你非要精通5门或者10门语言,并且还要应用到实际工做中,那么精力分散以后那些隐藏在语言深处的坑,你还有能力找出来么?

 

再从招聘的角度来谈:

全栈型的人才颇有用,面对不一样的业务环境,都能找到合适的解决方案,而且开展工做。

专业型人才颇有价值,在屠龙这个任务上,一把屠龙宝刀跟瑞士军刀作甚比较。

因此就应用场景来说,各有千秋。

 

再深化一点

  “语言只是工具,重要的是思路” 批判专才的可能要站出来这样说,但咱们这里举的语言例子,只是说为了方便讨论,由于专业型人才看你专业的方向而定的,若是你是专业的架构师,所谓“思路”就是你的专业方向,那么哪种语言并没什么特别。

若是你是算法工程师,那么用不用编程语言也没区别。伪代码照样玩的溜。

 

  那另一种状况是,其实所谓全栈也不须要去深刻了解到语言的细节之处,只要学到能用的状况就行,就能应付不少种状况了,并且在学精通一门语言以后,再去学其余语言其实也挺快的,大体相同,细节之处花点时间也能足够。

 

可是对我的来讲呢?

 

应该以什么标准来衡量本身的进取方向?

首先要问本身一个问题,本身的目标是什么?

是想出来单飞,创业作一番事业,仍是想深刻某个技术,作这方面的专家?

又或者只是想用本身喜欢的技术开发一些有趣的程序?

而后再问另一个问题,这个目标上这两种人才,你以为最有优点的是什么?

若是有些人对本身的目标早就明确,那其实没有什么困扰,对他来讲,选择这件事早就结束了。

可是更多的人是因工做而选择,若是没得选择了,那其实也没什么好困扰的。

这个问题对那些既有一些选择权的人,又对目标有些迷惘的人来讲,应当是比较有价值的。

 

因此应当怎么选?

 

最安全的方式是按照 T 型人才。就是其余专业浅浅的学一层,可是在某一个垂直领域里深刻挖掘。

而后咱们从新比较一下 所谓通才跟所谓专才。实际上是不是都错了。

通才实际上是什么都会一点,什么也都不会的状况,这样其实很危险,由于若是职能开始细化,随便找几个专业型的人才就能替代你。

专才也其实很是危险,专一在屠龙一件事上,若是哪一天龙死光了,屠龙勇士可能连耕地都干不了。

普京不是说了嘛,“打工是不可能打工的,这辈子都不可能打工的,我还能怎么办?根本找不到工做。只能继续当总统维持生活这样子。”

是否是相似的道理?(开个玩笑,哈哈哈哈)

相关文章
相关标签/搜索