大家思考这样一个问题,学习任何一门技术都是在走前人的路,作为一个程序员,不断的追求新的技术、新的框架也是一样的道理。

程序员的优劣,并不是你会几门开发语言,你熟练使用几个流行框架。一个程序员,能用代码写出来什么才是通用的编程思想。通用的编程思想才是写任何一个程序的基础;通用的编程思想才能决定一个程序员能做什么;通用的编程思想才能决定一个程序员最终能走到的高度。

计算机科学,有人说是最难学的理工科。但是回过头来看看,最基础的知识体系也无外乎这么几个。数据机构与算法、计算机运行架构、操作系统、计算机通信和网络、软件工程架构。这些才是一个程序员最应该学习、吃透的计算机基础。至于计算机语言?那是为了把这些基础的知识体系串联在一起的一个工具。至于软件框架,不管是springboot还是其他的什么,那都是为了节省写代码的时间,让程序员不要把太多的时间浪费在编码上。

至于现在的AI编程?同样也是为了解放程序员的双手,让程序员有更多的时间和精力去思考如何优化算法,如何设计软件结构,如何让程序的执行效率在当前环境下以最快的效率运行。
不管是程序员自己写的程序,还是别人写的程序,无论好坏,都是基于这些计算机基础的编写。写的不好的代码,要么是算法有问题,效率差。要么是架构有问题,不利于扩展。总之,程序没写好,就是基础没学好,理解的差。能把程序写好的程序员,对计算机基础的理解都不会差。

同样,35岁危机也是同样的道理,基础不好的程序员,只能写代码,在别人设计好的架构上写代码。而年轻人会更适合机械的写代码。
只能写代码的程序员,和工厂里打螺丝的工人本质上也没有什么区别,熟练而已。一个程序员如果想在技术的领域里长久的发展,不受年龄的限制,理解并能熟练的把最基础的计算机知识学好才是真正应该关心的问题。成为专家、成为学者都必须要对计算机的底层逻辑、计算机最基础的知识明白才行。

系统学习过计算的都应该学过一门课程叫《计算机体系结构(Computer Architeture)》。这门课程是很重要的一个课程,你可以把这门课程里的所有技术细节都忘记。但是,至少要永远的记住书中提到的一个最基本的道理“如果你要优化一个系统的性能,对性能最差、瓶颈最严重的部分进行优化,回报率最高”。真正明白了这句话,一个程序员才能知道自己的技术瓶颈是技术还是其他的方面。

技术是学习不完的,IT领域里的摩尔定律注定了从事该行业的技术人员要永远走在学习的路上。既然学不完那索性不学了。真正需要的时候再去学就来得及。但是前提是计算机基础要好才行。
所以,“不断提高自己技术是程序员的一个误区”,瓶颈不在技术上。
[得瑟]标题夸张了,且内容比较肤浅,您文中所说“但是前提是计算机基础要好才行。”——所谓“基础好”是不是也是学来的?