如果你是一名 IT 新手,如何正確提問

Привет!

在過去的幾年裡,我與剛開始 IT 職業生涯的人們一起工作過很多次。 由於問題本身以及許多人提出問題的方式都很相似,因此我決定將我的經驗和建議收集到一處。

很久以前我讀過 一篇文章 2004 年由 Eric Raymond 提出,並在他的職業生涯中始終嚴格遵循。 它相當大,並且更多地針對系統管理員。 我必須幫助那些往往根本沒有開發經驗的人成為後輩並開始他們的職業生涯。

對於那些已經成為或仍然夢想成為新手開發人員的人,我可以給出以下建議:

  • 自己研究問題
  • 先溝通目標,再陳述問題。
  • 寫得幹練、切題
  • 向地址提問並分享解決方案
  • 尊重別人的時間
  • 看得更遠

現在了解更多詳情。

自己研究問題

您正在從書籍或課程中學習程式語言。 我們拿了一個範例程式碼,運行了它,但它崩潰了,並出現了一個您不清楚的錯誤。 根據書上的說法,它應該有效。 但你相信你的眼睛——這是行不通的。 有什麼選擇?

  • 決定你永遠不會成為開發人員,因為全世界都在反對你,甚至工作範例也不起作用。 放棄學習;
  • 決定你永遠不會成為開發人員,因為你太愚蠢或你沒有。 放棄學習;
  • 開始詢問您認識的每個至少與 IT 相關的人,請他們找出為什麼 IT 不適合您。 發現很多關於自己的新事物,感到被冒犯。 放棄學習;

哪個選項才是正確的? 他在這裡:

要明白,你並不是獨一無二的(無論你的母親和祖母怎麼說),IT 世界並不像他們邀請你參加課程和網路研討會時所吹噓的那麼簡單。

了解你並不是獨一無二的,你就會意識到你的問題可能已經被數十、數百、數千人遇到過。 如果您是新手開發人員,那麼您很容易不會注意到、安裝或設定某些東西。 在您意識到自己無法獨自解決問題並需要幫助之前,我建議您仔細閱讀以下清單:

  • 確保問題是唯一的並且互聯網上沒有答案
  • 仔細研究問題的原因,而不是結果
  • 評估問題的可能解決方案及其優缺點
  • 考慮實現目標的替代方案
  • 考慮一下您可能會被問到的問題並提前準備好答案。

С 第一個 關鍵是一切都很微不足道:如果錯誤的文字對您來說完全無法理解,請將其複製到 Google 中並仔細閱讀連結中的文字。

第二:例如,如果您的程式碼因錯誤“我無法連接第三方庫”而崩潰,那麼問題不在您的程式碼中。 問題是你還沒有安裝一些你想要使用的函式庫。 這意味著您需要尋找如何安裝它,而不是如何修復程式碼。

第三 и 第四個 非常相似:如果這個庫有問題而我只需要尋找另一個庫怎麼辦? 如果我根本不使用第三方函式庫,而是使用標準工具編寫自己的程式碼怎麼辦?

第五 這一點讓我們進入下一部分:想想你要接觸的人可能會問你什麼,並準備好答案。

先溝通目標,再陳述問題。

目標就是你想做的事情。 例如,編寫一段程式碼,存取網路並保存 10 張有趣的貓的圖片。 問題是為什麼您在控制台中看到錯誤,但沒有看到 10 只有趣的貓。 不要以問題開始你的問題。 以目標開始,以問題結束。 如果您尋求幫助的人是一位經驗豐富的開發人員並且了解很多,那麼他可能能夠為您提供更簡單、更優雅的問題解決方案。 如果你已經選擇了最簡單和最優雅的,他會清楚地了解你想要做什麼以及為什麼要做什麼,這將加快收到答案的速度。

好問題:

我想每天拯救10隻有趣的貓,讓它們開懷大笑,延長我的生命。 為此,我編寫了以下程式碼:[...]。 我希望它能夠連接到 FTP 伺服器並從那裡下載新圖片。 然而,當我啟動它時,我看到了這個錯誤:[…]雖然我可以透過瀏覽器存取該伺服器。

快速響應:

你不應該使用這個函式庫;很長一段時間以來沒有人支持或開發它。 最好拿這個——我自己下載了貓的照片!

不好的問題:

您好,我的程式碼產生了以下錯誤[...],您知道可能出了什麼問題嗎?

顯而易見的答案:

你好。 不,我不知道。

寫得幹練、切題

沒有必要把一連串的想法傾注在一個人身上。 你求助的解決問題的人正忙於他自己的事情。 確保他很快就明白你的問題是什麼以及你想從他那裡得到什麼。 如果您有識字問題,請使用線上拼字和標點符號檢查服務。 您可以在沒有線上服務的情況下從郵件中刪除垃圾郵件。 不倒水,不遠方開始。 寫得簡短、簡潔、切題。 提供例子。

糟糕的是:

- 嗨,進展如何))))我正在嘗試簡單地組合一個項目,但它對我不起作用,它由於某種原因崩潰了O_o,儘管看起來我做的一切都是正確的,請來) ) )))控制台中實際上有一些對我來說難以理解的東西(((已經對了,我嘗試了一切,但沒有任何效果,啊啊(

美好的:

— 你好,我正在嘗試啟動一個項目,但出現了問題。 docker-compose up 指令後立即崩潰,這是啟動日誌和錯誤:[...] 你能告訴我如何解決它嗎?

向地址提問並分享解決方案

您不應在發給特定人員的個人訊息中提出問題,除非您被告知應該專門詢問他。 最好寫信給一群人,因為:

  • 每個人都忙著解決自己的問題。 在一般聊天或論壇上,某人花時間與您交談的機會更高。
  • 一般聊天中的人知道如何幫助您的機會更高。
  • 您將其留給其他人來查找相同的問題並稍後回答。

看一下最後一點。 您是否已經知道應該嘗試自己解決問題? 您是否已經使用過聊天/論壇/群組搜索,但沒有找到任何提及您問題的內容? 好吧,那就問吧。

另一方面,也沒有必要不必要地打擾別人。 如果可能,請從您的郵件清單中刪除任何無法為您提供幫助的人。 一個人收到的訊息越多,他閱讀所有訊息的可能性就越小。 不要讓人們養成關閉警報或乾脆忽略訊息的習慣。

當然,您的經驗對其他人可能有用。 透過發布答案或解決方案來節省您自己和他人的時間。 下一個新來者,如果他已經知道我們在這裡談論的內容,則根本不會打擾任何人 - 他會透過搜尋找到您的解決方案。 為什麼我說你可以節省自己的時間? 因為一年後你可能會遇到這個問題,並且不記得你是如何解決的。 搜索將再次拯救你。

尊重別人的時間

讓您尋求幫助的人的生活盡可能輕鬆。

確保您發送的連結有效。 嘗試以隱身模式開啟它。 如果連結需要授權,您將看到存取錯誤。 例如,如果您將程式碼上傳到私人儲存庫,或發送了一個只有您有權訪問的 Google Drive 鏈接,那麼某人將看到一個錯誤,他將不得不花時間通知您,然後等待您來設定訪問權限。 確保對方立即明白您在說什麼。

不要指望有人會記得你兩天前問過的問題。 再次發送訊息,提醒上下文。 沒有人願意透過信件來找出你手邊的東西。 如果您懶得複製資訊以免人們浪費時間搜索,那麼您就不需要幫助。

不要斷章取義。 如果您發送帶有錯誤的日誌,顯然您不僅需要包含錯誤本身,還需要包含導致錯誤的程式碼,以及錯誤的範例。
如果有解決您問題的既定流程,請遵循流程。 如果已經有一篇包含逐步操作方法的文章,則無需重新發​​明輪子。

你不應該試圖同時透過不同的管道(寫信給 Slack、Skype、Telegram)從一個人那裡得到答案 - 這會讓對方感到不愉快。

沒有必要一次給幾個人寫同樣的訊息,希望至少有人會回答你。 所有這些人都可以給你一個答案(很可能是一樣的),但他們都會暫時分心於自己的事情。 使用群聊。

看得更遠

我們在這裡討論的所有內容也適用於 IT 領域之外。 在超市、汽車服務中心、在另一個國家度假、與朋友和親戚交流時,請遵守這些規則。 向人們表明您珍惜他們的時間並且不想因為瑣事打擾他們。 表明您花了時間和精力嘗試自己解決問題,但沒有成功,並且您確實需要幫助。 懷著感激之情,人們會理解你的問題並幫助你解決它們。

來源: www.habr.com

添加評論