软件工程真的是一门什么用都没有的学科么?

软件工程真的是一门什么用都没有的学科么?程序员

-----读《构建之法》有感微信

楔子

我很惭愧,构建之法这本书已经出版四五年了,我以前却不曾涉猎,仍是在经过组织长沙.net技术社区以后,才由于因缘际遇有幸认识邹欣邹老师以后,才了解和阅读了这本书。这是一本很是不错的软件工程学著做,事实上应该值得IT企业中不一样岗位的从业者都来读,而不只仅只是软件工程师或软件设计师来读。  架构


回到10多年前,当时我有幸就读于位于湖南湘中小城娄底的人文科技学院,那是湖南众多二本院校中排名较后的普通学府,而且我就读的专业是数学系下的学科,信息与计算科学专业,这是一个数学和计算机的边缘学科。事实上呢,其实当时班上绝大多数人都是调剂生,我是为数很少的一志愿录取吧,由于对计算机感兴趣,高中数学成绩太差,想在进一步学习数学才选了这个专业,固然,实际上入学后个人数学成绩依然不好,这就是后话了。 
因为这个专业的教授队伍自己就是数学教授为主,所以开设了许多数学加计算机的课程,那些数学课程令我头大,屡屡挂科,可是那些计算机学科的课程却令我痴迷,并最终让我选择了IT行业,并在这条道路上已经迈过来十个年头,甚至已经决定把他当作终生职业来奋斗。这些课程中,包括了软件工程,当时使用的教材来自于清华大学,那本在我这种阅读爱好者看来浅显易懂的软件工程基础书,在个人同窗眼中却仿佛看天书。在书中,做者以比较容易理解的角度简单介绍了软件工程的来龙去脉和本质,让我以为如获至宝,常常手不释卷,一直到大学毕业后三年,我都保留了这本书,并时常翻阅。
学习

什么叫作软件工程?

不知不觉从业十年,再回过头来看这门学科,我以为我有了不一样的体会。软件工程到底是什么?应该说时至今日,许多资深从业者都不能理解,这也证实为何有的院校的软件工程课,最终应学生的要求改为了学习JAVA视频教学的缘由吧。做为一名十年经验的开发者,我不打算引用原文中的话来讲明究竟什么是软件工程,而是说一下本身的理解,我认为软件工程实际上定义了IT公司的管理流程,设计理念,企业架构的方方面面。在这个知识大爆炸的时代,计算机领域的书籍很是多,大部分都是偏重于介绍开发者技能提升的书籍,大概能够成为技能书,经过阅读这些技能书,开发者只需花较短的时间就能快速的掌握做者多年学习的收获,并快速的成长,进而实现本身收入的大幅度提升。软件工程所介绍的内容,在某些读者眼里,看起来就像天书昏昏欲睡,尤为是那些UML图和设计理念,在某些开发者眼里认为,就是浪费公司的人力财力和时间,因而有人说软件工程其实什么用都没有。 大数据


我以为软件工程更像是心法,技术很差的时候,心法通则技术通,技术好了,更须要读心法,这样可让你的念头通达,格局透彻。软件工程,或许并不像一门工程学,更像两种东西的融合,一个是软件管理学,一个是软件设计学,更像是从更高的维度来看待软件和软件公司的全生命周期,又从更微观的角度来介绍如何优雅的设计一个软件。这也大概是邹老师的杰做,《构建之法》的标题,取的是构建,而不是架构的缘由吧。 
ui


构建是什么?在最开始听到这个名词时,我觉得是build,我甚至以为构建一个软件,不就是开发集成环境中的一个按钮么?难道这本书谈的是编译原理?然而我错了,这本书其实是build一套企业管理制度和文化,build一套切实可行的软件技术体系,正是讲述如何优雅的build一家可以持久生存的IT公司,用如今的主流说法,就是打造优秀IT企业的最佳实践方法吧。 
spa


固然,来到9102年的今天IT公司彷佛已经成为一个使人不适的名词,在你们的眼中,仿佛言不离互联网公司,彷佛一家公司自称是IT公司就自降身价通常。然而,互联网公司难道不是IT公司么?留给读者们评说吧。
.net

 

那些所谓的最佳实践

说到最佳实践,目前我也在一家互联网公司,也有幸接触了一些比较大的圈子,那就是中国的MVP们,他们是微软最有价值的技术专家,这些专家们都对技术充满了无限的追求、并积累了丰富的知识体系,从他们的交流沟经过程以及我本身平时的积累,我遇到了如下几种常见,却不必定正确的最佳实践。 设计


一、设计优先 
互联网公司经常使用的模式之一,就是设计和用户体验优先,在这种理念中,认为用户体验是第一辈子产力,技术是第二生产力。先把面子作好,再把产品作好。 
3d


2,架构优先 
这种理念认为,软件架构体系是决定软件生死命脉的关键因素。每每容易变成架构师优先,每每会招一位优秀的架构师,而后来组建他的核心班底,再变成一家技术优先的企业。真的是最佳实践么?谁吃过苦谁本身明白。 


3,中台优先 
阿里巴巴的实践告诉咱们,要重中台,轻前台,一切以业务流转为目标。可是真的是每家企业的最佳实践么? 


4,数据优先 
这种理念认为,数据是第一辈子产力,一切业务都是数据。在前几年的DT时代,就是这么鼓吹数据优先,而后各类大数据平台层出不穷,可是,每每作成了多数据,数据大(意思是指那些看起来大,却不符合5v特色的数据),却不多有必要作成大数据,大数据也属于被国人玩坏的概念吧?。

 

论构建的重要性

能够说,中国人大概是最善于玩文字游戏的,那些来自成功企业的所谓最佳实践,依然得依据企业的实际状况出发才能产生效果。 


我认为,或许对IT企业来讲,最佳实践应该依然是,构建优先,即做为一家软件公司,野蛮生长到最终,依然是构建符合企业实际的IT企业管理体系。例如阿里巴巴,不只汇聚了全国最顶级的技术人才,更是创建了一套最为完善的IT管理体系,最终才得以让IT技术促进企业得以快速发展。 


必须认可,在中国有许多业务优先的公司,其实并不能理解IT公司与传统公司的区别,老是用本身片面的理解认为,公司什么都缺,缺的只是一个程序员或几个程序员,可是,真的是这样么?没有,哪怕有幸被你招到了一位能独挑大梁的优秀程序员,每每也会因为与企业文化和管理理念极度的不适应而离去。 


在互联网概念已经深刻人心的今天,从某种意义上讲,或许对于企业,只要掌握了合适的时机加上一些机遇,也许老是能得到成功。可是,真的能存活超过十年的时间,并保持持续的增加么?在偌大的中国,近些年以来有许多优秀的企业凭借优秀的产品得到了短时间的成功,却深入反映出中国经济发展全靠吃人口红利的客观事实。 


尤为是那些看起来短时间依靠员工的创新能力得到快速发展的中小型或者独角兽企业,越是容易由于创新能力枯竭而最终内卷化。每家公司都有机会火五分钟,可是有的公司大概只能火那么几分钟。 


任何IT公司,撇开软件管理之道谈纯粹的技术实现或产品输出,或许都不过是一瞬间的爆发,越是看起来成功的优秀的互联网公司越是必须基于软件工程学的理论出发,创建一套切实可行,持续迭代的管理体系才能得到长久的生命力。 


可是,哪怕有了构建之法,又该如何打破中国IT企业平均寿命不过2.8年的客观事实呢?我想我仍是好好搬砖吧。。

 
 

  插播广告,长沙.NET 技术社区已经成立,各类技术活动正火热的开展中,欢迎各地高手前来指教,公众号:DotNET技术圈(MoreDotNetCore),也能够添加微信(xuehua0602),加入社区与你们共同探讨技术。

相关文章
相关标签/搜索