跳转到内容

软件工程导论/软件工程师

来自维基教科书,开放的书籍,开放的世界

软件工程师

[编辑 | 编辑源代码]

软件工程是由软件工程师完成的,软件工程师是将软件工程原理应用于软件和系统的设计和开发、测试和评估的工程师,这些软件和系统使计算机或任何包含软件的东西工作。术语“工程师”[1] 存在一些争议,因为它意味着一定程度的学术训练、专业纪律、遵守正式流程,尤其是在软件开发的情况下,往往不适用于法律责任。2004年,美国劳工统计局统计出美国有760,840名软件工程师。在同一时期,美国其他所有工程学科的从业人员总数约为140万。[2]

在1990年代中期之前,软件从业人员无论实际工作是什么,都称自己为程序员开发人员。许多人更喜欢称自己为软件开发人员程序员,因为大多数人对这些术语的含义达成广泛共识,而软件工程师仍在争论中。一位著名的计算机科学家埃兹格·W·迪克斯特拉在论文中写道,软件工程师一词的创造并不是一个有用的术语,因为它是一个不恰当的类比,“仅仅是这个词的存在就是许多非常肤浅——而且错误——类比的基础,这些类比只会混淆问题......计算机是如此特殊的设备,因此有充分的理由假设与其他学科的大多数类比都过于肤浅而无任何积极价值,甚至如此肤浅以至于它们只会令人困惑。”[3]

术语程序员通常用于指代那些没有编写高质量软件的工具、技能、教育或道德的人。为了摆脱与程序员一词相关的耻辱,许多从业人员称自己为软件工程师

在企业界,软件工程师的标签使用得非常广泛。实际上很少有执业的软件工程师拥有获得认可的大学的工程学位。事实上,根据美国计算机协会的说法,“现在在美国担任正式软件工程师的大多数人拥有计算机科学学位,而不是软件工程学位”。[4]

如今,大约一半的从业人员拥有计算机科学学位。拥有软件工程学位的从业人员数量较少,但正在增长。1987年,伦敦帝国理工学院在英国和世界范围内开设了第一个三年制软件工程学士学位。从那时起,许多大学都设立了软件工程本科课程。最近,ACM[5] 定义了软件工程本科课程的标准国际课程。截至2004年,在美国,约有50所大学提供软件工程学位,教授计算机科学和工程原理和实践。ETS 大学和蒙特利尔大学被 IEEE 授权开发软件工程知识体系 (SWEBOK) [6],它已成为描述软件工程师涵盖的知识体系的 ISO 标准。

在商界,一些软件工程从业人员拥有管理信息系统 (MIS) 学位。在嵌入式系统中,有些人拥有电气工程或计算机工程学位,因为嵌入式软件通常需要对硬件的详细了解。在医疗软件中,从业人员可能拥有医疗信息学、普通医学或生物学学位。一些从业人员拥有数学、科学、工程或技术学位。有些人拥有哲学(尤其是逻辑)或其他非技术学位,而另一些则没有学位。

大多数软件工程师作为雇员或承包商工作。他们与企业、政府机构(民用或军事)和非营利组织合作。一些软件工程师作为自由职业者为自己工作。一些组织拥有专门人员来执行软件开发过程中的每一项任务。其他组织则要求软件工程师完成许多或所有这些任务。在大型项目中,人们可能会专门从事一项角色。在小型项目中,人们可能会同时担任多个或所有角色。

关于软件工程师和其他信息技术 (IT) 专业人员的未来就业前景存在相当大的争议。例如,一个名为美国 IT 就业未来[7] 的在线期货市场试图回答 2012 年的 IT 就业岗位(包括软件工程师)是否会比 2002 年更多。

发达国家的一些学生可能会避免与软件工程相关的学位,因为他们担心离岸外包和被外国工人取代。[8] 尽管政府统计数据目前没有显示出对软件工程本身的威胁;但与之相关的职业计算机编程似乎确实受到了影响。[9][10] 一些职业咨询师建议学生除了纯粹的技术技能外,还要专注于“人际交往能力”和商业技能,因为据说这种“软技能”更难外包。[11] 正是软件工程的准管理方面,似乎使它免受全球化影响。[12]

参考资料

[编辑 | 编辑源代码]
  1. Sayo, Mylene. "[http://www.peo.on.ca/enforcement/June112002newsrelease.html 名字里有什么?科技行业与工程师就“软件工程”展开争论]". Retrieved 2008-07-24. {{cite web}}: External link in |title= (help)
  2. 美国劳工统计局,美国劳工部,USDL 05-2145:2004 年 11 月职业就业和工资
  3. http://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/EWD690.html E.W.Dijkstra 档案:实用工程师与科学设计师
  4. http://computingcareers.acm.org/?page_id=12 ACM,计算 - 学位与职业,软件工程
  5. http://sites.computer.org/ccse/ 软件工程本科课程指南
  6. http://www.computer.org/portal/web/swebok 软件工程知识体系指南
  7. 美国 IT 就业未来
  8. 随着外包热潮的兴起,计算机科学兴趣减退
  9. 计算机程序员
  10. 北美软件开发人员增长放缓 | InfoWorld | 新闻 | 2007-03-13 | 作者:Robert Mullins,IDG 新闻服务
  11. 热门技能,冷门技能
  12. 双重角色:IT 的变革面貌
华夏公益教科书