@
sammo 我的确很少接到猎头电话。原因有很多,最主要的应该是因为我在技术上投入的精力太少,而在非技术方面投入的太多。我正在努力改变这一点。当初那样选择,是因为我意识到技术人员在非技术方面犯的错误可以轻易地抵消通过技术所获得的成绩。70 后的程序员里早早脱离技术领域的例子很多,比如编程随想,还有“知名经济学家”宋鸿兵。我受他们的影响较大。
我前面说“新技术”,主要是指 JavaScript -- 别的语言里没有那么多人整天吵吵着“新技术”。如果没有学过编程,很容易被 JavaScript 里的各种概念和框架搞乱脑子,但相对其他语言来讲,这里面并没有什么全新的技术。许多的概念之所以出现,本质是为了解决语言本身的缺陷,比如包管理。可惜的是去了旧的问题,来了新的问题,一直都没彻底解决。倒不是因为问题有多难,而是每个人都有一套做法。现在有了统一标准,后续的发展应该不会那么混乱。从 C/Java/PHP 转到 Nodejs 或者 Javascript 会感到有段时间不适应,应该是集中在工程方面,而非语言层面。在语言层面,并没有太大的范式转移。即使在工作中很少有机会用到,也有必要了解一下,WEB 或者说浏览器将越来越重要。
真正的范式转移当然也是有的,比如从面对过程转向面向事件处理,面对对象转向函数式编程。 但这种范式的总量是有限的,一个程度员能够掌握一两即可,不需要全部掌握。
拒绝学新技术的人,肯定很难越老越值钱。我很奇怪有人会说“我只学过 Java 6,现在的 Java 8 我都不会用”,另一方面却
期望每天打卡上班,还拿三、四万元工资。话反过来说,则不一定成立,只要学新技术,肯定越老越值钱。值钱的肯定是创造了市场价值,至于用的什么技术,真的没有多少人关心,技术人员不要太自作多情。
相对其他行业,软件行业的确是每隔几年就有新东西出现。我想这里面很大原因是因为交流多。没有任何一个行业可以像软件行业这样,全球使用同样的语言和技术来解决同样的问题,并且天天在线交流的。这就决定了每个从业人员都需要持续地学习。至于学习什么,那就看你对技术的理解有多深了。对技术理解浅,抽象程度就低,看到的新东西就多;对技术的理解的深,抽象程度就高,看到的新东西就少。程序员变老的过程,应该是抽象度越来越高、眼里的新东西越来越少的过程。这样说不代表我自己的水平已经有多高,只是刚刚有这么点意识而已。