程序员是如何思考的
1、思考框架
- Where are we ? (我们现在在哪里?)
- Where are we going ? (我们要到哪里去?)
- How can we get there ? (我们要如何到达那里?)
如果一个人能够清晰的回答出这三个问题,通常意味着他对要做的事有着清晰的认识。
2、思考原则
给出思考框架是为了让你明白为什么要提出问题,而具体问题要怎么问,就可以遵循下面这四个原则
以始为终
工作的一开始就确定好自己的目标。我们需要看到的是真正东西目标,而不是把别人交代给我们的工作当做目标。
举个 :当产品经理让我们开发一个功能的时候
我们需要了解真正的目标是什么,为什么要做这个功能。并且为了保证目标的有效性,我们还需要了解这个功能会给用户带来的价值。
任务分解
将大目标拆分成一个一个可行的执行任务,工作分解的越细致,我们便越能更好的掌控工作。
还是上面的:了解更多的细节,将功能拆分为不同的开发任务,并且列出每个任务的优先级。如果时间紧迫的话,需要和产品经理沟通优先实现哪些任务。
沟通反馈
为了疏通与其他人交互的渠道。一方面,我们保证信息能够准确无误的传达出去,减少因为理解偏差造成的工作疏漏;另一方面,也保证我们能够准确及时的接收外部信息,以免因为自我感觉良好,阻碍了进步。
如上:我们需要明确,自己是否真正的理解了产品经理提出的需求。所以,不断的问问题,确保自己的理解和产品经理交代的内容是一致的。同时我们也需要保证自己做出来的功能可以达到预期的目标。
自动化
将繁琐的工作通过自动化的方式交给机器执行。
最后还是那个:我们做的方案通常是一个自动化的方案,但是我们需要了解这个方案在没有自动化之前是怎么做的的。如果不做自动化,是否有其他的替换方案。
我们不是一个人孤独的在工作,而是与其他人在协作,想要做到高效工作,我们就要“抬起头”来,跳出写代码这件事情本身。
程序员解决的问题,大多不是程序问题。