高级软件工程师教会小白的那些事(11)

降低风险(derisking)

Derisking是一门通过你所部署的代码来降低风险的艺术。

可以采取哪些措施来降低灾难发生的风险呢?

如果这是一个新的突破性变化,当出现问题时,如何保证最小程度的损失?

“我们不需要对所有这些新变化都进行全系统部署。”哦,等等,真的吗?我当时怎么一点也没想到!

设计

我为什么要把设计放在写代码和测试这两项之后呢?好吧,设计可能是首要问题,但如果我还没有在现在这个环境中编码和测试过,我可能不会像现在这样擅长设计一个尊重环境特性的系统。

在设计一个系统时有很多事情值得考虑。

使用数量是多少

有多少用户?预期的增长是多少?(这将转化为多少个数据库行)

未来的失误可能是什么?

我需要把它转换成一份名为“收集需求”的整洁的清单。今年我这方面做的还不够多,这是我明年在彭博社要解决的问题。

推荐阅读