关于科研流程化的一些想法
码农经验告诉我,日常工作上的最佳实践很重要。在编程领域确实有人愿意而且能够把这些最佳实践分享出来。举些例子。比如项目分配在需求分析、设计、编码、测试上的时间占比应该如何?人员比例应该如何?我们当然可以说“这个依项目具体情况和团队情况而异啊”。但是就是有人做了很多经验研究,发了论文,也有很多书讨论到这个主题。又比如范围小一点,项目的结构,软件的设计,再小一点,类似代码行长度、注释量、注释位置注意的问题,也是类似。在市面上就一个主题经常可以找到多本公认有用的书,很多大企业内部都有自己的流程规范。总之在编程领域很多东西被流程化了。一个做法是不是靠谱,大家心里一般都是有个数的。我觉得这对新人就特别有帮助。当然不是说这些都是板上钉钉的标准,而是你一旦掌握了这种“至少差不离”的做法,就能少踩很多坑,提高效率,之后到真的要依据情况灵活变通的时候,也有了参照和经验累积。
但是在科研上就不太一样,在研究领域做这种事情的人似乎很少,甚至大家好像都不觉得这是个问题。我想是不是因为大家觉得科研是靠创造性,靠灵感的,非结构化的,本来就归纳不出个一二三。比如我刚开始我跟导师说我想发日报。导师说日报会不会太多了,然后说其实大部分搞科研的工作都不太规律的……后来我发的是周报,但其实我自己是每天写review的。而且我相信对于任何职业,有计划地规律工作总是更好的。其实我想,科研圈的这种情况也是造成博士的高压和高失败率的一大原因吧?是,科研固有的不确定性是比工程大多了。但我还是觉得,比如“读论文要怎么挑选,怎么读”,“花在读论文,看书学习,思考上的时间要怎么分配”这样的问题,跟上面提到的软件工程问题类似,应该是可以有经验积累的。
我自己也有找一些这样的最佳实践书,也尝试与导师和其他人讨论,但结果不太理想。不知道其他人怎么看这个问题?我觉得同时有过研究和工作经验的人应该会和我有点共鸣。