工程师和科学家的思维方式有什么重要区别?
看了一下众多答案,我觉得很多没有科研经历的人对科研有一个误解,就是认为科学家都是理想主义的,工程师都是现实主义的,认为科学家就是非常浪漫地去问 why, 工程师就是一直苦逼的修电脑。其实根本不是这样。
在科研里,你问 why 只是一瞬间,然后你去要考虑你问的这个 why 有没有意义,能不能帮你拉到经费,你和你手里的学生和博后有没有时间和能力解决这个问题,你需要查很多文献跟很多同行交流,确定你的问题没有人做过,或者没有人做完过。有人说科学家不关心问题有没有用,你在你的 proposal 里写这个问题什么用都没有,看你能拉到经费么~~
这个过程可能是一天的时间也可能是数年,然后你就要和团队开始试图解决这个问题。从这时开始科学家和工程师干的事情基本上差不多。根据问题规模的不同,你需要把问题细分,然后一个一个解决,解决的过程中会引入很多新的问题,你需要随时评估团队的实力,决定如何分配资源,需不需要放弃等等。没有科学家能做到小说中的那样一拍脑袋灵光一闪就发文章了。举一个实际的例子,我们现在做的课题需要做大规模的数值计算,数据处理的工作很繁琐,我们几个人商量了一下以后决定写一个 scheme 解释器用来自动化,引入一个标准中没有的处理大量数据(TB 级别)的内建类型,然后简化对这个数据的垃圾回收(不然不够快)。这基本就是一个 cs 毕业的工程师很可能遇到的问题。另一个例子,我们系一个做高能实验的教授需要一个精确的强磁场,精确到产生这个磁场的线圈不能由人手工绕。于是他先造了一个机器人,然后用这个机器人来绕这个线圈。
当然你可能会说那是因为我们做的是数值工作,那个教授是做实验的,那些做理论推导的就不需要考虑这些实际细节,一阵算就可以了,真理就是终极目标,手中的笔就是武器,一往直前,永不退缩。你这么想可能是因为看了牛顿爱因斯坦的动人故事,现在大部分人在推导的时候都会借助机器,因为好算的都被牛顿这帮人算完了。如果一个算式展开以后有好几万项,每一项都是个无穷维积分(一个刚毕业的哥们的毕业论文),你真的愿意一项项手算么?如果你要用机器算,你是自己写程序呢,还是用别人写好的程序呢?如果你自己写程序,你就暂时变成了一个程序猿;用别人写好的么?那你首先得把程序看一遍吧?不然你能保证它算出来是对的么?恭喜你,你还是一个程序猿。
所以我觉得科学家和一个优秀的工程师在思维上没有什么本质的区别,只是遇到的问题不同。科学家遇到的问题相对来讲规模更大(你去看看 LHC 的规模就知道了)更本质更前沿。一个科学家必须同时也是一个优秀的工程师。那些每天都试图推翻爱因斯坦,或者试图用太极的思想解释现代物理的“民科”倒是更有那种浪漫思想家的思维方式。
评论 64
有点感慨,突然 AI 来了⋯⋯
爱因斯坦真制作过三只小板凳吗?
爱因斯坦不是当代科学家,算是“古代”科学家。
当代科学家虽然不要求称为一个“工程师”,但是“懂一点”工程,尤其懂点现实工作与生活还是有所裨益的。
以前听讲座听教授说,他以前推公式,第一个等号和第二个等号中间有十几页纸,我一直觉得是吹牛。看来不是啊。。
科学技术哲学史对伽俐略的实验思想起源的介绍,就是小球如何运动,而不是为什么运动。