万博全站端app关于如何成为一名软件工程师的一步一步的指南。

步骤1

成为软件工程师适合我吗?

选择职业的第一步是要确保你真的愿意全身心地投入到这份职业中。你不想浪费时间做你不想做的事。如果你是新来的,你应该读一下:

概述
软件工程师做什么?
职业满意度
软件工程师对他们的职业满意吗?
个性
软件工程师是什么样的人?

仍然不确定成为软件工程师是否是正确的职业道路?看看这个职业是不是你最适合的。也许你很适合成为软件工程师或其他类似的职业!

被我们的用户描述为“惊人的准确”,你可能会发现你以前没有想过的职业。

步骤2

高中

准备完成学士学位软件工程在美国,学生需要获得高中文凭。以下科目的速成课程将有助于为本科学习打下基础:

•代数
•微积分预科和微积分
•三角
•计算机科学
•生物学
•化学
•物理
•语言艺术
•外语

步骤3

学士学位

选择一个由工程和技术认证委员会(ABET)认证的项目。ABET认证的标准包括师资、课程内容、设施和持续的项目改进,以及实践/工业应用相对于理论重点。

软件工程学士学位课程包括数字逻辑、算法设计、数据结构、项目规划和结构化编程方法的教学。课程通常包括以下课程:

面向对象的软件开发
焦点
使用高级程序设计语言解决常见的计算机问题和任务
目标的技能
•计算机编程表达式
•理解字段和方法是如何工作的
•编程逻辑

计算机安全
焦点
计算机安全概述;伦理、法律和实践方面的考虑
目标的技能
•灾难和数据丢失恢复
•用户访问方法
•密码学基础

项目管理
焦点
按进度和预算设计和开发软件项目的技术和方法
目标的技能
•理解项目生命周期
•项目计划
•风险管理

用户界面
焦点
运用人类沟通方法的概念来创建用户友好的软件
目标的技能
•用户界面设计方面的考虑
•定制软件,以人类用户的细节
•可用性测试

虽然学士学位仍然是进入该领域的必备条件,编码训练是一种相对较新的软件工程师教育途径。这些课程通常持续8到12周,让学生进入动手操作的沉浸式学习环境。

步骤4

实习

一些软件工程本科项目与技术公司合作,在他们的课程中包括实习。实习通常持续3到6个月,允许学生从事特定的项目或产品。这种实践培训提供了扩大技能和与潜在雇主网络的机会。

步骤5

专业化

以下是软件工程领域中最常见的专门化:

应用程序开发
基于问题解决,非基于web的软件开发,包括编程语言,如Java和c#

系统开发
设计和编码支持应用程序开发的后台软件;包括像C和c++这样的程序语言

Web开发
设计在Web浏览器中运行并使用HTML、JavaScript和PHP等语言的软件或应用程序。

嵌入式系统开发
设计用于非计算设备(如汽车)的计算系统和软件;包括使用C语言和汇编语言等编程语言。

步骤6

就业

软件工程师的就业选择包括计算机系统设计公司、计算机服务公司、软件出版商、计算机制造商、金融公司和保险公司。一些该领域的毕业生选择做独立承包人。

步骤7

认证和继续教育

软件工程师没有许可证要求,但有许多自愿认证工程师可以追求。

电气与电子工程师学会(IEEE)
IEEE计算机协会为软件工程师提供三种认证:
•助理软件开发人员认证- 100分钟的在线考试
•专业软件开发人员认证- 120分钟的考试加上两个应用编码考试(每个2小时)
•软件开发大师认证- 180分钟的考试加上两个应用编码考试(每个考试3小时)
这些认证是在2013年推出的,专门为软件工程领域创建PE(专业工程师)证书。

卡内基梅隆大学软件工程学院
SEI提供了各种证书、授权和认证,每一个都要求申请人完成特定的课程和/或展示特定的能力:
•证书-完成特定技术领域的课程
•授权-完成特定的培训计划,以提供特定的SEI服务
•认证-证明精通某一特定知识或技能,并有能力执行一项任务、服务或角色

美国质量学会
ASQ将认证质量工程师(CQE)定义为理解产品和服务质量评价和控制原则的专业人员。

技术供应商认证
技术供应商提供了各种特定领域的认证,例如:

微软

软件工程国际会议
自动化软件工程国际会议

步骤8

硕士学位(可选)

软件工程的硕士学位课程提供了使用系统的、可量化的和具有成本效益的软件开发方法的进一步培训。它们让学生在设计跨多个硬件平台的解决方案方面获得更广泛的经验,通常还允许他们用至少一种编程语言开发专业技能。课程通常包括以下课程:

数学建模
焦点
介绍数学模型,它在理解和预测自然现象和人类本性方面有应用
目标的技能
•将模型应用于现实世界的问题
•识别特定情况下的特定数学模型
变量和预期结果的量化

软件设计
焦点
研究不同的编程语言以及它们的特性如何应用于软件创建
目标的技能
•加强面向对象编程原则
•对现有计算机代码进行关键分析
•有效和高效地设计程序的技术

软件测试
焦点
用于软件实际测试和分析理论测试模型的工具和技术
目标的技能
•故障排除
•调试方法
分析和解释测试结果

软件系统架构
焦点
软件体系结构的基本原理及其在软件开发过程中的应用
目标的技能
•识别软件架构技术
软件设计分析
•用于软件架构设计的工具