Overreacted

賦予它一個名字,他們會來

2019年3月25日 • ☕️ 4 min read

你發現了某些新事物。

你還沒有看過跟這個很像的解法。你嘗試著保持你謙卑的心和懷疑的態度。但你肚子裡的蝴蝶不願聽從(俚語:描述某人感到緊張、忐忑不安)。

你並不想得意忘形,但在心裡深處你已經知曉:

你正在發掘某件重要的東西。

這個想法變成了一個專案。第一個 commit 只有 500 行。但幾天過後,你把它建構成一個足夠用在真實世界的程式碼裡面的東西。幾個擁有共同想法的人加入你來精進它。你每天都學習了一些關於它的新東西。

你仍然感到懷疑但你不能假裝忽視它:

這個想法有翅膀。

你遇到了很多阻礙。他們要求你做些改變。奇怪的,這些改變只會讓原有的想法更堅固。通常,你感到你正在創造什麼。但這次,你感覺到你正在發現什麼好像已經存在的東西。你選擇了一個原則並且隨之得出結論。

目前為止,你確信:

這個想法值得被聽見。


如果你在一個官僚主義的公司工作,也許你會為了將它開源與法務組對抗。如果你是個自由工作者,也許你夜深時刻在完成客戶的工作後持續地改進它。也許你希望你是能夠藉由它獲得薪水的。但還沒有人知道你的專案。你希望有一天,他們會知曉。

你整理自己的情緒並準備好它第一次的發布。你寫了更多測試、建立持續整合 (CI)、編寫豐富的文件。你設計了一個漂亮的到達頁面。你已經準備好要將你的想法分享給全世界。

最後,到了推出日期。你在 GitHub 出版了這個專案。你發了推文且把它的到達頁面送到各個知名的開源新聞聚集網站。

git push origin master
npm publish

你對於聽到這個世界對你的想法有什麼意見感到焦慮。

也許他們愛它,也許他們討厭它。

你唯一知道的事情就是它值得被聽見。


恭喜!

你的專案上了某個受歡迎的新聞聚集網站的首頁熱門。社群裡某個能見度高的人發了與它相關的推文。他們說了什麼?

你的心沈了。

並不是人們不喜歡這個專案,你知道它有些權衡妥協並期待人們討論這些。但事情卻不是如此。

相反的,大部分的評論都跟你的想法無關


最熱門的留言串挑剔 README 裡範例程式碼的風格。它轉變為關於縮排的幾百條回覆的爭論和關於如何格式化程式語言的簡易歷史。那裡有關於 gofmt 和 Python 的強制性陳述。你試過 Prettier 嗎?

某些人提到開源專案不應該有漂亮的到達頁面因為它會造成誤導性的行銷。萬一有個資淺的開發者在還沒完全理解基礎以前深信於它怎麼辦?

在某個回覆裡,有人爭論到達頁面的設計很無聊。另外,它在 Firefox 是壞的。明顯的,這代表專案的作者不在乎開源網路。我們所熟知的網路死了嗎?現在是時候來了解一些賽局理論…

下一個回覆是一個關於抽象化的自然的通用觀察以及它們如何導致過多「樣板」(或換句話說:「奇蹟」)。最熱門的回覆解釋了一個人不應該把「簡單」和「容易」搞混。事實上,關於這件事,Rich Hickey 給了一個非常好的演講,你看過了嗎?

最後,為什麼我們需要套件?某些語言在內建的標準函式庫裡做得很好。 npm 是個錯誤嗎?leftpad 意外可能會再度發生。我們應該把 npm 建置在瀏覽器裡嗎?那那些標準呢?

困惑,你關起了分頁。


發生了什麼事?


可能是單純你的想法並不如你所想的有趣。這種事常發生。可能也是你的解釋對某個偶然造訪的人來說並不好。

然而,可能有其他原因造成你沒得到相關的回饋。

我們傾向於討論容易討論的事情。

普遍共享的經驗是容易討論的。這包含了像是程式碼的格式、口語化或是奇蹟、構造或是慣例、社群文化的差異、醜聞、技術面試、產業八卦、宏觀趨勢和設計觀點。對那些事情我們都有共同的詞彙。

我們也持續的類型比對。如果某些形式觸發了一個情感上的回應(無論它與這個呈現的想法有關或無關),我們容易將第一印象建築於它之上。利用關聯性來學習是極好且有價值的心理捷徑。然而,熟悉的風格可能掩蓋了新穎的事物。

如果你的想法真的是嶄新的,可能還沒有已經存在的共享詞彙來討倫它。

它所解決的問題可能已經根深蒂固到我們根本沒發現它。它是房裡的大象。我們不能討論我們不知其名的事物。


你如何為一個問題命名?

就跟人們自古以來的一樣。

藉由說故事。

賦予它一個名字,他們會來。