软件工程发展趋势

注册

 

发新话题 回复该主题

李彦宏每个人都要具备工程思维 [复制链接]

1#
白癜风治疗专业的医院 http://www.csjkc.com/m/

之前有思考过:

“懂得很多道理,依然过不好一生”到底是哪里的问题?听过不同的答案,如:停留“知道”的舒服区、别人道理未必适用自己、甚至能力欠缺等诸如此类的回答。

后来发现这是「工程问题」。

把每个道理嚼碎如同把手机拆开了解每个部件一样,若把手机再装回去不能做到了解就够,还要亲自实验一遍。

不过历史告诉我们,就算不懂原理依然可以造出手机,技术和工程都跑在科学前面。

不信你幻想下,几百年前没有优质教育体系时,四大发明如何出来的?

再把视角转向商业,中底层员工往往“经济金融类出身”较多,而核心高管团队总有几个理工科人士;他们思维有什么区别?

文科生逻辑更擅长从原有特征推演分析做决策,理科生更讲究遇到问题客观看待事物、从根本上进行改变,这背后直接影响到“公司的运作效率”。

就连百度创始人李彦宏,在新工科技论坛上也曾说:每个人都要具备工程思维,这也是许多毕业生的短板,要深度了解它不妨从“软件工程”说起。

工程思维是什么

市面PM、开发、测试以及运维所做的工作均属于软件工程「代码」,是现在大学主流的专业之一;学习内容包括数据结构、算法、人际交互、需求分析等模块。

在英文环境中,工程(engineering)的档次要比科学(science)低很多,为什么?

主要原因是,软件从诞生之日起一直解决不好「交付问题」,即:项目不能按照履约时间、质量、成本完整交给客户。

为解决此疑难杂症,年10月北约科技委员会的专题会上,思考者们才真正提出“软件工程”的概念,它是什么呢?用软件的手段去满足客户需求吗?并非如此。

方便理解,举个例子:

在某工厂包装车间产品线经常出现“漏装问题”,客户收到货后打开包装一看是空的。

于是负责人找专家询问解决办法,专家建议装上监控系统,通过视频识别操作就不会出现此现象。

得知改造下来需要百万费用,厂长当场掀桌子决定「内部开会解决」,有位老师傅说很简单:

我们只需通过测量产品重量,然后在流水线最后装个大型吹风机,把它设定到相关风力即可。

若包装盒被吹跑证明就是空的,若没有则是完整的,众人怒赞得到老板赏识。

据此,工程的目的是客户需求的问题,至于解决的手段,只要在限定条件内是否用软件显得并不是那么重要。

计算机专业中,清华大学出版的教科书《软件工程—理论与实践》开篇谈道:

一位计算机芯片从业者认为代码是解决芯片问题的唯一办法,但一位软件工程师,只不过把软件当做满足客户需求的其中一个办法唯一。

所以,工程学指满足客户需求为目的的一门学科,而非单纯的开发软件。

它需要将客户的需求捕捉、分析、进行定义,并给出整体的系统需求,并分解各子系统;直到每个细节的需求可以由一个现有的组件直接满足,或通过修改满足。

而工程思维最大的特点是“要把事情做成”,也就是可交付、可使用、并做到开源节流”。

换个视角来看定义:

特斯拉、SpaceX创始人埃隆·马斯克(ElonMusk)并非是技术工程天才,从他创业发展史可看出横跨三大领域(互联网、清洁能源、太空)。

似乎三者并没有直接联系,为什么能够如此游刃有余呢?主要有两大要素:1)工程思维,2)第一性原理

在某采访中有人问他,制造火箭降低成本这件事NASA那么多专家都没做到,为什么SpaceX能完成,他回答说“我想,是因为他们资源太多了”。

这如同他优化特斯拉电池组一样,首先思考该目标是否可能,其次从商业和第一性原理出发,再研究电池的材料的组成部分。

进而通过可操作路径想办法找到这些材料,然后逐步压缩每个材料的成本,最后组装完成就拥有更便宜的电池。

也就是说,他认为每件产品(项目)依赖于结构,我们只需在封闭的结构中不断得拆解、类比、优化、模仿就能把它完成。

再比如说:

某航空公司做了一个关于顾客体验的调研,询问他们有什么期待?得到的结果是期望早点儿到达目的地,或提高安检、托运的时间。

几个专家视角给出的答案均不同,空气动力学家认为,前者如何让飞机飞得更快,涉及到动力以及元件的整体改造问题,后者需要优化安检与托运流程。

但系统工程给出的答案是,解决快的问题,要从去机场、找停车位、安检、托运整体进行优化。

对比上述中厂长优化流水线的事件,你会发现也有拥有同样规律,老师傅基于封闭状态节省成本的条件,拆解环节查漏补缺来解决根本问题。

谷歌早期用互联网做地图并没有效仿的人,它也是典型软件工程思维。

在封闭任务中应克服种种困难,把每条段路精确到厘米级别,然后用激光扫描避开路面障碍,以便车子开的过程中了解路况。

说到这里,幻想下那些互联网当红的企业家们,无疑均为工程思维运用的高手,阿里的王坚、今日头条的张一鸣、美团的王兴,甚至华为的任正非。

他们善于预判并在没有结构的情况下「预见结构」,并进行通盘顶层设计,然后从第一性出发来改善根本要素。

明白工程思维,把视角拉高也能理解众多社会问题,比如:

现在可以看到年北京地铁规划图,年碳达峰的行动方案和能源绿色低碳发展制度;这种可预测能力不正是每个普通人(企业)应该学习的吗?

工程思维三要素

结合中信出版社,经济管理类书籍《转向:用工程师思维解决商业难题》,我总结发现工程思维有三大特点:

1)找到结构,2)约束性设计,3)懂得取舍

首先在没有结构的情况下,第一个特点是工程师能从初步的概念到构想,看到潜在的结构。

也就是说不仅

分享 转发
TOP
发新话题 回复该主题