聚光灯

相似标题

软件工程师、应用程序开发人员、软件架构师、计算机程序员、游戏程序员、游戏软件开发人员、 应用软件开发人员/程序员

职位描述

软件开发人员是计算机程序背后的创造者。其中一部分人开发应用程序,使人们能够在计算机或其他设备上完成特定任务;另一部分人则开发支撑设备运行或控制网络的基础系统。

职业生涯的回报
  • 在心仪企业中获得成长的机会
  • 能够主导项目并影响他人
  • 每天拓展技术知识
  • 能够直接影响公司增长的能力
2016年就业
1,256,200
2026年就业预测
1,558,700
内幕消息
工作职责
  • 分析用户需求,然后设计、测试并开发软件以满足这些需求。
  • 为客户现有程序和系统推荐软件升级方案
  • 设计应用程序或系统的每个组件,并规划这些组件如何协同工作
  • 创建各种模型和图表(如流程图),向程序员展示应用程序所需的软件代码。
  • 通过软件维护和测试,确保程序持续正常运行
  • 详细记录应用程序或系统的各个方面,作为未来维护和升级的参考依据。
  • 与其他计算机专家协作开发最优软件

不同类型的开发者

  • 后端开发人员——负责网站整体的技术架构
  • 前端开发人员——负责网站的外观呈现(布局与图形设计)
  • 网站管理员——维护网站并保持其内容更新
所需技能
  • 专注力
  • 创造力
  • 客户服务技能
  • 注重细节
  • 对HTML、多媒体发布工具及编程语言有透彻理解
  • 灵活性
  • 学得快
  • 快速适应变化的能力
期望与牺牲
  • 期望:具备快速学习能力,能够交付高质量且可维护的代码
  • 牺牲:在承担自身职责之外,还需填补空缺并协助其他团队成员,尤其当产品公司提供的需求不明确时。
不同类型的组织
  • 科技公司(无论大型企业还是初创公司):例如谷歌、脸书
  • 从事可编程操作的组织(越来越多的组织符合这一描述)
  • 创建自有初创企业的选项
  • 自由职业者能否为多家公司开发软件?
  • 开发商店
当前趋势
  • 人工智能使软件/应用程序/系统日复一日地变得更智能
  • 整合机器学习技术,助力机器实现类人思维
  • 此类软件的示例:Google Assistant、Siri、Alexa
  • 大数据
  • 开源软件开发:开源软件的原始源代码可自由获取,允许重新分发和修改,这使其成为众多领域创新的关键。开源不仅培育了个体企业,更推动了整个行业的演进、创造,有时甚至颠覆传统产业格局。采用开源技术、将项目开源化、积极参与开源社区,是紧跟技术发展步伐并融入更广阔社群的必由之路。 [www.oreilly.com]
  • 基础设施的解构与重组:这些新方案让软件工程师能够专注于业务增长,而非担忧"内部器官"是否正常运转:X即服务、无服务器架构、分布式系统、容器与微服务。 利用OpenStack等第三方服务获取计算能力,构建响应式微服务以实现架构模块化与聚焦化,从而打造更具弹性与可扩展性的环境,并借助Docker和Kubernetes等云原生工具实现软件持续部署。[www.oreilly.com]
  • 机器学习:OpenAI(埃隆·马斯克)、Watson(IBM)、TensorFlow(谷歌)和CNTK(微软)已催生出令人振奋的新产品(Alexa)与范式(语音驱动应用),并推动基础设施自动化,使机器学习领域正式再度升温——且此次热潮将持续不息。[www.oreilly.com]
  • 客户至上设计理念:"始终将客户放在首位,必将带来成功" [www.oreilly.com]
从事这个职业的人年轻时喜欢做什么……
  • 享受游戏/解决问题
  • 对科学感兴趣
  • 对编程的热爱
  • 渴望探索新思想,尽可能获取更多知识
  • 常去的图书馆
  • 与朋友畅谈数小时,话题围绕着各种想法、新发现和书籍。
  • 对技能培养、头脑风暴、阅读及环境意识的关注

我曾相当痴迷于游戏,这无疑也是最终选择的因素之一,但其实年少时我更热衷于科学。在转行前,我曾攻读化学工程专业。对编程的火花与热情,很可能源于高中编程课程——我深深沉醉于那些待解的难题,以及用逻辑方法分解它们的过程,比如构建模拟鱼缸时所涉及的复杂性。——Leon Ho,OpenX软件工程师

所需的教育和培训
  • 软件工程师可通过计算机科学或相关领域的学士学位开启职业生涯。
  • 高级职位可能需要硕士学位
  • 软件工程师实习项目在学习过程中积累实践经验方面非常有益。
  • 目前有许多与软件工程师相关的证书可供选择,包括:
    • Springboard软件工程训练营
    • 认证安全软件生命周期专家
    • 专业软件开发人员认证
    • CIW网络开发专家
    • 甲骨文认证大师
    • 微软认证 Azure 解决方案架构师
  • O*Net列出了所需的广泛技术技能,包括多种软件类型,例如访问软件、分析软件、应用服务器、备份软件、商业智能软件、基于云的数据访问软件、通信服务器、配置管理软件、内容工作流软件、数据库管理软件、数据挖掘软件、开发环境软件、企业资源规划软件等众多类型。
高中/大学期间的活动
  • 解谜、下棋及其他策略游戏,以及阅读
  • 分析日常生活中事物运作的原理;例如:重力
  • 开始探索如何以逻辑方式处理和解决问题,同时学习数据结构与算法。
  • 副业项目也总是加分项
  • 常见课程主题包括高等数学、AP微积分、AP统计学、AP物理学、工程学、物理学以及众多计算机科学课程,例如编程基础、数据结构、算法导论、操作系统、计算机体系结构、人机交互和离散数学。
  • 学习React、Angular、Express和Rails等框架
  • 软件工程师常用的编程语言包括Java、Python、JavaScript、C++和Scala。
  • 决定是先攻读学士学位后求职,还是继续攻读硕士学位
  • 在求职前,请着手完成你想要获得的相关认证。
  • 创建作品集网站,通过案例研究展示您的作品
  • 加入学校计算机社团,在那里你可以交流信息并保持学习动力。
  • 利用视频、书籍和副业项目,在自己的时间里学习
  • 申请软件工程师实习岗位,获取实战经验
  • 在完成学业和工作里程碑的同时,着手完善你的简历草稿
如何获得你的第一份工作
  • 请老师推荐
  • 把握自由职业机会
  • 申请科技公司的职位空缺
  • 尝试不同行业
  • 怀揣清晰愿景与商业计划,开启自己的创业之旅(可通过Kickstarter平台筹集资金)
  • 利用社交媒体建立行业人脉
  • 在Monster、Indeed、Glassdoor、Zippia等求职门户网站以及Machine Hack、MLconf招聘板、Stack Overflow、AngelList和DataJobs等IT相关平台创建个人资料。别忘了同时使用LinkedIn!
  • 申请初级职位,直到积累足够经验后,才有资格申请高级职位。
  • 注意招聘广告中使用的关键词,并将这些关键词融入你的简历中。
  • 查看软件工程师简历模板以获取措辞灵感
  • 在提供潜在推荐人的联系方式前,请务必事先征得他们的同意。
  • 通过阅读软件工程师面试题来准备面试
  • 面试时做真实的自己,让个性闪耀光芒!专业能力固然重要,但文化契合度同样关键。你需要确保自己与应聘公司是相得益彰的组合。
如何保持竞争力并继续参与竞争
  • 了解新技术
  • 不必局限于工作范畴,任何能提升你解决问题能力的事物都行。
  • 适应能力确实至关重要
  • 思维敏捷、能迅速调整方向的人才

要求:

  • 职业学校的培训、相关的在职经验或副学士学位
  • 与工作相关的技能、知识或经验,或两年培训经历(包括在职实践和与资深员工的非正式培训),即经认可的学徒制培训项目。
  • 具备出色的沟通与组织能力,能够协调、监督、管理或培训他人以达成目标,例如:水电生产经理、旅行向导、电工、农业技术员、理发师、保姆和医疗助理。
备选方案
  • 信息安全分析师
  • 科技公司创始人
  • 专利代理人
  • 专利代理人
信息图表

点击此处下载信息图

软件开发人员 GladeoGraphix

新闻源

在线课程与工具

薪资与就业前景
选择子区域:

年薪预期

$115K
$156K
$170K

新员工起薪约为11.5万美元。年薪中位数为15.6万美元。经验丰富的员工年薪可达17万美元左右。

来源:加利福尼亚州就业发展部

年薪预期

$172K
$205K
$220K

新员工起薪约为17.2万美元。年薪中位数为20.5万美元。经验丰富的员工年薪可达22万美元左右。

来源:加利福尼亚州就业发展部

年薪预期

$108K
$146K
$180K

新员工起薪约为10.8万美元。年薪中位数为14.6万美元。经验丰富的员工年薪可达18万美元左右。

来源:加利福尼亚州就业发展部

年薪预期

$112K
$149K
$173K

新员工起薪约为11.2万美元。年薪中位数为14.9万美元。经验丰富的员工年薪可达17.3万美元左右。

来源:加利福尼亚州就业发展部

年薪预期

$103K
$138K
$173K

新员工起薪约为10.3万美元。年薪中位数为13.8万美元。经验丰富的员工年薪可达17.3万美元左右。

来源:加利福尼亚州就业发展部