从 2017 年以来,我处理了大量的技术提问。尤其是 Flask 书出版后,更多的提问从各个渠道向我涌来。有时,我甚至觉得自己就像是一个在各个平台开了很多工单的客服。对于提问者来说,你只是在向某人提个问题;而对我来说,则是今天又多了一个要处理的提问。这段时间经常是一天中的一半时间都在处理提问。这不是个好现象,也该是改变的时候了。我并没有成为全职答题家的想法,我也需要时间学习新技术、休息、工作挣钱(虽然还没有工作……)。
为了回归正常的生活,我做了一个决定:从现在开始,所有通过电子邮件、微信、QQ(及群内@我)、Telegram(及群组内@我)、Twitter、知乎私信、文章评论(和文章本身无关的提问)、博客留言板、豆邮等渠道发来的技术提问我可能不会回复。(从明天起,做一个冷漠的人……)
除了书籍勘误以外,所有的技术问题,如果自己搜索相关信息并尝试后仍然无法解决,请在 HelloFlask 论坛发帖子提出(发帖前请阅读论坛帮助了解提问规则),我有时间会看,但不一定回复。(如果因为网络问题无法访问 HelloFlask 论坛,那就在 GitHub 上的 镜像仓库创建 issue)
有两个原因促使我做出这个决定:
1. 处理糟糕的提问浪费了大量的时间和精力。在这些提问里,除了少部分给我带来一些启发外,大部分都是一些简单的马虎问题,比如依赖没有安装、虚拟环境没有激活、环境变量没有设置、函数名写错、语法错误等等。大部分提问都是寥寥几句,既没有相关代码,也没有完整的错误回溯信息或命令行输出。所有相关内容都需要你一句一句的追问,看到新提供的一小块截图,你还要再次追问没截到的那部分内容。而且,因为大多数提问者热衷于用截图提供信息,如果你想在网上搜索相关内容,或是执行他的代码进行测试,还得手动把截图里的内容打出来。
还有些干脆是 XY 问题:
- 有人遇到了问题 X。
- 他觉得问题 Y 可能是解决问题 X 的方法。
- 于是他去问别人问题 Y 怎么解决。
- 别人费劲力气浪费了大量时间教他处理问题 Y 后,才发现他只是想处理问题 X,而问题 X 和问题 Y 基本没什么关系。
举个简单的例子:
- 某个人买了一只鸡(这只鸡是公鸡,但是他不知道),发现他的鸡不下蛋。因为他不知道他的鸡是公鸡,所有真正要解决的问题 X 是“我的鸡是公鸡还是母鸡?”。
- 他错误的把问题 X 想成了问题 Y——”我的鸡得了不下蛋的病,应该怎么治?“
- 于是他上网发了一个帖子,求助问题 Y。
- 别人详细询问了鸡的健康状态,最近的饮食情况,居住环境等信息,并给出了各种治疗建议。在浪费了其他人大量时间后,他上传了鸡的照片……
除此之外,最让人崩溃的情况是这样的,在你像个侦探一样,进行了一系列追问,思考研究了半天之后,对方突然发过来“哦,我知道了,XXX 没有安装”。还有一些,在你认真思考,搜索了相关内容,最后给出回复之后却没有回音了。
2. 这些回答除了解决提问者的问题外,没有再产生更大的价值。因为大部分交流都被封闭在某个特定的程序内(一对一的交流无法被其他人看到,而 IM 群组里的消息检索起来非常麻烦),不能在互联网上搜索到,所以也无法帮到后续遇到同样问题的人。
更重要的是,IM 和 IM 群组(QQ 群、Telegram 群组、微信群)是非常糟糕的技术问题讨论工具,我甚至觉得 IM 只适合用来闲聊灌水。IM 本身的特性塑造了很多人的交流和思考方式,让人变得不会认真组织语言:喜欢发零散的多条信息,而不是一条长消息;面对多个人发来的多条回复时,没法专注思考其中的某一条。这些都让交流的效率变得非常低。在 IM 群组里投入任何有价值的信息都只会在短时间内发挥很少的价值,不久就会被扔到聊天记录里。而且在这些不支持代码高亮和预格式化的工具里交流技术问题是非常痛苦的体验。
对于这两个问题,最终的解决方案就是 HelloFlask 论坛。很早就想创建一个论坛,这些提问让我终于下定决心做这件事。一方面,论坛是最佳的技术问题讨论工具,论坛编辑器对代码的支持很好,每个问题作为单独的主题更方便讨论,而且可以被其他人方便的检索到。在此之前,我曾尝试将 GitHub Issue 作为问题讨论工具,但参与的人很少。有了论坛后,我就可以拒绝来自其他工具和网站的提问,让提问者到论坛发帖。另一方面,论坛可以吸引更多兴趣相投的朋友加入,大家可以一起讨论和解决问题,这样就不会让我一个人超负荷。
至于让提问者学会提问,还有很长的路要走。
辉哥,有个idea 一直想实现
等我以后赚钱了请你做CTO
好的,期待这一天早点来到 :p
在论坛热心的回答了几个帖子之后发现自己成了版主,一定是以前提问太多ID都熟了。
支持这种方式,因为以前(现在可能也有)也提过很多因为自己疏忽造成的问题,浪费了解答者和自己的时间。
哈哈,其实是经常见到你帮别人解决问题,所以就加了版主。