“科研”和“工程”两条道路分别意味着什么

科研工作,围绕着算法与数学模型问题,比如深度学习、搜索引擎、视频多点实时传输。数学建模,是去寻找计算机系统之上存在的自然规律,数学思维是科研中的核心技能。这些问题在工业界遇到的很少,大概只占1%,但门槛很高。博士经过5-6年的科研训练,他们能够对一个问题做独立且深入的思考,一直在锻炼数学思维,适合参与这种研发工作。

工程工作,也就是软件开发,存在大量低端工作,如调取已有的编程接口(API)、因业务逻辑的变化而对代码逻辑做相应的调整、因需求的更新而加入新的功能(feature)、重复一定的编程模式、在用户规模扩张的压力下搭建软件系统寻找最佳实践而不经数学证明。这仍是一项有门槛的思维劳动,但是门槛并不高,核心是记忆语法规则、编程模型与计算机硬件软件系统的原理,随后的职业发展更多是经验的增长与沟通能力的提高。软件,是"数字世界的建筑",是人造系统,尽管搭建各种系统会有数学与自然的约束,但是在软件构建的过程中,并没有像科研工作那样抽象形式化问题而用数学工具去解决,而是用实验思维,进行部署、验证、分析、改进的循环,寻找最大化机器集群性能与团队效率的系统架构、编程范式与合作模式。互联网,最重要的不是技术,而是为用户提供一定价值的服务。因此,创业初期重要的是业务,也就是一个“黄金点子”。随后等用户规模不断增长,产品被证明成功之后,新一轮的融资到来,团队规模增长。这之后,才会去把技术做好做精,让技术壁垒越来越高。在这样一个业务与产品的导向中,探索自然原理当然不是第一要务,效率才是,因此工程师通常不会跟原理死磕,而是遵循“完成比完美更重要”(done is better than perfect),先做一个原型,如果这一套软件运作很好,后期才进行优化。

你可能感兴趣的:(“科研”和“工程”两条道路分别意味着什么)