_Angus(清华大学)行有不得者,反求诸己
软件工程专业是一个针对软件开发的系统化的专业。该专业是为了应对软件危机诞生的一个重要学科。
对于软件危机是什么?软件工程专业的学生学什么?我在另一个问题有详细回答:
从软件工程的生命周期分析,毕业的学生可以从事的岗位可以分为两大类:技术岗和非技术岗。
下面我从这两大类详细介绍。
1、技术岗
(1)编程岗
该岗位顾名思义就是从事编程的岗位,其实就是我们所说的程序猿。主要可以从事的方向有:
a、可视化编程。在掌握程序设计方法及可视化技术(例如Java,Delphi等)的前提下,在可视化平台使用技术开发软件。
b、web应用程序设计。该岗位又可以分为两种,一种是前端,要求掌握的技术,主要是HTML、css、JavaScript三种开发技术,随着互联网技术的发展,现在也要求使用HTML5技术。另一种是后台开发,要求掌握的PHP、Apache、shell、vim、crontab等服务器开发技术。
(2)软件测试
软件测试这个岗位要求职工子在理解产品的功能要求的前提下,对其进行测试,检查软件有没有Bug,测试软件的稳定性,并且写出相应的测试规范和测试用例。这个岗位需要一定的技术能力,但是不是要求特别高。所以我还是把它放在了技术岗这个分类下来。
(3)运维岗
顾名思义,在互联网产品测试工作完成后,对产品进行的发布和发布之后的运营维护工作,属于技术岗位。需要的技术方向有很多种,例如服务监控技术、服务故障管理、服务容量管理、服务性能优化等等。
(4)数据库管理
数据库管理这个岗位,其实是属于编程岗位里面的,我这边把他单独罗列出来,因为它和编程岗有点不同。岗位要求能够应用关系范式进行数据库设计,精通SQL语言,胜任数据库服务器管理与应用的工作。
2、非技术岗
(1)产品开发
这是一个产品开发的岗位,注意是开发,属于非技术岗。后面职业的上升就是相当于产品经理。负责调查并根据用户的需求,确定开发何种产品,选择何种技术、商业模式等。并推动相应产品的开发组织。
(2)产品运营
该岗位需要从内容建设,用户维护,活动策划三个层面来管理产品内容和用户。在上线之前,运营要清楚产品的定位以及目标用户是哪一些。在内测期,运营主要收集用户行为数