一个思考框架
畅想未来:
- 我现在是个什么水平?
- 我想达到一个什么水平?
- 我将怎样到达那个目标?
这三个问题实际上是帮我们确定:
- 现状;
- 目标;
- 实现路径。
当一个产品经理给我交代一个要开发的功能特性时,我通常会问他这样一些问题:
- 为什么要做这个特性,它会给用户带来怎样的价值?
- 什么样的用户会用到这个特性,他们在什么场景下使用,他们又会怎样使用它?
- 达成这个目的是否有其它手段?是不是一定要开发一个系统?
- 这个特性上线之后,怎么衡量它的有效性?
我们不是一个人孤独地在工作,而是与其他人在协作,想要做到高效工作,我们就要“抬起头”来,跳出写代码这件事本身。所以,我在开篇词里说,程序员解决的问题,大多不是程序问题。
总结时刻
大多数人工作低效是由于工作中偶然复杂度太多造成的,只要能够更多地将注意力放到本质复杂度上,减少偶然复杂度造成的消耗,我们“真实”的工作效率自然会得到大幅度提升。
而想要减少偶然复杂度的消耗,就要了解一些高效的工作方式和行业的最佳实践,而这一切是可以用统一的框架进行思考的。
运用这个思考框架,我们需要问自己一些问题:
- Where are we?(我们现在在哪?)
- Where are we going?(我们要到哪儿去?)
- How can we get there?(我们如何到达那里?)
为了把这个框架应用在我们程序员的工作中,我给了你四个思考原则:
- 以终为始,确定好真实目标;
- 任务分解,找到实施路径;
- 沟通反馈,解决与人打交道出现的问题;
- 自动化,解决与机器打交道出现的问题。
如果今天的内容你只能记住一件事,那请记住:面对问题时,用思考框架问问自己,现状、目标和路径。
最后,我想请你思考一下,如果把这个思考框架运用在你的职业发展规划上,你会如何回答这三个问题呢?