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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,355评论 25 709
  • 本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键概念所需的入门书籍,必读书籍,以及...
    dle_oxio阅读 13,841评论 6 244
  • 我曾不止一次问爷爷,我家的家风是什么?爷爷就指指堂屋,...
    独孤无双阅读 2,299评论 0 2
  • 杀死一条活生生的鱼,要多久。现在只用两分钟。我还是不太熟练,也不求甚解,更无心钻研。我杀的鱼不外乎几种~鲤鱼,...
    不携一片云阅读 3,408评论 0 5
  • 去余姚的第四年,我认识了师父。 师父是安徽人,身高1米75左右,体重却有160,微胖,所以给人的感觉特别平易近人。...
    焕灭阅读 4,187评论 1 2

友情链接更多精彩内容