什么是软件工程?新发展、挑战和毕业生职业指南

软件工程师是做什么的?我们采访了一位首席软件工程师,了解作为一名工程师的生活,项目是如何工作的,以及有抱负的软件工程师需要知道什么。

什么是软件工程?新发展、挑战和毕业生职业指南

软件工程是一个快速发展的技术领域,所以我在职业生涯开始时使用的技能与我现在使用的技能完全不同。

软件工程结合了工程的过程和学科,以及软件开发的编码和编程。在各行各业,软件工程师毕业生都有很多机会。为了了解更多关于软件工程的职业,该领域的发展以及对该领域感兴趣的学生的建议,我们采访了BAE系统公司的首席软件工程师Jack Sawyer。

跳转到……什么是软件工程?|项目是什么样的?|软件工程的主要发展|软件工程的挑战|给软件工程师的建议

什么是软件工程?

对我来说,它是计算机编程,但背后有更多的严谨和纪律。它不仅仅是把代码放在一起;它还编写需求,实现、测试和维护软件。

软件工程师的工作与其他学科的人密切相关。我通常与其他软件工程师、系统工程师和硬件工程师在一个团队中,他们每个人都会在项目的不同阶段使用他们的专业知识。这与程序员独自在地下室工作的刻板印象相去甚远。

一个典型的软件工程项目是什么样的?

一个典型的项目开始于我的团队从客户那里收到一系列需求。然后将其传递给我们的系统工程师团队,他们将对整个系统进行一些顶层设计。从那时起,我们的软件工程团队接受分配的需求并开始设计和编码。我们主要使用UML(统一建模语言),MATLAB Simulink和C语言。

在整个过程中,代码需要经过许多测试和验证阶段。这包括插装阶段和测试硬件旁边的代码。这通常发生在实验室环境中,在那里我们有模拟系统其他方面的测试台,我们的代码将需要与之一起工作。我们的很多工作都是安全关键的,所以我们需要测试每一行代码,以确保它满足客户的需求。

我们必须严格遵守流程文件……这些流程可能需要从大学开始进行一些调整,因为编码(通常是“有趣的部分”)只占我们工作的一小部分。

软件工程的主要发展是什么?

最近,基于模型的工程也变得更加突出。在这里,使用SCADE和MATLAB Simulink等工具,需求和设计被表示为一组模型,而不是一堆文档或电子表格。这些模型被用作事实的中心来源,并确保整个团队都在使用最新的信息。基于模型的工程仍在发展,但它已经改变了我们与产品团队中其他工程师的工作方式。

软件工程是一个快速发展的技术领域,所以我在职业生涯开始时使用的技能与我现在使用的技能完全不同。我在大学里通过学习Java学习了编程的基础知识,但我现在做的大部分工作都是使用c。在这个领域工作,你必须愿意在工作中学习。

软件工程师可能面临哪些挑战?

找机会看看别人的代码……从检查一个有经验的程序员的代码中你会收获很多。

软件工程师的工作在很大程度上是由过程驱动的。至关重要的是,我们要严格遵守流程文件,确保每项测试都通过了,每件事都按照应有的方式进行。在开发安全关键软件时,这是至关重要的,可以让其他工程师完成他们的工作。这些过程可能需要从大学开始调整,因为编码(通常是“有趣的部分”)只占我们工作的一小部分。然而,我认为这是我的代码必须通过的额外挑战。

你对有抱负的软件工程师有什么建议?

软件工程的许多严谨性将在工作中学习,并且将自然地从逻辑和分析思维技能中成长,因此学生应该专注于发展他们的编程技能。展示你对编程的热情——你不一定要在应用程序商店里有一款游戏,但很高兴看到学生们在自己的时间里发展他们的技能。

找机会看看别人的代码,无论是在大学里还是在实习年的工作经历中。通过检查有经验的程序员的代码并将其与给定的需求进行比较,可以获得很多东西。问问你自己:这些事情是否匹配,我能从中学到什么,我是否有什么不同的做法?

杰克进入软件工程的路线

  • 当我申请大学时,计算机科学是我唯一考虑的选择。我一直对计算机及其工作原理很感兴趣,所以在大学里学习这门课程对我来说是自然而然的。
  • 我第一次接触软件工程是在我在工业界工作的那一年,当时我在BAE系统公司工作。在过去的一年里,我作为一名软件工程师参与了数字地图项目,特别是平板电脑和pda(个人数字助理)项目。BAE系统公司(BAE Systems)的毕业生计划给了我一个名额,并于2009年开始工作。
  • 我刚开始工作时的职位是研究生软件工程师,2011年晋升为软件工程师,2013年晋升为高级软件工程师,2016年晋升为首席软件工程师。

你的工作内容是什么?

我在罗切斯特的BAE系统公司从事安全关键系统的工作。我所从事的项目类型的一个很好的例子是一架知名商用飞机的高升力计算机。它们控制飞机机翼上的平翼和板条,以改变产生的升力。

我参与了从一个相对较早的阶段直到看到飞机投入使用。这花了大约5年的时间,包括前往加拿大和美国,在客户自己的模拟实验室工作。第一次看到飞机飞行是一个亮点,知道有飞机在飞行,这是一件很酷的事情,部分使用了我编写的软件。

为你挑选的樱桃

为你挑选的樱桃

并直接发送到你的饲料。
现在就告诉我