“实践派”与“原旨派”的认知差异

2 天前
 needhourger

今天在逛 v 站偶然看到一个帖子8 年经验的全栈开发,技术面过程中面试官应该提什么样的问题?

发现哪怕是程序员对于技术理论的认知似乎也分两派,但从帖子内容来讲,基本上内容:

  1. 对于某种语言程序员应该事无巨细的了解其各种特性,以此引申类同到计算机方向的很多其他知识点,我这里称之为“原旨派”。
  2. 另一派觉得语言以及大多数知识只是工作中所使用的工具,对于工具而言载明白其一通百通的底层原理之后只需要在需要用的时候去看工具的说明书即可。在这里我称之为“实践派”

就像在帖子里部分楼层讨论的那样,实践派会觉得原旨派提出的问题很多都类似八股文的性质。

当然对于两派的区分我这里可能表达的不够信达雅,但是相信大家可以理解我的意思。这个帖子并不想讨论原帖中所有的具体言论对错,也不希望大家因为分歧而对峙(这不是一个期望引战的帖子)。

我更好奇这两派在程序员圈子内的占比,以及大家的其他看法。可以的话希望大家在回帖子的时候加上自认为自己是哪个派别的,以及目前的工作年限,以及你对两个看别的看法。友好讨论😊

2349 次点击
所在节点    程序员
31 条回复
coderluan
2 天前
哪个派对我有利我就是哪个派,大部分工作时候是“实践派”,但是面试时,又不得出一些“原旨派”的问题,毕竟短时间可能没条件了解一个人的实践能力。我这个派别,个人可以称之为”老铁带派“。
songray
2 天前
我应该算是实践派,两年经验。

但是我认为实践到最后就是原旨派,因为不存在没用的知识,只存在还没用到的知识。

关键在于**区分这个问题是否在岗位囊括的原旨范围内**,比如原贴里的两个问题,对于开发岗来说,装饰器是一个好问题,因为实现元编程的手段就那几种,不谈如数家珍,只要看过一些开源项目的 codebase 都应该略知一二,这是对于工程化来说绕不开的知识,可以说,知道和不知道的人在一些场景下会写出完全不同质量的代码。

但是垃圾回收和编译器,对于开发岗来说是完全没用的知识,不应该归于教旨的范围内,就算能手写一个脚本语言的分代对于项目也没有任何帮助。
needhourger
2 天前
@songray 所以我说了不讨论原帖部分言论的正确性,只是单独讨论对于实践派和原旨派的认知,hhh 。
InkStone
2 天前
原旨派,六年。细节是写代码乐趣的最主要来源,不纠结这个就完全变成打工牛马了。
spritecn
2 天前
对于我一个野生杂乱语言(au3,ahk,python,java,js)开发者来说,不存在原旨...
craftsmanship
2 天前
混学派 五年 爱啥啥 不在乎 能交差就行 反正有 AI 唯一的问题只有是跳不了槽 被裁就只能转行 不过管你是什么派 大龄被裁失业转行也都是早晚的事 所以无所谓了
ShaoLongFei
2 天前
解决问题时我是实践派,优先解决问题或者给产品出一个原型;
优化性能时我是原旨派,我要详细的知道每一个 API 后面的调用原理和性能损耗,是否存在不同的实现方式但相同的结果,哪些操作是不必要的,最后结合代码的可读性和鲁棒性做取舍。
wyntalgeer
2 天前
5 、6K 人在线的 V 站还配不上称是“程序员圈子”,你得到的只能是口水和铜币。
回到主题,重要的不是站队,而是需要什么就用什么。你大脑的上下文是有限的,记忆细胞容量也是有限的,螺丝钉工程师与独立开发者对日常技能的要求天壤之别,具体激活哪些区域由需求决定。
对个人来说一专多能是 AI 时代大趋势,毕竟你做出来的东西是给人用的,不是艺术品放在那供人鉴赏。
Syiize
2 天前
"实践派"和"原旨派"听着很像我现在对学术圈子的看法。

我是喜欢有问题就解决问题,例如大气科学领域的数值模式模拟大气不准确,我就想直接深入数值模式去解决问题,但是听答辩的老师不是,他们反而喜欢纠结做的东西解决了什么"科学问题",什么工作都要往理论上扯,有时候就感觉他们的关注点太偏了。

其实两派都有各自的道理,所谓存在即合理。我个人认为只要能解决问题,哪一派都无所谓。
xz410236056
2 天前
原旨派 的人应该先把自己换掉,能把计算机学成文科。
xz410236056
2 天前
@Syiize 跟他们说,没理论,都是经验公式,没有解析解只有数值解。
cj323
2 天前
想了一下。我也是面试时候教条,不管是面试还是被面都喜欢扣细节。而换到实际干活时,不管是接活还是给活,我都希望实践性强,怎么出活怎么来。
Syiize
2 天前
@xz410236056 哈哈哈哈哈,有时候就感觉这些老师的观点很扯淡,就抱着自己的理论啃。我做个 ai 预报模型,也要我往气象理论靠,然后我就只能开始胡吹🤣。反倒是计算机院那些老师,没了理论的束缚,可以更容易做出牛逼的预报模型。
ninjashixuan
2 天前
分工不同而已吧,类比建筑,设计师建筑师自然要懂更多理论知识,搬砖砌墙的自然不需要,不过 IT 行业比较卷用人单位想既要又要两者兼备。
charlie21
2 天前
抱歉这个问题不需要讨论。你觉得强大的 troubleshooting 能力背后所需要的经验积累是哪里来的?是实践派多做多动手而来的?是原旨派深究细节参数而来的?
其实都是。

但是,纯实践派的劣势 就是一旦遇到碰钉子了,尤其是以零经验攻关那种上下文模糊、毫无参考、工序复杂、决策颇多的情况 则很容易放弃。
对于没有经验又没耐心的人,“纯实践派的劣势” 会在没有经验又没耐心的人身上放大,最终让人放弃编程 / 认为自己不适合做程序员。
此时 原旨派的知识取用、原旨派的知识管理、原旨派者出于“对于可复用知识的积累(从能直接复制粘贴的代码模板 到 程序设计模式 pattern )”而来的自尊,都能够让你在即将放弃之前再撑一会儿。
yunshansimon
2 天前
首先,必需要有一定坚实的基础知识,一门精通的编程语言,并行编程的模型,内存管理模型等。当解决具体问题的时候,才知道查哪些资料,才有头绪从哪些问题开始解决。我在大部分时间都是实践派,但如果缺乏基础知识,就无法形成稳固的实践技能,即便有时能够解决问题,也无法进行积累。基础多厚决定实践能走多高。
chf007
2 天前
其实不能这么分,按那个贴子的情况,还有目前国内技术人员的情况,应该是分为兴趣派和工作派。

兴趣派是指除了工作中用到的东西以外还会在工作或非工作时间内去找相关的本技术更深层次的知识点深入了解,或者再去看看其它技术。这种也不要求你掌握的多深,有多精,至少知道情况,知道目前技术运行的原理。比如工作了几年的 Web 开发,怎么也得知道 HTTP 请求头相关的知识,也不要求掌握的多细,或能写出来具体的单词,最起码得知道个大概。因为你了解这个,解决问题就会多一种可能,一点都不了解或了解的不多,解决问题就会限在现有的知识体系,导致解决问题的能力不足。

工作派是指除了工作中用到的,或上级让你用的,或不得不用的东西以外,其它不去了解,也没兴趣了解。比较典型的,我经常看到有些几年的开发人员,只会用 IDE ,编译也只会用 IDE 的,命令行编译也不会,也不想了解。


像那个贴子,8 年全栈工作经验,看起来应该是后端为主,前端为辅。

别的不说,只看 不可变数据类型 都没听说过这一点

如果后端只做学会一些老的技术的话,又不学新东西的话,一般是碰不到 不可变数据类型 这一个名词的,但是一些新的语言不可变数据类型是直接提供的,并且是重点强调优先推荐的。

如果搞前端,又是现代技术的话,不可变数据类型怎么都绕不过去,这是这个圈子里长盛不衰的话题。

我感觉那个贴子题主是个工作派,工作 8 年可能就只在自已工作范围内打转了。
leavan
2 天前
这就是哲学上的理性派和经验派,法律上的大陆法系和海洋法系
V2Micheal
2 天前
不认为一定要非黑即白地分两个派系,了解底层原理和使用工具并不冲突。
Cu635
2 天前
有“融合派”不?
就是对于某种语言程序员应该事无巨细的了解其各种特性,并且以此引申类同到计算机方向的很多其他知识点,但是不要求背诵下来,只需要知道哪里能够查阅到并且能够保证资料不消失(使用手段包括但不限于自己复制导出保存、自己记录笔记、保存在 web archive 网站等),用到的时候能够保证查阅到投入使用即可。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://yangjunhui.monster/t/1136473

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX