你的问题很荒谬,但无论如何都要问
人们会告诉你,没有所谓的坏问题,但事实并非如此。任何对你说“没有坏问题!”的人,都只是想让你感觉好一些,因为你刚刚问了一个糟糕的问题。当然,也有一些荒谬的问题——诀窍在于学会不为此感到尴尬。
提出一些基础的、(事后看来)显而易见的问题是学习过程中自然而然、不可避免的一部分——实际上每个学习新知识的人都会问这些问题。显而易见的问题的问题是,我们觉得它们会让我们看起来像个无知的人。其实不然,但我们无论如何都会有这种感觉,因为我们只是一群猴子,试图让石头上的闪光灯变幻,而石头是我们被骗去思考的。
当我们不敢在公开场合问这些问题时,我们就会求助于一个东西:谷歌,我们知道这个东西见过的荒谬问题比世界上任何其他东西都多,而且不会对我们做出任何评判。
对于开发者来说,谷歌是一款非常棒的工具。但它并非一款精准的工具——它无法理解我们的知识水平或背景,也无法理解我们遇到的问题的具体背景。它不知道我们已经尝试过什么,也不知道哪些方案对我们的代码库来说不可行。对于具体、微妙的问题,我们得到的只是泛泛而谈的结果。我们找到的信息并不总是相关的,甚至不一定准确。
有时候,我们只需要一个大概的答案,这很好——我们可以从 Stack Overflow 的帖子里找些代码,然后继续下一步。但我发现,更多的时候,它会把我带入一个无底洞,里面满是博客文章和论坛回复,这些回复的内容与我目前遇到的情况很相似,但实际上并非如此。有时我能从中找到一个可用的答案……有时我会被深深地吸引,发现自己已经花了几个小时追寻错误的线索,做了一些细微的(毫无帮助的)代码调整,修改了错误信息,却没有任何进展。
昨天我就遇到过这种情况——花了将近两个小时排查问题后,我终于彻底崩溃了,于是在 Slack 上联系了我的老板/导师,寻求帮助。我讨厌这样做,因为我迫切地想证明我知道自己在做什么,不需要任何人的帮助(剧透预警:我不需要,但我又需要)。我总是担心我的问题会浪费他的时间,而且我总是觉得,只要我再谷歌一下,答案就一定在互联网的某个地方。
但事情是这样的:他两分钟就解决了我的问题。真的。我查看 Slack 时间戳,发现我下午 4:18 给他发了第一条消息,4:20 他就告诉我哪里出错了,我又回到了正轨。我没有浪费他的时间,他直接看一眼我的代码就能告诉我哪里出错了。
显然,任何不到2分钟就能回答的问题可能都不是好问题——我的问题肯定不是。但你想知道比问题本身更糟糕的事情吗?我花了几个小时试图自己解决这个问题,最后还是崩溃了,去问别人。就是因为这个愚蠢的问题,我才成了一个糟糕的开发人员吗?不,不是。这是因为我是个初级开发人员,缺乏经验,导致我没有进行正确的搜索,因此找不到合适的资料。这根本不是我的智商问题。但正是因为害怕这个问题,我才没有向老板寻求帮助。
当我们迷失在谷歌的“兔子洞”里,拼命地试图自己解决问题时,这并不令人印象深刻,也算不上“自力更生”或任何我们说服自己相信的东西——这只是浪费时间。记住,我说的不是那种快速谷歌搜索,比如读几篇博客文章或看个10分钟的教程视频就能搞定——我说的是几个小时的摸索和撞墙。我的时间很宝贵,即使我“只是”一个初级开发人员。即使我无法说服你,你的时间也很宝贵,但你可能在一家为你的时间付钱的公司工作,如果你不把时间花在那些不太相关的JSFiddles上,他们会很感激的。
我本可以花一整天时间在谷歌上搜索,而且我不确定是否能找到我需要的答案。也许我可以找到一个完全不同的解决方法,或者最终偶然发现正确的信息……但我可以向你保证,这肯定比两分钟要长得多。
确实存在一些糟糕的问题,这是事实。但你知道吗——承认这一点,直接提出你的问题会更好,这样你就可以傻上五秒钟,然后继续前进,而不是浪费几个小时。无论你选择哪种方式,这个问题都不会变得不那么基本,所以你最好选择那种能让你少花点时间的选项。
问那些显而易见的问题。拥抱它们,爱它们。它们是你那些傻乎乎的孩子。努力自己解决问题固然很好,但帮自己一个忙,给自己设定一个时间限制。在手机上设个闹钟;如果过了30分钟你还没取得任何实质性进展,那就别再谷歌了,关掉你112个浏览器标签页,去找一个能提供经验和背景信息的人问问吧。
注:本文已编辑,删除了原文中歧视残疾人的语言
文章来源:https://dev.to/kathryngrayson/your-questions-are-dumb-ask-them-anyway-3cm6