最近,我的工作主要是研究國外的軟件技術,並出售給各個企業,也就是說我是一名軟件傳播者。所以,我開始思考「傳播者」(Evangelist,也稱之為「傳道者」)的真正意義。很多人對傳播者的工作有一定的誤解:軟件工程師的文化看不起傳播者,認為這些人不值得信賴。我相信他們有自己的理由。由於網上對傳播者的責備多於鼓勵,所以很遺憾並沒有社區論傳播者的工作技巧。所以,我的大部分工作原則都不是從其他地方學來的,而是根據自己的經驗總結得出的。在工作中,我需要說服人們採用邊緣、高風險、高回報的技術,尤其是一些正規的方法。雖然我背後沒有公司的支持,但我可以憑藉個人的聲望,有時人們看到我的名字就會閱讀一下本來會略過的資料。我的客戶群是開發人員,而不是 CTO、項目經理或其他職位。所有這些都會影響我對傳播者的看法,而且不同背景下的人可能會有完全不同的看法。由於我沒有做系統化地歸納整理,所以本文只闡述了一些個人的心得。

傳播者的目標
改變社區對某個事物的看法,比如產品、流程、語言,以及其他事物。你可以傳播敏捷開發、測試、Clojure、MongoDB、函數式編程、dev/urandom 的使用等等。我把傳播對象稱為主題。我所有的工作可大致分為兩類:人際關係和輸出。人際關係指的是與各個團隊和個人建立良好的關係;而輸出指的是為了改變某種文化而編寫的材料,包括演講、論文、項目、演示,尤其是「病毒式」的推文等。在本文中,我不打算討論人際關係,因為讓人們相信傳播者的工作有意義已經夠難了,我不想再吐槽了。所以,暫時假設傳播者的工作只是輸出。群體
想象一下每位開發人員都有一個能被說服的「臨界值」。這個臨界值的大小取決於各種不同的因素:問題領域、工作場所、個性、背景知識、過往經歷、人際關係等等。雖然我們可以預測一些因素的影響力,但總體的臨界值變化很大。某個人可能對某個話題非常感興趣,而同一團隊中的另一個人,即便從事相同的工作,興趣點也可能完全不同。這就導致面向個人的傳播工作效率非常低下。相較而言,面向某個開發人員群體的傳播就會很高效。注意,讓「臨界值」較低的人容易接受你的輸出,同時「臨界值」較高的人也不會反感你。雖然你不知道哪些人能聽進去你的話,但你知道肯定有人能聽進去,這就意味着你成功了。隨着時間的推移,你會越來越擅長向群體傳播技術。首先,你能發現一定的模式,了解哪些人能夠認真聆聽。主要是初級開發人員、企業 C# 開發人員、學者,還是其他人?這些模式可以作為日後的工作指導。其次,你會看到更多「臨界值」的影響。這個「臨界值」不是一個數字,而是多種不同因素相互作用的結果,而你可以直接影響其中一些因素。舉個例子,如果人們因為某個主題過於理論化而產生牴觸情緒,則你應該提供實際的示例和案例研究;如果是因為基礎設施很糟糕,那就努力提升;如果輸出不適合受眾所處的環境,則需要找到更實用的主題。信任
傳播者的核心是管理信任。要想說服人們,首先他們需要信任你。獲得信任的最佳方式就是成為值得信賴的人。這裡的信任主要分為兩大類:你的專業知識值得信賴:你對最佳方法的判斷是正確的。因此,要想成為一名優秀的傳播者,則必須掌握紮實的專業知識,同時還要誠實守信。後者就引入了傳播者的一大重要原則:客觀。客觀
雖然對於傳播者來說,保持客觀非常重要,但幾乎是不可能的。你的目標是推銷一款產品,又怎麼可能保持客觀呢?我們可以採用最直接的方式來緩和這個衝突。雖然我們無法客觀地對待我們推銷的產品,但我們可以挑選優質的產品(從客觀的角度來看)。我們的重心應該是決定推銷哪種產品,而不是如何推銷劣質的產品,這相當於詐騙。我開設 TLA+ 和 Alloy 的課程,是因為我堅信它們可以徹底改變我們的行業。如果我對它們失去信心,就不會再教授這些課程。保持客觀可能會限制主題的選擇,而且還會限制工作的環境。保持客觀意味着說真話:「這款工具不適合你的工作,其實你不需要這款工具。」 或者,「雖然一般來說這款工具很實用,但你的工作環境嚴重影響了它發揮的作用。」 甚至說:「我認為另一種方案更適合你。」不過,保持客觀仍然非常值得。首先,你始終可以堅守自己的原則。如果你內心無法認同某款產品,那麼就很難推銷了。其次,保持客觀可以讓你贏得更多信任。如果你願意實話實說:「這款工具不適合你」,那麼當你說「這款工具很適合你」的時候,人們就會相信你沒有說謊。你不僅應該了解主題的優點,而且還應該了解它的缺點,世上沒有免費的午餐,如果你說不出主題的問題,那麼就表明你不夠客觀。
質量
在輸出的時候,你常常需要權衡質量和數量。你喜歡哪種方式:編寫大量文章,還是更注重質量?雖然我們兩者都想要,但時間是有限的。對於剛剛建立博客的人來說,一般我都會建議保證發布的頻率。新手很容易陷入完美主義的陷阱,他們會一次又一次地修改,遲遲拿不出可以發布的文章。但質量是有底線的。有時,我也會看到另一個極端,有人堅持以量取勝。作為傳播者,你是某個主題的代表,你的輸出質量不僅會影響人們對你的看法,而且還會影響人們對主題的看法。最簡單、最重要的提高質量的方法是反覆修改,但這種方法也最痛苦。即使在第二天再修改一遍,也可以大幅提高輸出的質量。更好的做法是:根據草稿的反饋進行修改。我的大部分博文在發布之前都會修改 4~5 次。如果你的輸出是演講或視頻,那麼可能無法反覆修改。在修改輸出的時候,不要害怕刪減。刪除整個段落以達到簡潔的目的是完全沒問題的。當然,你也可以只拿出自己喜歡的三個段落,然後其餘的全部刪掉。甚至可以完全放棄某個作品,等過一段時間後再撿起來。或者乾脆拋到腦後。即便新稿中沒有採用舊稿中的任何一句話或一個字,但也是從舊稿的灰燼中升華出來的。多樣性
與其說這是一種原則,不如說是一種具體的技巧,雖然我不知道是否通用,但我認為這個話題值得討論。每隔幾年,Haskell 和 Clojure 社區之間就會有一場大戰。2018 年,因為 Rich Hickey 的一次演講《Maybe Not talk》,激怒了很多 Haskell 的粉絲,於是推特上掀起了一場激戰。從那以後,每當參加 Haskell Symposium、LambdaJam或者其他會議,只要有人發表 Haskell 的演講就必然會提及 Clojure。如果你的生活過多地圍繞一個主題,那麼就會與其他軟件脫節。這會導致你的信賴度下降,因為你缺乏基本的客觀知識。雖然你的意見都很真誠,但缺乏專業知識。因此,為了豐富我們的知識,除了傳播的主題之外,我們還需要其他方面的輸出。這可以表明你在軟件領域的涉獵很廣,而且也可以幫助你接觸到更廣泛的群體。據我所知,我的部分受眾是通過我撰寫的有關軟件發展歷史的文章找到我的。最後,多樣性還可以提高你的信賴度。擁有專業知識與人們相信你擁有專業知識是有區別的。並不是每個人都擅長評估一個新領域的專業知識,比如你的主題。他們如何判斷你是一個真正的專家,而不是在胡說八道呢?如果你能找出他們能夠理解且贊同的點,就會很有幫助。他們會告訴你應該在掌握主題 X 方面多努力,或者提出一些關於主題 Y 的質疑。雖然並不是完美的反饋,但總比沒有好。另外,掌握多種知識會讓自己很有成就感,提升自我。除了傳播的主題之外,你也可以發展自己的興趣愛好。你可以撰寫有關自己喜歡的技術的文章!一些想法
在寫這篇文章的時候,我注意到其實很多原則都是接受自我的方式。為了成為一名優秀的傳播者,首先你需要熱愛這個職業。如果你不滿意自己的工作,那麼無論自己擅長與否,都無法長期堅持下去。所以,在傳播軟件的過程中,你需要認可自己的身份和道德標準。就我而言,我希望自己誠實做人、保持客觀、目標明確。我能想象每個人的關注點不同,為了讓大家接受傳播者,他們也會提出不同的原則。參考鏈接:https://buttondown.email/hillelwayne/archive/principles-of-software-evangelism/
本文出自即將上市的《新程序員004》,對話世界級大師,報道中國IT行業創新創造!

☞騰訊被曝要求員工還清90萬房貸再離職;蘋果因不附帶充電器被判賠償消費者7000元;Git 2.6發布|極客頭條☞《程序員延壽指南》登GitHub熱榜,最多可增壽20年?☞對話PostgreSQL作者Bruce:「轉行」是為了更好地前行—點這裡↓↓↓記得關註標星哦~—