项目管理
-
领导力与追随:优秀技术领导者为什么要学会支持他人
关键在于,把全局视角落实到局部工作中。 这意味着,让团队的技术规划和路线图与整个工程组织的技术战略保持一致,同时审慎判断,什么时候应该偏离既定方向,以满足团队直接利益相关者的现实需求。 这意味着,与团队经理合作,借鉴其他团队在招聘、入职和生产运营方面的成功经验,同时把本团队中行之有效的做法分享出去。…
-
技术质量管理:如何系统提升代码质量与工程质量
当我能够帮助改进一份出发点良好、确实在解决真实需求的提案时,我会感到格外有成就感。 有时,提出方案的团队缺少足够的经验或背景知识,无法制定出真正抓住机会的计划。在这种情况下,一份结构清晰、重点明确的方案,往往既能大幅缩小项目范围,又能最大限度地保留价值,从而更快产生影响。 技术质量管理并不是一次性的…
-
Staff+ 工程师做什么?工作方式与成长路径
有人曾给过我一条非常重要的建议,我也一直把它分享给其他工程师: 很多人误以为,成为 Staff+ 工程师之后,就能掌控自己的工作,所有人都会听你的,并按照你的想法行事。事实恰恰相反。 许多工程师之所以选择 Staff+ 工程师这条职业发展道路,是因为他们认为,工程管理岗位需要参加太多会议,也要花费大…
-
ADR 是什么?什么时候应该编写架构决策记录?
摘要:如果你做出了一项会显著影响工程师开发软件方式的技术决策,就应该写一份架构决策记录。 架构决策记录(Architecture Decision Record,ADR)是一种用于记录重要技术决策的文档。它通常会说明决策背景、可选方案、最终选择,以及采用该方案可能带来的影响和后果。 对于研发团队来说…
-
事后复盘文化:SRE 如何通过无责复盘从失败中学习
作为 SRE(站点可靠性工程师),我们维护的是大规模、复杂的分布式系统。我们不断为服务添加新功能,引入新系统。鉴于系统规模庞大、变化速度极快,故障和中断不可避免。当故障发生时,我们会修复根本问题,使服务恢复正常运行。然而,如果没有一套正式的事后复盘流程来从故障中吸取经验教训,同样的问题就可能反复出现…
-
事故管理:流程、角色与最佳实践
有效的事故管理,是尽可能降低事故影响、缩短服务中断时间、尽快恢复正常业务运行的关键。如果没有事先演练过潜在事故的应对方案,那么真正遇到事故时,原本清晰的原则和流程很可能会在混乱中失效。 本文将先描述一起因临时、无序处置而逐步失控的事故;随后概述一套妥善的事故管理流程;最后回到同一场景,看看如果采用成…
-
应急响应指南:系统故障、事件响应与事后复盘实践
在复杂的软件系统和互联网基础设施中,系统故障不可避免。真正重要的不是故障是否发生,而是团队能否在紧急情况下快速响应、有效协作,并通过事后复盘持续改进。本文将围绕应急响应、事件响应流程、系统故障处理、主动测试和故障复盘,介绍大型技术团队在真实故障场景中的实践经验。 东西总会坏,这就是现实。 无论事件影…
-
分布式系统监控:SRE 监控与告警的核心原则
分布式系统监控是保障服务稳定性、可用性和故障响应效率的关键能力。某些海外大型互联网公司的 SRE 团队在构建可靠的监控与告警系统方面积累了一些基本原则和最佳实践。本章将介绍分布式系统监控的核心概念、告警设计原则、黑盒监控与白盒监控的区别,以及延迟、流量、错误和饱和度这四个黄金信号,并说明哪些问题应当…
-
SRE 中如何消除琐务:提升工程效率与服务可靠性的实践方法
在 SRE,也就是站点可靠性工程中,我们希望把时间投入长期的工程项目,而不是日常运维工作。由于“运维工作”这个说法容易引起误解,我们使用一个更精确的术语:琐务。 琐务管理是 SRE 实践中的核心议题。识别并减少琐务,不仅能提升工程效率,也能帮助团队更好地保障服务可靠性、扩展系统规模,并避免工程师长期…
-
服务级别目标(SLO)详解:如何定义 SLI、SLO 与 SLA
服务级别目标(Service Level Objective,SLO)是 SRE 实践中的核心概念。它与服务级别指标(SLI)和服务级别协议(SLA)共同构成了衡量、管理和改进服务可靠性的基础。本文将介绍如何选择合适的 SLI,如何制定合理的 SLO,以及如何通过 SLA 管理用户预期和业务风险。 …