在日新月异的 IT 行业中,每隔数年乃至数月,便会涌现出革新性的技术或前沿框架,引领行业潮流。

比如前端开发,我刚开始工作时,大部分都是静态页面+JavaScript,页面上只有一些简单的交互。

后来出现了
Ajax
技术和
JQuery
库,现在想起当年第一次使用
JQuery
时,真的觉得这就是前端库的终点。

结果没过几年,就兴起了
MVC/MVVM
框架,随之而来的就是
AngularJS

EmberJS
,这时,突然就觉得
JQuery
没有那么香了。

AngularJS

EmberJS
还没闹明白,
React
又横空出世,紧接着就是
Vue
。。。

再看后端开发,早期我主要使用
.NET
,或者用一些
Java
,不过那时候后端语言和框架不是那么被重视,

更多的精力都是放在数据库上,尤其是 Oracle,项目上还有
DBA
的角色,专门负责处理数据库的问题,

那时的应用基本都是单机的。

后来,随着应用规模的扩大,性能问题逐渐显现,开始引入缓存技术(Memcached,Redis),

同时,异步编程和多线程技术也开始被广泛应用。

这时候,各种 Web 框架也如雨后春笋般不断崛起,知名的比如 Spring,Django,Rails 等等。

再后来,互联网应用飞速发展,单机应用开始显得笨重且难以维护和扩展。

云服务,微服务,
Docker
成为主流,持续集成和持续部署(
CI/CD
)流程也被广泛采用,

数据安全和隐私保护的重要性也日益增加,后端开发在安全性和认证方面的要求也越来越高。

其他 IT 领域也类似,随着硬件的发展和互联网累计的数据量到达一定规模之后,神经网络,深度学习和强化学习让机器学习领域飞速发展,AI 真正开始走向普通人的生活中。

总之,我们一直处于技术迭代的循环中。

1. 选择通才还是专家?

像 IT 这样迭代如此之快的行业绝无仅有,那么,在技术的世界里,我们应该专注于一个领域还是尝试很多领域?

也就是说,我们应该成为
通才
(拥有广泛的知识,无论有用与否)还是成为
专家
(致力于一个主题或一个特定的分支)呢?

回答这个问题之前,首先了解一下通才和专家具体有什么不同。

1.1. 通才

通才
指的是那些勇于尝试、对广泛领域保持探索精神的人。

在技术的广阔天地里,他们不仅精通某一专业领域,更在多个领域内拥有深厚的知识积累。

这类人往往不会局限于单一的职业路径,而是倾向于在其职业生涯中跨越不同的领域,不断寻求新的挑战与成长。

这样的人能够改变世界。

著名的通才包括像史蒂夫·乔布斯和埃隆·马斯克这样的天才,他们擅长创新新事物。

通才不仅仅是在他们感兴趣的每一件事上都表现出色,他们还能够将解决一个问题时获得的知识,其应用于不同但相关的问题上。

当他们学会了某个领域的基本知识后,就会把这个知识用在之后接触的每个新领域里。这就是首席技术官的工作范围能横跨多种技术和不同领域的原因。

他们会用自己多年积累的见识和经验去应对每一个新挑战,同时还会不断学些新出现的技术。

通才专注于解决问题,而不是某个具体的技术。

1.2. 专家

相反,专家则展现出高度的专注力。

他们致力于深耕细作,在某一特定领域内稳步前行,犹如手持明灯的引路人。

专家们热衷于全面掌握某一领域的所有知识,他们孜孜不倦地研究、实验与学习,以追求更高的专业造诣和更深的理解。

绝大多数技术进展归功于那些在各自领域深耕细作的专家。

他们专注于机器学习(ML)、网络技术(Web)、移动技术、基础设施、中间件以及其他各类技术领域的开发与优化,凭借多年累积的专业知识与经验,推动了这些领域的持续发展与创新。

专家需系统掌握核心基础知识,并通过在特定领域内长期深耕,方能触及并精通该领域的高级课题。

成就斐然的背后,是无可替代的辛勤努力与积累,无捷径可循,比如各种编程语言,框架的发明者,机器学习领域的各位先驱等等。

各学科的重大发现与进步,很大程度上仰赖于这些领域专家的贡献与推进。

软件专家长期以来运用一套稳定的技术栈,在自身领域内积累了深厚的知识,并对外部进展保持洞察。

他们通过不断努力,成为了行业内的权威人士,同时积极寻求和实践创新的方法论。

不过,软件专家并非要求个体局限于单一技术领域,他们也可以自由探索其他技术领域。

2. 个人建议

我自己的感觉是
通才

专家
属于两个极端,作为一个普通人(包括我自己),我的选择是介于两者之间。

如果对某个技术领域非常感兴趣,那么可以花时间去掌握该领域的各个方面,

但不要限制自己,不要排斥接触其他相关领域。

比如,在
github
,我们可以看到很多前端高手,前端的知识和经验已经非常丰富了,也会去学习
Rust
,然后用 Rust 来开发提高前端开发效率的工具。

还有很多机器学习领域的高手,他们也会学习前端的技术,为自己的大模型制作交互界面,让更多的人能够使用大模型。

选择学习什么技术的时候,有两个很重要的因素值得我们好好参考,就是
兴趣

经验

兴趣
虽然有助于我们缩小选择的技术领域,但最好是尝试不同的技术领域之后,再决定自己的真正的兴趣。

比如,不要因为第一个工作接触的是前端,发现前端也挺有意思,就把自己的兴趣定在前端。

决定兴趣之前,多接触几种不同的领域,尝试在不同的领域做一些小工具玩玩,不同担心学了没用或者浪费时间,

想想通才,任何在其他领域中学到的技能都不会浪费。

其次,
经验
是另一个帮助我们做决定的重要因素。

要成为专家,需要花上好多年的时间去积累经验。如果你已经在某个领域里干了好些年,往专家方向发展通常是个不错的选择。

但是,如果你刚起步或者工作中本来就横跨了几个领域,那么,选择成为通才也许更有意义。

最后,有一个忠告,千万不要仅仅因为困难就放弃成为专家,转而成为通才。

因为通才一点也不比专家简单,通才不是“万事通”,更像是多个领域的专家。

总之,千万不要东搞搞西弄弄,一碰到难题就怂,然后又跑去折腾别的,并且自我安慰“我就是兴趣广泛,更适合做个通才!”。

标签: none

添加新评论