TooLongLink Video Watcher AI
Watch:
العربية - Arabic
Bahasa Indonesia
বাংলা - Bengali
български - Bulgarian
简体中文 - Chinese Simplified
繁體中文 - Chinese Traditional
Hrvatski - Croatian
Čeština - Czech
Dansk - Danish
Nederlands - Dutch
English
Eesti - Estonian
فارسی - Farsi
Suomi - Finnish
Français - French
Deutsch - German
Ελληνικά - Greek
ગુજરાતી - Gujarati
עברית - Hebrew
हिन्दी - Hindi
Magyar - Hungarian
Italiano - Italian
日本語 - Japanese
ಕನ್ನಡ - Kannada
한국어 - Korean
Latviešu - Latvian
Lietuvių - Lithuanian
മലയാളം - Malayalam
मराठी - Marathi
Norsk - Norwegian
Polski - Polish
Português - Portuguese
Română - Romanian
Русский - Russian
Српски - Serbian
Slovenčina - Slovak
Slovenščina - Slovenian
Español - Spanish
Kiswahili - Swahili
Svenska - Swedish
தமிழ் - Tamil
తెలుగు - Telugu
ไทย - Thai
Türkçe - Turkish
Українська - Ukrainian
اردو - Urdu
Tiếng Việt - Vietnamese
Submit
Casey Muratori 论大型科技公司在招聘和代码整洁性方面的缺陷
A Life Engineered
总结:
Casey Muratori 讨论了他非传统的编程生涯开端,通过纯粹的运气和人脉在高中的时候获得了微软的实习机会,这使他偏离了传统的大学道路。[
00:01:01
]
他强调,对于大多数人来说,在编程领域取得职业成功是努力工作、激情和一点运气的结合,并鼓励经验丰富的专业人士为有抱负的人才提供机会。[
00:10:00
]
Muratori 批评了“代码整洁”的理念,认为它的一些建议,比如小函数和多态性,通常会导致性能问题,因为它们阻碍了编译器优化。[
00:22:28
]
他提倡一种招聘流程,该流程评估候选人对编程概念的深刻理解,采用“向下深挖”的面试风格,侧重于他们过去工作中的具体技术实现,而不是 Leetcode 风格的问题。[
00:27:00
]
Muratori 对人工智能作为程序员的意义表示漠不关心,但也承认它对就业前景的潜在影响,强调社会需要解决人工智能利用现有作品进行训练所带来的知识产权问题。[
00:42:39
]
介绍与代码整洁性争议 [
00:00:00
]
Casey Muratori 被介绍出场,他以在博德之门、上古卷轴和帝国时代等主要游戏系列中的动画系统工作而闻名。[
00:00:11
]
他以其鲜明的观点而闻名,包括反对“代码整洁”和对人工智能不感兴趣的著名立场。[
00:00:05
][
00:00:22
]
Casey Muratori 讨论他对编程和行业趋势的看法。 [
00:00:10
]
改变一切的微软实习 [
00:01:01
]
Casey Muratori 分享了他进入专业编程领域的非同寻常的经历。[
00:01:15
]
在高中时,他家乡一位在微软工作的人给他提供了一个暑期实习机会。[
00:01:31
]
这种机会纯粹是“瞎猫碰上死耗子”,因为微软通常不会招收高中生。[
00:01:48
][
00:02:16
]
他的父亲是数字设备公司 (DEC) 的程序员,从小就教他编程。[
00:02:42
]
DEC 是计算机历史上的一家重要公司,后来被英特尔和康柏收购。[
00:02:49
]
实习期间非常混乱,没有明确的项目,导致他编写了一个用于 ANI 文件(动画光标)的库。[
00:04:20
]
ANI 文件是早期 Windows 时代的简单动画格式,具有有限的调色板(例如,4 位或 8 位索引色)。[
00:04:40
][
00:05:31
]
一个代表动画光标的沙漏图标 [
00:05:20
]
通过实习,他在微软深夜提供的餐饮中遇到了 Chris Hecker 和其他人。[
00:07:30
]
这些人脉使他加入了他们的游戏开发创业公司 Definition 6,而不是上大学。[
00:07:54
][
00:08:15
]
这种早期的接触和人脉为他找到了工作,包括在 Rad Game Tools 的工作,在那里他开发了他大部分已发布的游戏行业作品。[
00:08:23
]
屏幕上出现“RAD Game Tools”徽标。 [
00:08:39
]
科技职业中的运气与行动 [
00:10:00
]
Casey Muratori 认为职业成功是努力工作、激情和运气的结合。[
00:11:50
]
他不像一些 16 岁时编写出令人惊叹的游戏的“神童”。[
00:11:09
]
对于大多数人来说,这需要勤奋、充满激情和令人愉快,同时也要遇到由年长的、已建立的专业人士提供的机会。[
00:11:28
]
他积极尝试通过帮助年轻、充满激情的程序员找到机会来“回报”。[
00:12:03
]
给有抱负的开发人员的职业建议 [
00:12:26
]
Muratori 建议有抱负的开发人员让他们的激情驱动他们,并寻求可见性。[
00:13:07
]
他建议将作品放到网上、进行流式传输以及参与社区以引起注意,因为这会增加获得“幸运”突破的机会。[
00:13:31
]
面试官 Steve 强调增加一个人获得机会的“表面积”,尤其是在当今免费在线工具和资源唾手可得的情况下。[
00:13:48
]
两人都同意,展示对自己的代码的真诚关心和所有权至关重要。[
00:18:39
][
00:20:19
]
Muratori 可以识别出一个真正关心他们的代码及其功能的程序员,这种罕见的品质表明了增长潜力。[
00:18:19
][
00:18:47
]
这种“所有权”会带来一个持续的学习和改进的反馈循环。[
00:19:16
]
代码整洁的真正问题 [
00:22:28
]
Muratori 澄清了他对“代码整洁”的批评,将其与简单地编写优秀代码区分开来。[
00:23:04
]
他的目标是“代码整洁”倡导者的一些特定的规范建议,他认为这些建议是错误的。[
00:23:36
]
核心问题在于常见的做法,比如偏爱小函数、多态性、动态调度和后期绑定。[
00:25:21
]
这些做法通常会使代码原子化,使编译器难以优化。[
00:25:39
]
这会导致性能“悬崖”,由于间接分支和缺乏编译时类型知识,软件运行速度会慢得多。[
00:24:23
][
00:24:54
]
他提倡转向静态调度,这允许编译器在编译时了解类型并执行关键优化,防止性能下降,尤其是在循环中。[
00:26:31
][
00:26:44
]
Casey 的招聘理念:不使用 Leetcode [
00:27:00
]
Muratori 相信他可以识别出有能力的程序员,但无法预测他们在公司中的生产力。[
00:28:56
]
他认为标准的 Leetcode 风格的编码问题和肤浅的系统设计面试是无效的,因为它们不能反映日常工作或真正的理解。[
00:31:03
][
00:31:28
]
他首选的面试方法,灵感来自 Chris Hecker,是一种“向下深挖”的方法。[
00:29:38
]
要求候选人向面试官讲解他们过去作品中的一个具体的、复杂的实现细节。[
00:30:07
]
这种方法评估了真正的理解和激情,因为优秀的程序员应该能够深入解释他们的代码,即使是多年以后。[
00:30:23
][
00:33:09
]
这种方法为候选人提供了一个舒适的基础,同时允许面试官探究知识的深度。[
00:32:55
][
00:33:40
]
现场面试:Casey 面试 Steve [
00:34:23
]
Casey 通过询问 Steve 他在 Amazon Tickets 上从事的后端系统来展示他的面试风格。[
00:34:32
]
Steve 解释了两阶段购买系统(搜索和担保)以及管理座位分配而不进行双重销售的挑战,类似于具有碎片化的内存分配 (malloc) 问题。[
00:35:24
][
00:37:10
][
00:40:06
]
Steve 详细介绍了使用 Web API 和用于重新填充客户对象的客户服务的基于 Java 的后端。[
00:36:32
][
00:37:44
]
Muratori 根据 Steve 能够清楚地表达这些细节并处理探究性问题的能力,肯定了 Steve 的能力。[
00:39:11
]
快速问答:为什么 Casey 完全忽略人工智能 [
00:42:39
]
Muratori 对人工智能表示漠不关心,认为它不有趣,也不是他需要参与的东西,因为他更喜欢动手编程。[
00:42:59
][
00:44:47
]
他承认人工智能可能会将编程转变为未来几代人的爱好,而不是职业。[
00:44:57
]
如果他现在开始他的职业生涯,他会考虑从事具有“保护主义行业”的替代职业,比如法律或医学,这些行业不太容易受到人工智能自动化的影响。[
00:45:24
]
被低估的是:知识产权盗窃与版权 [
00:47:11
]
Muratori 认为人工智能的法律影响,特别是知识产权 (IP) 盗窃和版权,被严重低估和讨论不足。[
00:47:40
]
他批评公司急于开发人工智能,并假设他们以后可以处理诉讼。[
00:48:13
]
他担心如果这些道德问题没有得到妥善解决,可能会对社会产生负面影响,并损害计算机行业。[
00:50:52
]
Steve 赞同这些担忧,并指出他自己的内容可能已被用于人工智能训练,而未经同意或补偿。[
00:49:07
]
两人都强调,在互联网上共享信息的社会契约是人与人之间的契约,而不是与人工智能模型之间的契约,并且当前的法律无法处理这种新范式。[
00:52:14
][
00:53:00
]
他们提倡公平的利润分享,或者创作者能够选择退出让他们的内容用于人工智能训练。[
00:53:48
]
Copied!
Why didn’t you like it?
Inaccurate / wrong facts
Missing important points
Took too much time to load
Article too long / verbose
Article too short / not enough detail
Article hard to read / bad formatting
Images irrelevant / broken
Language / translation issues
Offensive / inappropriate
Other
Submit
Thank you for your feedback!
×