新闻资讯

新闻资讯 媒体报道

软件工程真的是吃青春饭的行业吗?

编辑:011     时间:2021-09-07

这么问,其实是因为大家对软件工程有一个误解。

在所有之前,我们首先强调一点,软件工程师≠程序员(技术员),或者说不仅仅是程序员!软件工程师是从事软件开发相关工作的人员的统称。

它是一个广义的概念,包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位,工作内容都与软件开发生产相关。软件工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/MYSQL等)等,还有诸多如JAVASCRIPT、AJAX、SPRING等前沿技术。此外,关于网络工程和软件测试的其他技术也要有所涉猎。

他们说的吃青春饭,就技术的角度上讲,没有错,新技术层出不穷,AJAX、 JSON 、MVC、VUE.JS…新概念铺天盖地,SOA、云计算、大数据、物联网、敏捷开发…确实岁数增大,学不过年轻人,干不过年轻人,是正常的。

但是软件工程师什么呢,八九十年代,虽然美国那已经出现相对成熟的大型软件,但国内的软件行业才刚起步。那时软件规模很小,小到可以一个人可以单兵作战,大力出奇迹。但随着国内软件行业的发展和计算机性能的提升,软件规模变得日益庞大,开发团队动辄几十人起。这时就出现了新的问题,客户到底想要怎样的软件?系统怎么支撑各种复杂应用场景?团队成员工作如何切分?怎么管控项目进度?如何开发。这时,人们发现原来做软件并不是超级英雄拯救世界系列,而像盖大楼,团队合作,工程管理。这才是所谓的软件工程。

“软件工程”这个领域不是讲怎么敲代码的,是讲团队合作的。但是“软件工程师”是要敲代码的,同时考虑架构和团队合作。升级一下就是“资深软件工程师”也是要敲代码的,不但要考虑架构、合作,也要考虑技术标准、审核代码等等。再升级一下就是“技术领导(Tech Lead)”,“组长(Team Lead)”,“经理(Manager)”,这些人是可以不敲代码的,只是对开发进行管理,当然也得懂技术,有的也会去写代码。再升级一下是CTO,当然还是要懂代码的,负责技术上的大方向,不会自己手动敲。

软件工程不仅有团队合作,还有项目质量控制等。技术领导以上不需要从事一线开发工作是因为整体把控工作,技术大方向决策等对团队生死而言,具有更大的价值。没有好的决策与把控,整个团队可能会死掉。(可能以上看着眼熟,没事,也是我们写的,来自南大源图工作室这个账号。)

软件工程在国内起步晚,而且国内又没有几个人能教学,被误认为是敲代码的。除开软件工程,提到工程,更多的,是一种大项目的管理,大局的策划,方方面面的统筹安排。

可行性研究>需求分析>概要设计>详细设计>实际开发>项目测试>部署上线。大体上是这么一个流程。这个基本上可以算是对软件工程一个比较全面的理解。

所以不要说软件工程是吃青春饭了,这个东西,你一个年轻人,这么复杂的东西,想做也做不了!!这个青春饭,你吃不到!!也吃不下!!软件工程,根本不是给青年人准备的!!

所以呢,作为刚入行,未入行的年轻人,不要担心干到30岁么得干了,只要认认真真的干下去,30岁,正是你开始管理项目,带头的时候,正是你越来越值钱的时候。当然,不虚度的话。

再次强调,软件工程≠敲代码。不要眼光全局限在代码上。ECPLISE、 HBUILDER、PhotoShop是工具,JAVA、C、C++之类的机构化语言也是工具,换个语言从新开发项目不过是换个工具而已,流程是不会改变的!

工具会过时,思想,历久弥新。


学码匠是由南京大学软件学院丁二玉老师带头,和许多南大研究生一起,研发的在线教育产品。对软件工程有过了解就知道,丁二玉老师可以说是国内软件工程教的最好的几个老师之一了。

想考南大软院研究生的同学可以加一下我们群,毕竟我们都是研究生过来人,经验靠谱。qq,2948522538,qq群,305037084。群内免费下载内部复习资料,和独家真题练习(百度学码匠,或者登录,learncoder.com,导航栏练习,就有真题了)。对软工有兴趣的也可以加,毕竟大家都同行嘛,经常交流交流有个圈子也是极好的。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

回复列表

相关推荐