爆栈思想 – 究竟怎样才能技术专家

专才和全才

我之前在我的《爆栈之旅》课程里详细说过专才和全才的差别。

韩愈的《师说》中说到:“闻道有先后,术业有专攻”,意指所听到的道理有先有后,技能学术各有研究方向。

我大学的老师引用著名生物学家Thomas Huxley 赫胥黎的传世名言:”Try to learn something about everything and everything about something”(试着去学一切的一点皮毛,和某些皮毛的一切)。这是让大家尝试成为全才。

JOATMON 万金油

然而,并不是每个人都愿意、有能力、达成全才。英语里有一句老话:Jack of all trade, master of none(门门精通、样样稀松)。大概意思就是真正的全才难以达到,最后只能半吊子。

 

在中国,我们会称之为“万金油”,其实就跟瑞士军刀一样,难以样样精通。

级别

开发人员:初级程序员、中级程序员、高级程序员、小头目(Team Lead/Tech Lead)、首席开发人员(Principle Developer)

架构师:应用架构师(Application Architect),系统架构师(System Architect),企业架构师(Enterprise Architect – EA)

技术管理:研发经理、高级研发经理、技术副总(VPE)、CTO

这些我都在《爆栈之旅》课程里深入讨论过差异、需要多长时间、需要什么才可以逐步升级。

限制

一般开发人员,会在某个小组里做某个业务模块,因为业务范围限制,能使用的技术不多,譬如,你负责某个模块的前端,你就比较少机会接触后台、存储、分布式等等技术,没有这个需求,也没有这个机会。

某司,某个小组的技术元老,跟CTO进言:“我组的开发人员,一般就接触前端(Web)和桌面(WPF),没有什么机会接触到后台、数据存储等技术,我想送他们去参加那些付费的培训班”。

CTO马上说:“我们这是在做业务产品,不是给大家来学某种编程语言/技术的,如果他们愿意,可以自己回家去学。而且大家都去学得花多少时间和钱?”

我坐在旁边,颤颤抖抖地说:“我遇到过有这样要求的开发人员,说着这里只能学到某种特定的技术,其他的学不到,所以离职了。其实,我司用的技术挺多的,后台.NET、Java、Scala等,前端React、AngualrJS、Knockout等,数据存储SQL Server、PostgreSQL、MongoDB、Redis等,硬件设计/嵌入式等,大数据处理存储如Hadoop、Kafka、Spark、Elasticsearch、Kibana、Logstash,我们还有大数据分析、人工智能、机器学习等等,只是因为业务组限制,没有机会接触。要不,既然我们每个星期五下午都有一个小时的啤酒时间,就利用这个大家都不工作的时间,每周找个具体的话题,大家上去轮流着讨论,这样比写文章效果更好,而且可以录制视频,公司全球分舵都可以分享。”

CTO答道:“愿意学的人无论如何都会找到办法去学,不想学到人无论怎么创造机会都不会学,所以,我们没必要做你们说的。”

专家

经过多年钻研,把某一门技术做深做强,成为该领域的专家,已经是非常难得了。如果要成为更多领域的专家,那更加困难。

办法

所以,怎么办?业务模块未必提供足够的机会,当然,你可以:

  • 去参加其它组的技术分享
  • 可以回家去学
  • 可以参加外部的技术分享
  • 可以上网找课程
  • 参与开源项目,多读优秀的开源项目的代码
  • 刻意地通过去做新的东西来学新技术

但毕竟你没有足够的实战机会。

想知道为什么我这么多年来能掌握那么多种技术,不仅仅是广度,还有深度,达到我所说的“爆栈”吗?

在《爆栈之旅》,我根据大家都实际情况、水平、方向等规划职业路径,手把手带你做实战的项目,用最高效的办法达到你想要的高度。

爆栈之旅

是否想技术水平快速提升?是否希望快速成为公司的技术骨干?

核心价值
  • 把我这10多年来所学到的知识、总结的经验、吸取的教训分享出来
  • 针对不同的学生量身定制规划学习成长路线、1对1个人指导、代码审阅等
  • 解答各种技术问题
  • 为公司提供技术解决方案

请查看本站右边的信息联系我。

版权所有

所有文章内容版权所有,任何形式的转发/使用都必须先征得本站书面同意。本站保留一切追究的权利。