⚙️ Engineering & Technology

💻软件工程师

编写、测试并维护支撑现代生活的代码——也是最早目睹人工智能接管自身日常工作的职业之一。

Also called: 软件开发工程师 · 程序员 · 编码员

1940年代,两名女性操作ENIAC,通过拨动开关和手工布线进行编程。
Unidentified U.S. Army photographer · Public domain

速览

阿达·洛夫莱斯,1843首位程序员
$133,080/年中位薪酬(美国,2024)
约170万(2024)美国软件开发者
图灵奖,1966年设立最高荣誉
全球约23%女性占比
1968年,北约"工程"一词启用

软件工程师设计、构建、测试并维护支撑银行、医院、工厂、手机与航天器的程序。工作涵盖编写新功能、修复故障,以及决定系统应如何组织,以便日后上百名工程师能安全地修改它。有人端到端交付一款移动应用;也有人整个职业生涯只负责更大系统中的一块,比如航空公司软件里的座位分配模块。

这个头衔比这项工作本身年轻得多。1968年之前,人们已编程数十年;那年北约会议刻意借用"工程"一词,主张代码应享有与桥梁或飞机同等的纪律。争论至今未息:与结构工程师不同,多数软件工程师无需执照即可执业,业界仍在争论这究竟是手艺、科学,还是二者兼有。

两件事使软件工程在本站所涉职业中格外特殊:相对极低的正式门槛,薪酬却极高;它也是首批白领职业之一,亲眼看着自己日常产出——样板代码、初稿测试、常规修复——的相当部分被自身所造的工具接管。之后留下的,是工作中更难、更关键的部分。

The profile

358055687890
  • Resists AI35
  • Pay80
  • Barrier to entry55
  • Autonomy68
  • Demand78
  • Impact90

How exposed is it to AI?

63 / 100

High

A large share of the code an engineer types in a given week — boilerplate, first-draft tests, routine translations — is already comparably fast for a language model to produce. What remains hard to automate is deciding what should be built, catching the ways a plausible-looking change can be subtly wrong, and being accountable when it fails in production.

AI & The Future →

Seven ways into this profession

常见问题

软件工程师一天到底在做什么?
大多数日子在写新代码、评审时阅读他人代码、修 bug、与队友讨论下一步要做什么之间切换。会议、规划和带新人占用的时间往往比新人预期更多。资深工程师通常比初级工程师亲自写的代码更少,更多时间花在设计决策、评审和帮他人解除阻塞上。
成为软件工程师必须读计算机科学学位吗?
不是必须,但这仍是最常见、阻力最小的路径。四年制学位教授算法、数据结构和系统概念,这些在职场上自学成本很高。训练营毕业生和自学者也会被录用,尤其在较小公司,但通常需要强 portfolio 或开源作品来替代学历。
软件工程会被人工智能威胁吗?
部分已经在发生。现代代码编辑器内置的工具,已为常用者编写相当比例的常规代码——样板代码、初稿测试、语言间转换。更难自动化的,是决定做什么、为什么做,以及系统应如何设计才能经受真实用户与故障的考验。
软件工程师收入多少?
因国家和公司差异极大。美国中位数约年薪13.3万美元;德国约6.9万欧元;从业人数最多的印度,全国平均更接近90万卢比。大型科技公司的资深与 staff 工程师,加上股票补偿后,收入可达全国中位数的数倍。
软件工程师、程序员和开发者有何区别?
实践中差别不大——头衔重叠,各公司用法也不一致。"程序员"是最旧的说法,强调写代码;"开发者"在 Web 与产品公司常见;"软件工程师"则借用传统工程领域的纪律、测试与设计观念。招聘启事很少一致区分它们。
录用真的需要 coding interview 吗?
在多数成熟科技公司,是的:现场或 take-home 技术面试,常在共享文档或白板上解算法题,仍是标准筛选;资深岗位还会加系统设计轮。较小公司与初创更可能改用付费试工、portfolio 评审或过往工作对话。
软件工程师可以远程工作吗?
可以,在本站几乎所有职业中远程比例最高——相当比例的专业开发者全远程或混合办公,工作本身(写代码、做 review、开视频会议)很少需要到场。部分雇主在2023年后收紧远程招聘;涉及硬件或涉密系统的岗位仍须到岗。
软件工程师毕业后还要持续学新工具吗?
必须持续学习。统治一个十年的语言、框架和平台,下个十年往往边缘化;工程师写代码用的工具——最近是 AI 编程助手——每隔几年就改变日常实践。学位或训练营后停止学习的人,技能与薪酬往往很快见顶。

More in Engineering & Technology