本文节选自 http://www.raychase.net/3689
劳动带来了社会分工。简单的劳动,或者不简单,但是容易被替代和学习的劳动,会慢慢地不可逆转地被机器和软件所替代。程序员都在强调技术至上,要做技术,反对重复无意义的日常工作。但是同样都是技术,有的也有逐渐被淘汰的趋势。
比如说,Java这些年一直在“被淘汰”,各路编程语言的出现如雨后春笋。诚然,Java占有率确实在下降,但是JVM却欣欣向荣。其原因在于,JVM是个平台,而Java只是一门编程语言。编程语言的可替代性在于,随着机器性能的提升,开发一门更现代更符合问题解决思维的语言的成本,比做成一个更现代化的稳定的虚拟机平台要低得多。这也是为什么JVM上的语言那么多,甚至作者往往是个人;但是熟知的JVM就只来自那么几家公司。再有一个,则是编程语言本身的缺陷,更难以被“绕过”。
再比如说,一些曾经热炒的职位和工种,比如DBA,这样的职业已经很难再风光下去。单纯靠维护赚钱,这本来就是一件无法长久的生计。因为“维护”这一件事情,要么因为很简单而能被机器或者软件替代掉,要么因为过于复杂而被革命掉。工具,永远只是媒介,是可以被绕过的,不是最根本和最核心的问题。数据库和很多其他的技术一样,从软件和工程的最本源独立出来,壮大到现在,慢慢再回归本源。再比如,以往小公司都要招折腾硬件的工程师,刚工作的时候和很多同事一样,都折腾过单板和机架,但是现在呢,可以把存储资源和计算资源挂到云上。因此这样的人才需求会慢慢减少,而门槛却不见得降低,最终就只剩下少数几家能够提供云服务的大户。
因此,以后再遇到那些卖弄自己技术的人,那些虚张声势的人,我们其实可以思考一下,生成自己的判断,他所显摆的技术,到底是解决核心问题的技术,不容易被革命和替代的,还是只是另一种鲁迅笔下迂腐而无聊的“‘茴’字的三种写法”呢?