我很喜欢这篇文章讨论的问题,尽管原文讨论的是程序员的问题,但我发现这些讨论放在工科生身上,完美适用。关于工科生是往应用型方向发展、还是往科研行方向发展,是一个让新人往往觉得比较困惑的问题。
新人常说:我做过一些项目,算入门了,但是仍然找不到学习方向,该怎么办?
以上与下面这几个问题有相似之处:
怎么样才算熟练掌握了这一门技术?XXX 怎么样我才会算学会了?
这些疑问属于我们工科生的焦虑。至少我之前也焦虑过很长的一段时间,后面随着工作中项目经验的积累,慢慢会变得从容点了。不过每到学习新的技术,或者面对新的问题时,就会再度陷入这个焦虑。思考的多了,偶尔也会总结下,在此分享此观点希望对同样困惑的你有所助益。
我们还是以程序员技术栈为例,展开讨论应用型和科研型两个方向的区别,熟悉自己领域技术的谷子,例如 CAE 分析,可以对接自己的技术栈。
我喜欢把工科生的方向分为以下两种:
应用型 关键词是『应用』,以 Web 开发为例如:博客、CMS、论坛、电商(B2C, C2C)、CRM、企业内部管理系统、视频、实时聊天、直播、外卖等。跟现实生活比较贴近的,能通过编程来实现产品功能,以此来改进社会生产效率的领域。
科研型 例如在以 PHP + Laravel 为主的 Web 开发中,专注的话题有程序内部架构、设计模式、算法、编译原理、PHP 源码、PHP 原生 C 编写扩展等。这些比较抽象,相比应用来讲比较『抽象』,经常被我们称为『底层』的领域。
应用型工程师 主观上把技术当做工具,重点放在如何利用技术去实现产品的商业逻辑上。不拘泥于技术细节,专注点在于要做出来的东西上。
科研型工程师 对技术的态度是追本溯源,他们熟知 PHP 底层的运行机制、变量的底层实现、垃圾回收机制等,甚至接触 LAMP 常见技术堆栈的源码。关注的是代码执行效率和工程合理性。
应用型工程师能力 的衡量标准有两点,『 一是项目的类型要泛,另一个是项目量要多 』。当然这些项目最好是独立完成编码或者参与了大部分核心技术架构的设计与实施,如数据库设计、API 机制的设计、技术堆栈的选型等。
以过往经验来看,应用工程师需要经历 5 个以上不同类型,10 个以上的项目才能算毕业 (审稿注:对于一般工科领域,新工科除外,这么多数量的项目其实很难保证,但是作为拓展了解还是可以做到的)。这些项目大部分情况下是自己独立完成的,他们需要对这些项目的技术构架都了如指掌,这要求在接触每一个项目时有意识的去主动学习。
科研型工程师能力 如果说应用型是『广』的话,科研型就是『深』。衡量标准是清楚知悉架构的缺陷,知道当现有架构出现问题时,如何优化。他们注重性能,深入研究各种周边技术。
例如 PHP 领域大拿鸟哥(博客 http://www.laruence.com/)。鸟哥是 PHP 开发组核心成员,PHP7 主要开发者,Yaf(C 写的 PHP 框架),Yar,Yac 等开源项目作者。
[版权声明] :本文系网友分享,仅以非商业性的交流和科研为目的,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本网( friends@stuch.cn )联系!我们将协调给予处理。转载授权码:确权中,请原作者尽快与我们取得联系,阅读原文(请登录)..