#优质博文 #职业发展 #工程实践
每一条都是我赞同的!嘴替!!写得真好啊。
21 Lessons From 14 Years at Google
[以下是方便搜索索引的大纲(AI 生成),请读原文]
author Addy Osmani
每一条都是我赞同的!嘴替!!写得真好啊。
21 Lessons From 14 Years at Google
AI 摘要:Addy Osmani 在 Google 14 年的职业生涯中,总结出 21 条经验教训,这些经验并非关于特定技术,而是关于如何在工程领域取得成功,包括关注用户问题、团队协作、代码清晰度、避免不必要的创新、人际关系的重要性,以及认识到时间比金钱更宝贵等。这些经验强调了解决实际问题、与人合作以及持续学习的重要性,是工程师职业生涯中宝贵的指导。
[以下是方便搜索索引的大纲(AI 生成),请读原文]
1. 以用户为中心
• 真正的价值来自于深入理解并解决用户问题,而非仅仅热衷于技术本身。
• 通过参与客服、与用户交谈、观察用户痛点来深入理解问题。
2. 协作与对齐
• “对”固然重要,但“一起达成对”才是真正的挑战和价值所在。
• 避免成为“房间里最聪明的人”,应创造空间让他人参与,并对自己的观点保持适度怀疑。
• 绝大多数“慢”的团队实际上是“错位”的团队,即方向、接口或优先级不明确。
3. 行动与交付
• 完美的追求会阻碍进步,先行动、再完善、再优化。
• “行动导向”比“分析瘫痪”更能带来清晰度,可编辑错误页面,但无法编辑空白页面。
• AI 可以辅助快速迭代和反馈。
4. 清晰度而非技巧性
• 代码需要清晰易懂,以便他人(尤其是在紧急情况下)能够理解和维护。
• 为维护者(包括 2 AM 时的你)而非自己写代码。
5. 谨慎创新
• 创新是有成本的,应谨慎使用“创新代币”。
• 只在有独特价值的地方创新,其他地方应倾向于使用成熟、可靠的技术。
6. 价值的可视化与倡导
• 优秀的成果需要被看见,代码不会替你说话,人会。
• 要让你的影响对他人可见,尤其是在你不在场时。
7. 代码的最小化
• 最“好”的代码是你根本不需要写的代码。
• 在构建之前,思考“如果我们不这样做,会发生什么?”。
8. 兼容性即产品
• 在大规模系统下,即使是 bug 也会成为用户的依赖。
• API 设计实际上是 API 退休设计,需要考虑兼容性、时间和用户体验。
9. 聚焦可控因素
• 在大型组织中,很多变量不可控,应专注于自己的影响范围。
• 保持理智和高效的关键在于聚焦可控之事。
10. 抽象的代价
• 抽象会转移复杂性,而非消除它,当问题发生时,你仍需要理解底层。
• 持续学习“更低级”的知识,以应对抽象失效的情况。
11. 教学即学习
• 写作和教学是促进理解的有效方式,能暴露自己知识的不足。
• 尝试用简单的方式解释事物,是检验和深化理解的捷径。
12. “粘合剂”工作的价值与可见性
• 文档、入职、跨团队协调等“粘合剂”工作至关重要,但容易被忽视。
• 要将这些工作视为可见的影响,而非仅仅是“乐于助人”。
13. 避免轻易获胜
• 如果总是轻易获胜,可能意味着积累了“沉默的阻力”。
• 真正的对齐需要时间、理解和妥协,而非赢得争论。
14. 度量与目标
• 任何被量化的指标都会被“博弈”。
• 在衡量时,应同时关注速度和质量/风险,并注重趋势分析。
15. 承认未知
• 领导者承认“我不知道”能创造一个更安全的环境,鼓励团队成员也敢于提问。
• 好奇心和承认未知才能促进团队学习。
16. 人脉网络
• 人脉是你最重要的长期资产,远比任何一份工作都持久。
• 以好奇和慷慨的态度建立和维护人脉。
17. 性能提升源于移除
• 许多性能提升来自于移除不必要的工作,而非增加技术复杂度。
• 最快的代码是那些从不运行的代码。
18. 流程的本质
• 良好的流程应简化协调、降低失败成本,而非制造官僚主义。
• 如果流程的价值无法解释,它可能只是负担。
19. 时间价值
• 职业生涯后期,时间成为比金钱更宝贵的资源。
• 有意识地权衡时间和回报,避免过度追求金钱而牺牲宝贵的时间。
20. 复利效应
• 专业技能的提升需要刻意练习和时间积累,没有捷径。
• 将职业生涯视为复利增长,而非购买彩票,持之以恒会带来长远回报。
21. 核心思想
• 保持好奇心、谦逊,并始终记住工作关乎人(用户和团队成员)。
• 工程师的职业生涯足够长,可以从错误中学习,并分享经验。
author Addy Osmani