如果你是一名 IT 新手,如何正确提问

您好!

在过去的几年里,我与刚刚开始 IT 职业生涯的人们一起工作了很多。 由于问题本身以及许多人提出问题的方式都很相似,因此我决定将我的经验和建议收集在一处。

很久以前我读过 文章 2004 年由 Eric Raymond 提出,并在他的职业生涯中始终严格遵循。 它相当大,并且更多地针对系统管理员。 我必须帮助那些往往根本没有开发经验的人成为后辈并开始他们的职业生涯。

对于那些已经成为或仍然梦想成为新手开发人员的人,我可以给出以下建议:

  • 自己研究问题
  • 先沟通目标,再陈述问题。
  • 写得干练、切题
  • 向地址提问并分享解决方案
  • 尊重别人的时间
  • 看得更宽

现在了解更多详情。

自己研究问题

您正在从书籍或课程中学习编程语言。 我们拿了一个示例代码,运行了它,但它崩溃了,并出现了一个您不清楚的错误。 根据书上的说法,它应该有效。 但你相信你的眼睛——这是行不通的。 有什么选择?

  • 决定你永远不会成为一名开发人员,因为全世界都在反对你,甚至工作示例也不起作用。 放弃学习;
  • 决定你永远不会成为一名开发人员,因为你太愚蠢或者你没有。 放弃学习;
  • 开始询问您认识的每个至少与 IT 相关的人,要求他们找出为什么 IT 不适合您。 发现很多关于自己的新事物,感到被冒犯。 放弃学习;

哪个选项是正确的? 他在这里:

要明白,你并不是独一无二的(无论你的母亲和祖母怎么说),IT 世界并不像他们邀请你参加课程和网络研讨会时所吹嘘的那么简单。

了解你并不是独一无二的,你就会意识到你的问题可能已经被数十、数百、数千人遇到过。 如果您是新手开发人员,那么您很容易不会注意到、安装或配置某些东西。 在您意识到自己无法独自解决问题并需要帮助之前,我建议您仔细阅读以下清单:

  • 确保问题是唯一的并且互联网上没有答案
  • 仔细研究问题的原因,而不是结果
  • 评估问题的可能解决方案及其优缺点
  • 考虑实现目标的替代方案
  • 考虑一下您可能会被问到的问题并提前准备好答案。

С 第一 关键是一切都很微不足道:如果错误的文本对您来说完全无法理解,请将其复制到 Google 中并仔细阅读链接中的文本。

第二:例如,如果您的代码因错误“我无法连接第三方库”而崩溃,那么问题不在您的代码中。 问题是你还没有安装一些你想要使用的库。 这意味着您需要寻找如何安装它,而不是如何修复代码。

第三 и 第四个 非常相似:如果这个库有问题而我只需要寻找另一个库怎么办? 如果我根本不使用第三方库,而是使用标准工具编写自己的代码怎么办?

第五 这一点让我们进入下一部分:想想你要接触的人可能会问你什么,并准备好答案。

先沟通目标,再陈述问题。

目标就是你想做的事情。 例如,编写一段代码,访问互联网并保存 10 张有趣的猫的图片。 问题是为什么您在控制台中看到错误,但没有看到 10 只有趣的猫。 不要以问题开始你的问题。 以目标开始,以问题结束。 如果您寻求帮助的人是一位经验丰富的开发人员并且了解很多,那么他可能能够为您提供更简单、更优雅的问题解决方案。 如果你已经选择了最简单和最优雅的,他会清楚地了解你想要做什么以及为什么要做什么,这将加快收到答案的速度。

好问题:

我想每天保存 10 只搞笑的猫咪,让我开怀大笑,延年益寿。为此,我编写了以下代码:[…]。我希望它能连接到 FTP 服务器。 伺服器 并从那里下载新图片。但是,当我启动它时,我看到了这个错误:[…] 即使我可以通过浏览器访问这个服务器。

快速响应:

你不应该使用这个库;很长一段时间以来没有人支持或开发它。 最好拿这个——我自己下载了猫的照片!

不好的问题:

您好,我的代码产生了以下错误[...],您知道可能出了什么问题吗?

显而易见的答案:

你好。 不,我不知道。

写得干练、切题

没有必要把一连串的想法倾注在一个人身上。 你求助的解决问题的人正忙于他自己的事情。 确保他很快明白你的问题是什么以及你想从他那里得到什么。 如果您有识字问题,请使用在线拼写和标点符号检查服务。 您可以在没有在线服务的情况下从邮件中删除垃圾邮件。 不倒水,不远方开始。 写得简短、简洁、切题。 提供例子。

糟糕的是:

- 嗨,进展如何)))我正在尝试简单地组合一个项目,但它对我不起作用,它由于某种原因崩溃了O_o,尽管看起来我做的一切都是正确的,请来) ))))控制台中实际上有一些对我来说难以理解的东西(((已经对了,我尝试了一切,但没有任何效果,啊啊(

好:

— 你好,我正在尝试启动一个项目,但出现了问题。 docker-compose up 命令后立即崩溃,这是启动日志和错误:[...] 你能告诉我如何解决它吗?

向地址提问并分享解决方案

您不应在发给特定人员的个人消息中提出问题,除非您被告知应该专门询问他。 最好写信给一群人,因为:

  • 每个人都忙着解决自己的问题。 在一般聊天或论坛上,某人花时间与您交谈的机会更高。
  • 一般聊天中的人知道如何帮助您的机会更高。
  • 您将其留给其他人来查找相同的问题并稍后回答。

看一下最后一点。 您是否已经知道应该尝试自己解决问题? 您是否已经使用过聊天/论坛/群组搜索,但没有找到任何提及您问题的内容? 好吧,那就问吧。

另一方面,也没有必要不必要地打扰别人。 如果可能,从您的邮件列表中删除任何无法帮助您的人。 一个人收到的消息越多,他阅读所有消息的可能性就越小。 不要让人们养成关闭警报或干脆忽略消息的习惯。

当然,您的经验对其他人可能有用。 通过发布答案或解决方案来节省您自己和他人的时间。 下一个新来者,如果他已经知道我们在这里谈论的内容,则根本不会打扰任何人 - 他会通过搜索找到您的解决方案。 为什么我说你可以节省自己的时间? 因为一年后你可能会遇到这个问题,并且不记得你是如何解决的。 搜索将再次拯救你。

尊重别人的时间

让您寻求帮助的人的生活尽可能轻松。

确保您发送的链接有效。 尝试以隐身模式打开它。 如果链接需要授权,您将看到访问错误。 例如,如果您将代码上传到私有存储库,或发送了一个只有您有权访问的 Google Drive 链接,那么某人将看到一个错误,他将不得不花时间通知您,然后等待您来设置访问权限。 确保对方立即明白您在说什么。

不要指望有人会记住你两天前问过的问题。 再次发送信息,提醒上下文。 没有人愿意通过信件来查找你手头上的东西。 如果您懒得复制信息以免人们浪费时间搜索,那么您就不需要帮助。

不要断章取义。 如果您发送带有错误的日志,显然您不仅需要包含错误本身,还需要包含导致错误的代码,以及错误的示例。
如果有解决您问题的既定流程,请遵循该流程。 如果已经有一篇包含分步操作方法的文章,则无需重新发明轮子。

你不应该试图同时通过不同的渠道(写信给 Slack、Skype、Telegram)从一个人那里得到答案 - 这会让对方感到不愉快。

没有必要一次给几个人写同样的信息,希望至少有人会回答你。 所有这些人都可以给你一个答案(很可能是一样的),但他们都会暂时从工作中分心。 使用群聊。

看得更宽

我们在这里讨论的所有内容也适用于 IT 领域之外。 在超市、汽车服务中心、在另一个国家度假、与朋友和亲戚交流时,请遵守这些规则。 向人们表明您珍惜他们的时间并且不想因为琐事打扰他们。 表明您花费了时间和精力尝试自己解决问题,但没有成功,并且您确实需要帮助。 怀着感激之情,人们会理解你的问题并帮助你解决它们。

来源: habr.com

为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster