Skip to content 跳到章节

💻传奇人物

Software Engineer · 写作,测试和维护了管理现代生活的代码——也是最早观看AI将自己的日常工作自动化的职业之一.

一眼看清
指标浓度

格子越深,表示该主题在这项指标上越高。

最近审阅 来源与署名媒体署名方法说明

简短问答

一个软件工程师整天做什么?

大部分时间分写新的代码,在审查期间读别人的代码,修补bug,和队友谈论下一步要建设什么. 会议、规划和指导花费的时间比新来者预期的要多。 高级工程师个人写的代码往往比初级工程师要少,在设计决策,评论和解除对他人的封锁方面花费更多的时间.

我需要计算机科学学位才能成为软件工程师吗?

没有,但它仍然是最常见和最低的防爆路线。 四年制学位教授算法,数据结构和系统概念,在工作上学习费用昂贵. Bootcamp毕业生和自学工程师确实被雇佣,尤其是被较小的公司雇用,但通常需要强大的组合或开源工作来取代证书.

软件工程有AI的风险吗?

部分已经是了。 现代代码编辑器中构建的工具现在为经常使用这些代码的工程师写了很大一部分常规代码——锅炉板,第一稿测试,语言之间的翻译. 更难实现自动化的是决定构建什么,为什么,以及如何塑造一个系统,使它能与真正的用户保持接触和失败。

软件工程师挣多少钱?

它因国家和公司而异。 在美国,年中值约为133 000美元;在德国,约为69 000欧元;在印度,该行业雇用人数最多,全国平均接近900,000美元。 大型技术公司的高级工程师和工作人员工程师,一旦列入股票补偿,可以赚取全国中位数的数倍。

软件工程师,程序员和开发员有什么区别?

在实践中,很少——标题重叠,公司使用时不一致。 "程序员"是最早的术语和强调书写代码;"开发者"在网络和产品公司中很常见;"软件工程师"倾向于应用从旧的工程领域借来的有纪律的流程,测试和设计的想法,用于建设软件. 职务说明很少一致地加以区分。

是否真的需要一个编码面试才能被雇佣?

在大多数已经成立的技术公司,是的:现场或带回家的技术访谈,经常涉及共享文档或白板上的算法问题,仍然是标准过滤器,同时是系统设计回合,用于更高级的角色. 较小的公司和初创企业更可能取代付费的试办项目、投资组合审查或关于过去工作的对话。

打开对比实验室

分享本页

软件工程的神舟比医学或律法短而年轻,其中令人惊奇的是,在满室工作的女性认为编程不重要. 这里的八人横跨一位伯爵夫人为一台从未建成的机器写作,一位日语设计师在60年代仍然保持着自己的创作.

将它们联系在一起的并不是一个共同的背景——它们跨越四个国家和180多年——而是共同坚持软件的建造方式与软件是否有效一样重要。

历史领奖台

Grace Hopper
Grace Hopper
United States
2
Dennis Ritchie
Dennis Ritchie
United States
1
Margaret Hamilton
Margaret Hamilton
United States
3

“建造这样的工作会比它为建造的机器活得更久——可移植性让Unix的想法在50年的硬件中存活下来.”

Dennis Ritchie

登顶的八人

1
丹尼斯·里奇的照片 Denise Panyik-Dale · CC BY 2.0

Dennis Ritchie

United States · 1941–2011

共同创建了Unix,并在贝尔实验室设计了C编程语言,给业界一个便携式操作系统,以及最晚借用的语言的语法. 他与肯·汤普森分享了1983年的图灵奖;今天运行的大多数操作系统都从他的作品中降级,或者用工具建造的.

轶事

1973年与Thompson,Ritchie Revrote Unix在C一起,这样它就可以转移到新的硬件上,而不是被捆绑在一个机器上——让Unix,以及从它降下来的一切的决定,比任何一台计算机都活得更久. 他于2011年10月12日在新泽西州伯克利高地家中逝世,这一死亡在媒体上在很大程度上被一周前的史蒂夫·乔布斯(Steve Jobs)所掩盖,尽管建立在里奇作品上的软件运行在乔布斯自己的产品内部.

“建造这样的工作会比它为建造的机器活得更久——可移植性让Unix的想法在50年的硬件中存活下来.”

Turing Award
1983年(与汤普森)
C种语言
C++, Java, C#, JavaScript...
Career at Bell Labs
~40 years
2
Grace Hopper身着海军制服的照片 James S. Davis · Public domain

Grace Hopper

United States · 1906–1992

1952年建造了第一台工作编译器的数学家和海军军官,认为人们应该编程更接近英语而非原始机器指令的东西. 这一论点直接导致了COBOL,这种语言在70年后仍在银行、航空公司和政府中流传。

轶事

被海军以体重不足为由拒绝服现役,霍珀于1943年加入海军预备队,后来被分配为哈佛马克一号编程. 1947年9月,她的马克二世团队录制了一只把继电器卡在了他们的日志中的蛾子,注意到"第一个被发现的虫子的实际案例"——霍珀没有刻上"虫子"这个词,但她讲述了这个故事长达几十年,直到它成为了球场的创始传奇.

“使机器能说程序员的语言,而不只是相反.”

Naval career
43岁,海军少将
Age at retirement
79岁,最老的现役军官
总统自由勋章
2016 (posthumous)
3
玛格丽特·汉密尔顿站在阿波罗一叠软件列表旁边的照片 Daphne Weld Nichols · CC BY-SA 3.0

Margaret Hamilton

United States · b. 1936

在麻省理工学院的仪器实验室领导了写阿波罗计划的机载飞行软件的团队,并被广泛称赞为普及了"软件工程"这一术语,认为代码值得与硬件工程一样的严谨和尊重.

轶事

在1969年7月阿波罗11号月球降落期间,由于一个配置错误的雷达开关将它淹没在额外的工作上,引导计算机开始投掷1202和1201警报. 汉密尔顿的团队建造了该软件,在超载而非坠机的情况下执行低优先级的任务,因此它保持了着陆制导的运行; 任务控制,由美国宇航局工程师的手写警报欺骗表制成,称为"走"而不是中止.

“设计软件在超载下优雅地失败, 不仅在一切按计划进行时起作用.”

总统自由勋章
2016
Historic mission
阿波罗11号着陆,1969年
MIT role
软件Eng主任,Div.
4
照片来自Linus Torvalds。 Krd (photo) Von Sprat (crop/extraction) · CC BY-SA 4.0

Linus Torvalds

芬兰/美国 · b. 1969

1991年开始Linux内核作为赫尔辛基学生的爱好项目,14年后在大约10天内写下了Git的核心. 这两个项目现在都位于大多数公共互联网、大多数世界电话和大多数专业软件团队的日常工作流程之下。

轶事

1991年8月25日,Torvalds在Usenet集团com.os.minix上发帖称他正在写"一个(免费)操作系统(只是爱好,不会像gnu那样大而且专业)". 世界各地的志愿人员在几个月内开始捐款。 2005年,在许可证纠纷将内核团队从现有的源控制工具中切断后,他在大约十天内亲自写下了吉特的核心,而不是等待别人来建造一个.

“工作守则,在公开场合自由分享和争论,打败了一个封闭的委员会完美的设计.”

Linux 内核开始
1991, age 21
Git written in
~10 days, 2005
运行基于 Linux OS 的设备
亿,包括所有Android
5
芭芭拉·利斯科夫的照片 Kenneth C. Zirkel · CC BY-SA 3.0

Barbara Liskov

United States · b. 1939

1970年代中期在麻省理工学院建造了CLU,是具有真实数据抽象的最早语言之一,后来正式确定了替代原则,该原则仍然制约着工程师如何设计阶级等级. 2008年,她成为第二位获得图灵奖的女性.

轶事

1968年利斯科夫从斯坦福大学获得计算机科学博士学位,是美国最早这样做的女性之一. 在麻省理工学院,她领导了在1974年至1975年间建立CLU的团队,引入了"面向对象编程"之前的抽象数据类型是一个常见的短语. 在1987年的一次大会主题演讲中,她说了人们所知道的Liskov替代原则,即现在对几乎所有工程师教授的SOLID设计原则中的“L”。

“一个子类型必须尊重每一个承诺 它的超级类型, 或者抽象停止保护你。”

Turing Award
2008 (2nd woman)
计算机科学博士
1968, Stanford
CLU language built
1974–75, MIT
6
阿达·洛芙蕾丝的肖像 Antoine Claudet · Public domain

Ada Lovelace

United Kingdom · 1815–1852

1843年,洛夫莱斯翻译和注释了一篇关于查尔斯·巴贝奇未建成的分析引擎的意大利论文,在她最长的笔记中,一步一步地写下了机器如何计算一个数字序列——为一台计算机写作的工作程序,而这个程序还没有存在.

轶事

Lovelace的Note G,是伴随她翻译Luigi Menabrea的论文的七张笔记中最长的一张,它摆出分析引擎的操作卡来计算伯努利的数字,她在出版前发现并纠正了计算的一个错误. 她死于1852年的癌症,时隔36年才有人造出一台能够运行她所写的机器;1980年美国国防部采纳的编程语言Ada就是为她命名的.

“一个程序可以在机器存在之前被设计和调试以运行它.”

Notes published
1843
Age at death
36
为她命名的语言
Ada, 1980, US DoD
7

Frances Allen

United States · 1932–2020

在IBM Research中度过了几乎整个职业生涯, 将一个编译器最先生成的字面,低效的代码转换为快速程序工程师实际运送, 为现代优化和并行编译器奠定了数学基础. 2006年,她成为首位获得图灵奖的女性.

轶事

艾伦在纽约秘鲁的一家乳品农场长大,没有电或管道,1957年加入IBM主要是为了从教学中还清她的大学债务. 她的1966年论文"方案优化"引入了基于图表的代码分析技术,这些技术仍在编译课程中教授. 她后来领导了PTRAN,这个项目教编译者在老的Fortran程序中自动找到隐藏的平行主义,并于1989年成为IBM的第一位女性研究员.

“一个人写的程序和机器应该运行的程序是不同的问题;解决两者.”

Turing Award
2006 (1st woman)
IBM Fellow
1989 (1st woman)
IBM研究专业
~45 years
8

Yukihiro Matsumoto

Japan · b. 1965

1993年开始设计鲁比编程语言,围绕一个明确的目标——程序员的幸福而不是机器的效率,并观看它成为早期推特,GitHub和Shopify背后的引擎,以及它帮助推出的更广泛的铁路时代的创业浪潮.

轶事

1993年2月松本开始在纸面上素描Ruby,混合了Perl,Smalltalk,Eiffel,Lisp和Ada的片段,并于1995年公开发行. 他说他的目标是让程序员高兴,而不是为电脑优化,一种哲学鲁比社区变成了自己的座右铭"Matz是好人,所以我们是好人"——一条关于贡献者应该如何对待对方,而不仅仅是语言应该如何表现的规则.

“设计工具来表达人们使用它们的感觉, 不仅仅是他们让机器计算出来的。”

鲁比第一次公开发布
1995
设计鲁比的年份
Since 1993
Role
鲁比首席设计师

柱状图以本榜单第一名为基准。

对比实验室

开关名字——每根柱都会按你所选组合的第一名重新缩放。

5 / 8

争议

1968年北约会议是否"coined"软件工程一词引起争议:玛格丽特·汉密尔顿等人表示,该词的版本已经在加米什之前的工程圈中非正式流传,会议普及而非发明.

Linux周围的命名和信用引出了自己的长期争论:Richard Stallman和Free Software Foundation认为操作系统应该称为"GNU/Linux",因为周围很多工具链都来自Torvalds内核之前的GNU项目.

相近职业

不限同一领域,六项评分最接近的职业。

继续探索

继续探索

工程·技术领域的其他职业