工程思维vs学术思维
面对新问题或者未知问题时,工程思维和学术思维时截然不同的两种思维
工程思维的核心是:逐步迭代,先完成再改善
工程实际中,系统各个因素相互耦合,一开始很难将全部因素想清楚,或者把全部因素考虑清楚的时间成本不可接受。
既然想不清楚,但又不能不做,那就不要追求完美或者一步到位,通常就是先按照已有方案,或者结合自己能考虑到的因素,
先大概率做出来一个,在实际测试中暴露问题,大致摸清楚整个过程和框架,然后把好的,经实际检验正确的思路/方法固定下来,
再改进不完善的部分,一般迭代2-3轮,就会形成对系统的理解和掌握,也能设计出性能较好的系统出来。
学术思维的核心是:先从理论层面上考虑问题
比如想这本质上是一个什么问题,理论上怎么解决,有没有一般性的方法,相比已有方法,方法的新颖性和创新性在哪。
这种思维一开始比较容易有概念、方法论、理念上的纠结,容易钻牛角尖或者陷入局部问题,导致一开哈进展缓慢。
这种思维带有鲜明的学术导向性,习惯从理论深度、方法优美与否、创新性等方面思考(学术导向性),忽略了实际影响因素的复杂性
(对理论或者技术原理作用边界的理解是最为精妙的,在实际运行的系统中,主要矛盾可能恰恰就是理论涵盖不到的部分,
需要实践进一步丰富的),也忽略了对大系统问题的考虑(如经济可行性、工程可行性、开发成本和周期、客户预期和实际需求等)
对于有经验的人来说,做任何事情之前,首先需要判断的是前提和条件,也即现在有没有用某种方法解决这个问题的前提和条件。
如果你本身对这个东西知道很少,也没有建立整体的框架,那么不妨先动起来,而不是想太多,跟着已有/开源/自己能想到的点子做起来,
通过工程迭代,先完成再完善,总要交出点学费;如果你时间充足,或者已经具备一定的实践经验,对实际系统已经有了整体的把握,
那不妨用学术思维起来。