问题

如果程序员每天都浅尝辄止地学一些不同的新技术,长久以往,人会变成什么样子呢?

回答
这就像给一个万花筒不停地摇晃,每一个瞬间都有绚烂的图案,但仔细去看,很多细微之处却捕捉不住,留下的是一种模糊的惊艳感。对于程序员来说,每天浅尝辄止地接触新技术,长久以往,他们可能会变成这样几个样子,而且这些影响往往是交织在一起的:

一、 知识的“广度之神”,但缺乏“深度之王”

最直接的结果就是,你会在各种技术领域拥有一个相当宽泛的认知。你大概知道某个框架是做什么的,它的核心思想是什么,解决了什么问题。当你和同事们聊起某个新兴的技术趋势时,你总能搭上话,甚至能给出一些初步的判断。这种“知识广度”在某些情况下是非常有价值的,比如:

快速理解项目需求: 当项目需要整合不同技术栈时,你能够迅速理解各种技术的定位和交互方式,为技术选型提供更全面的视角。
敏锐的市场洞察力: 你能更快地发现行业发展的新动向,甚至能在早期抓住某个技术的潜力,成为团队中的“技术雷达”。
解决问题的灵活性: 当遇到棘手的跨领域问题时,你或许能从某个“浅尝辄止”的技术中学到一些巧妙的思路,解决燃眉之急。

然而,硬币的另一面是,你很可能无法成为任何一个领域的“专家”。那些深入研究某个框架底层实现、理解其演进历史、并且能够写出优雅且高性能代码的程序员,他们所拥有的那种“掌控力”是你难以企及的。你可能知道如何调用API,但不知道API背后的设计哲学;你可能知道如何使用某个算法,但对算法的复杂度分析和优化知之甚少;你可能熟悉某个语言的语法,但对编译原理、内存管理等核心概念依然模糊。

这种状态下的你,就像一个博览群书的杂学家,能够谈论很多事情,但一旦深入到某个话题,你会发现自己只能泛泛而谈,无法提供更深刻的见解。

二、 技能的“游牧民族”,但缺乏“安身立命之本”

你的技术栈可能会像一个不断变化的地图,今天还在研究前端框架,明天可能就切换到后端开发,后天又去看看数据科学的工具。这意味着你能够适应各种不同的工作场景,甚至在招聘市场上显得“什么都会”。

然而,这种“游牧”的生活方式也可能让你陷入一种“漂浮”的状态。你可能很难在一个项目中深耕足够长的时间,去经历一个技术从诞生到成熟的整个生命周期,去学习如何维护和优化一个大型、复杂的系统。你习惯于“上手就用”,但很少有时间去“打磨”。

在这种情况下,当你面临晋升机会,尤其是需要你成为某个技术领域的负责人时,你可能会感到力不从心。因为你的经验大多是“皮毛”,而真正的技术领导者需要的是能够带领团队攻克技术难关、解决复杂工程问题的深厚功底。

而且,频繁更换技术方向也可能让你难以建立起一套属于自己的、能够带来持续价值的“核心竞争力”。当公司需要某个领域的核心人才时,你可能不是首选;当市场风向转变,你之前“浅尝辄止”的技术不再热门时,你可能又要匆忙地去追逐下一个热点,陷入“追逐者”的怪圈。

三、 心态的“好奇宝宝”,但可能陷入“焦虑的深渊”

初期,这种学习方式带来的满足感是显而易见地。每天都能接触到新鲜事物,总能找到新的学习目标,这会让很多人感到兴奋和充实。你就像一个永远长不大的“好奇宝宝”,对这个技术世界充满了热情。

但是,长此以往,这种“浅尝辄止”的学习模式也可能带来负面的心理影响:

持续的焦虑感: 技术更新迭代的速度是惊人的。当你感觉自己还在熟悉一个技术时,新的技术又冒出来了。这种“追赶”的感觉可能会让你持续处于焦虑之中,总觉得自己学得不够快,不够多。
成就感的短暂: 每一个新技术的学习都带来短暂的“ aha!”时刻,但由于缺乏深入的实践和沉淀,这种成就感往往转瞬即逝。你可能一直在学习,却很少体验到“精通”带来的那种深层次的满足感和自信。
选择性困难: 接触的技术越多,反而越容易在面对具体问题时感到迷茫。你拥有了太多的选项,却缺乏判断哪个选项最优的能力,因为你对每个选项的理解都停留在表面。
“假性内卷”: 你可能看到周围的同事在某个技术领域取得了显著的成就,而自己却还在东一榔头西一棒子地学习,这容易让你产生一种“我比他们差很多”的错觉,尽管你的知识面可能比他们更广。

四、 沟通和协作的影响

在团队协作中,这种学习模式的影响也可能显现出来。

成为“翻译官”: 你可能善于将某个复杂的技术概念用相对容易理解的方式解释给非技术人员,因为你接触的领域广泛,知道如何“降维打击”。
难以成为“技术骨干”: 在团队攻克一个复杂技术难题时,你需要的是能够深入挖掘问题根源、提供解决方案的人。而你可能只能提供一些“我知道有这么个东西”的建议,而无法深入参与到解决问题的核心过程中。
团队知识的不均衡: 如果团队中大多数人都采取这种学习方式,那么团队整体的技术深度可能会受到影响。一旦遇到需要某个领域深厚积累才能解决的问题,整个团队可能都会陷入困境。

总结来说, 每天浅尝辄止地学习不同的新技术,会让一个人成为一个“万花筒”式的程序员。他拥有广博的视野,敏锐的触觉,但却可能缺乏厚重的积淀和深入的洞察。他能够快速适应变化,却可能难以在某个领域成为真正的“领导者”。他的知识是“触手可及”的,但往往也是“风过留痕”的。

这种状态的好与坏,很大程度上取决于个人的职业规划和市场需求。在某些快速变化、需要快速试错的行业或岗位,这种“广度”可能更有优势。但如果想要成为一个在特定领域能够产生深远影响的工程师,那么“深度”将是无法绕过的一道坎。

最终,一个人会变成什么样子,不仅取决于他接触了什么,更取决于他如何消化、如何沉淀、以及他最终选择了成为一个什么样的“工程师”。是那个在技术海洋中四处遨游的探险家,还是那个在某个技术岛屿上辛勤耕耘的垦荒者,选择权,始终在自己手里。

网友意见

user avatar

搞机器人的路过说一下我们平时常有的工作内容:

自己的电脑连上旁边的机器人,发个指令让机器人跑个定位算法,屋里跑一圈采数据回来,数据存到服务器上。

这里面涉及的技术点和编程语言,我随便列一下:

电脑连机器人:ssh,remote X,IP配置,路由管理,socket编程,远程文件系统,为了方便调试再写写shell什么的。随着系统复杂度的增加涉及更多技术。

发指令控制机器人:socket编程,嵌入式通信,嵌入式编程,实时系统理论,PID控制论,电机控制理论。

跑个定位算法:通过视觉的定位要学习射影几何图像处理统计概率;通过wifi信号的定位要学习通信模型信号处理:整体为了做多传感器融合还要学线性系统线性估计传感器同步技术深入理解各种传感器的特性和信号处理技术。基本是各种博士阶段的理论知识,当然我最近发现随着CV和robotics领域的蓬勃发展,很多技术慢慢成熟,大家一起潜心研究,比较优秀的本科生或者研究生还是能搞得懂的。

采数据回来存电脑里:数据结构设计,数据库使用,高带宽数据流的存储和可视化,又是远程文件系统。

上面说的这些有些不太准确,但基本都是做系统的必须技术点。

要想把东西做的更讲究,那要求更高。

比如我们想给电脑上发指令的控制界面做个逼格高一点的前端,HTML+CSS+JS可以上,QT可以上,微软那一套也可以上。这两年移动设备很流行,大家发现带机器人出去到荒郊野外调试的时候捧个电脑很累,所以写个Android或者iOS的控制界面逼格能再高一点,而且确实提高效率。所以不会一两种UI技术根本不好意思出去调试机器人。

比如通信链路要加密,数据做校验,AES,CRC啥的别人说总得知道是啥,有时人们还会问你要不要公钥加个密更保险一点。

上面说的机器人其实就是轮式小车,要是多轴飞行器还得再考虑一下动力模型和刚体旋转的知识。人形机器人请再想想各种复杂的数学模型知识。

传感器有快有慢,有互补滤波有高通滤波有低通滤波有高斯滤波有卡尔曼滤波,三四个领域都用filter这个词然而意思基本不一样,不仔细学学,和人出门聊天都站不到一个channel上。

比如这个系统要多个人参与进来调了,svn git bug report都得用起来,软件工程也得用起来。系统跨越了个人电脑服务器嵌入式设备路由器等等,分team都不好分。请记得机器人第二定律:机器人工程师之间的友谊会被“到底是谁那部分出了bug”这样的问题破坏。

比如我们要优化系统的效率了,多线程得用,异步通信得用,汇编有时也要抠一抠,编译原理不知道一点点还没法下手优化。数据量太大了也要做压缩算法,能UDP的地方不敢用TCP等等这些事情都得浅尝辄止。

说到这里还没谈硬件。虽然硬件设计制造的产业相对独立,可以请别人来做,但是计算单元的选型、传感器芯片的选型、各种外设电路,不过问一下别人也是设计不好的,毕竟是机器人的心脏和器官。所以硬件知识不可不学。

上面说的这些其实也没多讲究,再讲究点,机器人的机械也要亲自做一下,拧螺丝接电线这都是日常调试的一部分,不会拧螺丝的程序员不是好工程师,机械棱角和结构细节没做好的话,不仅容易导致莫名其妙的硬件故障,还可能伤到调试人员。此外为了带机器人出去到街上调试,一定要能hold住,工业设计什么的必须要注意,外观不能输。

我一直觉得,软件业同行们说的全栈工程师最多是个三分之一栈。不能徒手造一个能跑能跳的机构出来怎么能算是全栈。所以我在以前的一个回答里写了十条招聘要求,这真的是我们会常常用到的技术:

大疆无人机的技术核心是什么?成为大疆的工程师需要具备哪些素质和能力? - 杨硕的回答

机器人行业发展缓慢,主要的一个原因就是工程师太难培养。我是恨不得看到全世界的电子和计算机相关专业的学生人人都能徒手造一个能跑能跳的机构出来的,然而有这样热情和毅力的人毕竟是少数。另外因为行业发展缓慢,未来也并不清晰。技能需求类似的航空航天工业基本已经成建制成体系了,然而大一点的机器人公司没有几个(工业机器人不算,那是自动化公司)。亲朋好友以为你已经在造终结者了,其实你穷尽平生所学也只能让一堆乱七八糟的机械结构尽量走上几米直线。家里人问起来,你不知道如何解释。

所以我在另一个回答里(

2015 年有哪些值得加入的科技公司? - 杨硕的回答

)说:“我希望你拿起锤子和焊枪就能分分钟造出一个机器人来;我希望你对数学抱有热情,be comfortable with equations;我希望你热爱飞翔的感觉,热爱向别人讲述自己的看法和方案;我希望你可以理性地分析物理对工程的种种限制,也能够感性地用毅力和决心去克服这些限制;我希望你有把大卫从花岗岩里雕刻出来的梦想,同时也有一点一点抠敲岩石的毅力;我希望你邮件给我的不是普通的简历,而是你的热情,你的执着,你对工程学的信仰。我希望你是一个与众不同的人。” 好多人告诉我这段话看了很感动,然而我觉得,理解什么叫做一点一点抠敲岩石的人并不多。

所以工作稳定的程序员每天学点机器人相关的技术,长久以往,肯定能变成很优秀的工程师的。

类似的话题

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有