作为一枚程序员,我们天生就是来解决问题的。在你不知道你的问题之前,我帮不了你,Google 也不能帮你解决问题。
大概从去年开始吧,我在思考着提升软技能上的能力。对于问题来说,能力可以分为这么几种:
那么问题来了,当别人问你一个问题的时候,你会怎么去分析它呢?首先要对这个问题进行分类,因为很多问题是无解的。比如说,初学者问你:
很多时候,你只想要别人的肯定而已。
作为成长的一个方向,我开始去寻找一些咨询类的书籍,才了解咨询师可以分为好多种。比如说: 技术、解决方案咨询。我们需要有人来解决某个特定的问题,这个的问题是:已知的问题,但是找不到合适的解决方案。
常见的比如说,你需要一个团队转型方案,你需要有经验的人来帮你,以期降低相应的风险指数。
又比如说,我们知道我们遇到了问题,但是我们清晰问题出自哪里。
还有一些就是,我们不知道我们不知道,我们想预测一下『黑天鹅』。
简单的来说,就是『约哈里之窗』。
最后,还有一种情况是:出于政治目的,我们需要你来证明 B 方案是比 A 方案更好的。事实上,这种问题在我们的生活中更常见。我在心里已经有了答案了,我咨询你只是为了得到一个肯定,然后就可以实施这个方案。即使,你不肯定这个方案,我也会实施的——这就是『灰犀牛』,我们早就看到却又视而不见的危险。
(PS:不可预测的黑天鹅,可预测、可感知、可预防的灰犀牛,他们都是两种奇葩。)
也因此,很多时候,被提问的你就是那个背锅的大头。
当程序员遇到一个问题时:
这些方案已经足够的清晰了。你也在很多地方看到了如何去解决问题了,我只是又重复了一遍了。当我们去询问别人如何来解决一个问题时,需要有这么一些步骤:
作为一个程序员,首先你需要尝试自己去解决这个问题。我经常在 QQ、微信群里看到一些问题,明明就是自己搜索一下就能解决的问题,却还要去问别人。
现在,你遇到一个请求的参数没有发到后台?你会怎么做? 使用浏览器的 Network 工具,查看请求是否发出去了:
再进一步去看这个问题,那么你可能就解决了这个问题了。
当你已经尝试了多次,并失败了,那么你就可以寻找合适的人,合适的地方去提问,比如说:
向我们决定提问的时候,我们需要描述清楚我们的问题:即,我们需要在别人的脑子里能复现问题。我们需要描述一下当前遇到的问题:
如果是代码的话,请使用高亮、高亮、高亮的编辑器,或者截图。
总之,就是让被提问者有一个清晰的问题印象。
列出你所需要的解决方法,一一验证它。
绝大多数情况下,只有你才能解决你的问题。我只能教你方法,或者 Coach 你,才能帮你解决这个问题。
围观我的Github Idea墙, 也许,你会遇到心仪的项目