論好文章和爛文章

頭圖.png

做者 | 許曉斌 來源 | 阿里巴巴雲原生公衆號程序員

寫做動機

咱們爲什麼寫做?對於許多技術同窗來講,寫做是一件比寫代碼困難許多的事情,和電腦相顧無言數小時,發現本身寫不出什麼像樣的東西來,着實不是一種很好的體驗。即使對於有些經驗的人來講,寫四千字質量尚可的文章,我估計也要花 6 小時以上的時間,這還不算平時素材積累的時間消耗。spring

這麼費事費力的事情,爲何要去作呢?我認爲此事有着極大的價值,這個價值分兩層,我暫且稱之爲表層價值和深層價值。編程

表層價值是極其功利的,例若有同窗想晉升,而晉升的一項指標是我的影響力,那麼寫文章就能提高我的影響力;例若有團隊 Team Leader 想招聘,那怎麼讓別人瞭解你及你的團隊呢,寫文章也是個不錯的方法;再有一些就是衝着上級或者利益相關方寫的文章,以相似項目彙報的方式寫的文章。表層價值的核心關注點其實並不在文章自己,而在於文章背後的人,做者對讀者的指望每每不在於讀者承認文章內容,也不指望讀者參與對內容的討論,而僅僅是指望讀者快速地承認做者這我的。網絡

只關注表層價值去寫文章,很是的本末倒置。就比如寫一篇討論 PM 2.5 的科普文章,若是你一上來就衝着推銷本身的空氣淨化器這個動機去寫,其惡臭很快會從字裏行間流露出來。架構

與表層價值相對的,我認爲任何一篇文章都應該從深層價值出發。這個所謂深層價值就是文章的內容,文章的觀點,文章須要儘量地客觀,要向學術真理的態度逼近。寫一篇文章是由於對一個問題有着本身的思考,而且去詳細瞭解了不少人的思考,發現了一些觀點的衝突,而且不會爲了政治正確去迎合別人的觀點;盡我所能把那些我認爲有價值的想法,總結下來,用清晰、有趣的方法傳播給他人;我能體會到寫做的熱情,這種熱情來自於思惟的樂趣,來自於觀點的碰撞。這個寫做的過程,本身的思惟有成長,經過大量的邏輯思考,個人思惟獲得提高;其次寫出來的文章,對讀者有着很高的價值,由於有價值的知識獲得了傳播。app

還有一種寫做動機就是想要傳播有價值的技術,例如 Pivatal 公司的佈道師 Josh Long 就寫了大量的技術介紹文章,也有不少精彩的演講。我曾問他爲何可以作的如此出色,以至於多年被評爲全球 Java 領域最有影響力的 20 人之一。他的回答是這樣的:編程語言

I think that people don’t trust technology, they trust people. So, while it is possible that the spring team could just publish good documentation and leave it for the world to find, it’s far more compelling when u feel u can ask questions of someone. And u can see that they’re having fun.I love Spring because it has made millions of lives easier. It makes me happy to think about its application, to see people happy with its possibilities.工具

一篇文章寫出來,是由於做者喜好一項技術,從心裏承認技術的價值,相信技術的潛力;仍是由於做者想兜售什麼東西。這二者動機的差別,稍微細心的讀者很快就能發現。固然,上述動機常常混合在一塊兒,可是若是寫做的主要動機都在表層,那麼基本上這樣的文章也就沒什麼價值了。性能

影響力

Josh 是 Java 領域在全世界有影響力的人,他經過演講,寫書,博客,影響着全世界數百萬的 Java 程序員,幫助了 Spring 等優秀的技術在全世界的推廣。我寫了一本關於 Maven 的書,這本書也得以賣書了幾萬冊,再加上盜版 PDF 的數量,那是影響了全國十多萬的 Java 程序員了,幫助了 Maven 這一技術在中國的推廣。我加入阿里 8 年多,在內部技術社區 ATA 發表了 60 多篇文章,累計的閱讀數大概也有五萬以上,我相信這些文章也給阿里的技術帶來了一些微小的正面改變。從這些角度看,寫優質的文章雖然耗費很大的精力,可是因爲其很是便於分享傳播,所以可以快速地影響許多人,並且這種影響可以持續的存在。學習

固然時代在改變,之前因爲網絡技術的限制,文字的傳播比較方便,視頻的製做及傳播成本比較高,所以演講的實際影響力相比文章和書籍會弱不少。而今天的網絡和視頻技術已經很是成熟,製做高質量的視頻也許更容易傳播了。

文章也好,視頻也好,影響力應該是被用來作正確的事情。今天控制影響力的不少流量入口,已然造成了一種新的權力,他們能控制什麼聲音容易被你們聽見,什麼畫面容易被你們看見,什麼文字容易被你們閱讀,什麼態度容易被你們感覺。權力的造成進而演變成了權力尋租,而後這個事情就每每和所謂「正確的事情」無關了。

經過影響力作正確的事情,我以爲最好的例子就是張瓅玶(花名:谷樸)的這兩篇文章了,第一篇是「API 設計最佳實踐的思考」,第二篇是「警戒複雜度困局:關於軟件複雜度的思考」。文章的內容都是工程師喜聞樂見的關於軟件設計的深度分析和思考,但我以爲在這個例子中,比內容更重要的是這兩篇文章中傳遞了一個很是重要的信息,那就是,「在阿里巴巴,即使是研究員級別,也是有人在仔仔細細認認真真看技術的,那些層級更低的卻早已脫離一線的,張口閉口都說技術只是細節的管理者,見鬼去吧。」(固然,這個信息只是我我的觀點,不能表明谷樸)

寫做方法

咱們的基礎教育彷佛在寫做的培養方面頗有問題,我印象中市面上常見的那些優秀做文選,每每都是注重形式和套路,每每缺少邏輯和觀點,用一個成語總結就是「無病呻吟」,什麼事情都要拔高抒情,以小見大,最終的結果就是假大空成災。你們總體的基礎已經薄弱了,而從事技術工做的同窗,每每在讀書的時候語文仍是個弱項,那麼結果就可想而知了。寫出來的東西,要邏輯邏輯不嚴密,要形式形式亂糟糟,基本的分段、標點、用詞更是問題頗多。好在寫做這個能力不是隻在學校才能訓練的,工做中也能夠訓練,並且明顯有章可循。

1. 閱讀量

鄭子穎(花名:南門)在他的文章中強調了「多看」的重要性,他用豆瓣記錄了年均 50 本以上的閱讀量,這至關於平均每週至少一本書,這是一個比較很是驚人的數字。我回顧了一下本身的豆瓣記錄,閱讀量大概是他的一半,也就是年均 25 本的樣子。閱讀的益處自沒必要說,我這裏想強調的一點是,不斷閱讀優質圖書能提高本身的文字鑑賞力,書讀多了,拿起一本翻翻目錄,其中找幾個段落讀一下,對於此書的質量,內心大概就有個譜了。本身寫做的時候,其實大多數時間也是在參考現有例子的結構和方法,若是你照着大量優秀的案例學習,那麼天然也不會差到哪裏去。

我在寫《Maven 實戰》以前,閱讀了大量的 O‘Reilly,Pragmatic Bookshelf,和 Manning 的計算機圖書,這些公司出版的圖書大都有很是高的質量保證,在介紹技術的時候,有清晰的由淺入深的結構,輔以大小適中的案例,以及不枯燥的理論分析。能夠說,我就是參考着那些優秀的書籍的寫做結構和寫做方法,寫了本身的書,最終個人書也獲得了總體不錯的評價。

除了寫做方法上的受益,閱讀更重要的是從內容受益。再舉例來講,我在「如何作好技術 TL」這篇文章中,提到了本身在作 TL 的這些年閱讀了好多本講管理的書籍,包括《贏》、《驅動力》、《門後的祕密》、《非暴力溝通》等等,這些書籍極大程度上幫助我補充了本身的思考脈絡。寫做即思考,而思考不是憑空出現的,思考須要原料,常見的原料就是咱們實際的工做經驗,然而一我的的體驗畢竟是很是有限的,而閱讀他人的體驗及思考,以謙卑的態度爲本身的思考提供更多原料,顯然是明智的作法。

「如何作好技術 TL」收到過一條頗有意思的評論,評論是這樣的:

我的認爲管理相關的書籍都是雞湯,沒必要看,若是須要靠着「教你怎麼作管理」的書才能作管理,那麼說明這我的不適合作管理。

這句話隱含的意思是,有些知識,例如管理的知識,是沒法傳承的,只能靠本身天性領悟。對於此評論,我只能說無知者無畏了,咱們寫文章必不可持有這種心態,即使本身的想法有多麼獨特、多麼原創,也必定不能自建藩籬,坐井觀天。

2. 素材

我最近一年一直在作雲原生相關的工做,期間我一直在思考,到底什麼纔是雲原生架構,目前行業裏對這個詞有很是多的解釋,可是全部這些解釋都無法給讓我滿意,它們都過於偏重技術和雲廠商的視角,而缺少應用架構的視角。對於這個情況,我想基於過去一年,以及將來的相關工做,對雲原生架構這個概念寫一些東西,對其概念作一些補充闡述,幫助你們更好的使用技術,文章還沒寫出來,可是動機就這樣造成了。

有了這個動機,再結合我本身我的的一些興趣,過去一年我一直在積累素材,這些素材很是有意思。例如,我直接深刻參與了國際化中臺和考拉的項目,他們的架構基於雲原生的技術,以及許多阿里雲的產品,作了很是大的升級;我也詳細瞭解了菜鳥如何在雲上構建平臺服務他的合做方公司;學習瞭解釘釘、IoT 這些自己在公有云上售賣服務的部門,自身是如何在雲上架構。我經過 IM,電話或者面對面的方式和相關的同窗溝通,他們都很是友好地知無不言,而後我整理相關的材料,再從中分析相同的模式。人腦很是喜歡模式識別的刺激,我在作這些事情的過程當中也是樂在其中。除了實際的案例,行業資深人員的觀點也是我平時收集素材的來源,例如林昊(花名:畢玄)最近寫了一篇名爲「雲原生的進一步具象化」的文章,他們的文章一般不會人云亦云,仔細閱讀會發現一些比較原創的觀點。

除了上述和目標主題關聯度很是大的素材外,我還發現跨學科的閱讀也每每會給本身帶來意向不到的收穫。仍是以雲原生爲例,雖然我在這個領域工做,可是最近一兩年我一直在斷斷續續的閱讀一些經濟學的書籍,包括曼昆的《經濟學原理》等(我估計好多人買了這套書了,可是真正認真讀完的非專業人士仍是比較少的)。在學習經濟學的思惟方式時,我就想從經濟學的視角去解釋雲原生這個事情,本來自建的技術基礎設施,在雲的時代在逐漸演變的基於雲的基礎設施,這背後的選擇對於業務來講,從經濟學的角度應該怎樣去分析?自建的成本和效用是什麼?購買的成本和效用是什麼?將複雜的業務技術架構拆分紅一層一層以後,或許能夠逐層分析,在每一層作一個從經濟學角度最優的選擇。

3. 思惟導圖

我最先了解思惟導圖是由於讀了「Pragmatic Thinking and Learning」這本書,書中介紹思惟導圖的核心用途是把一個主題相關的全部內容,不管重要次要,都在一個圖中寫出來,那些不斷拓展延伸的線,不是爲了構成一個清晰的結構,而是爲了給大腦顯示什麼地方思惟能夠進一步拓展。所以畫思惟導圖的方式應該是儘可能開放自由,目標是把主題相關的內容所有展示出來,思惟導圖的目的不是創建清晰的邏輯結構。所以,當我看到不少畫的思惟導圖其實是一個目錄的時候,我以爲他們基本都用錯了。

寫文章(作演講也是相似的),都是一個先開放後收斂的過程,在前期不斷積累素材,使用思惟導圖拓展思惟,創建材料的關聯,就是開放的階段。這個階段中能夠適當讓邏輯思惟退到幕後,把目光打開,不要過多評價(創建結構,分主次其實就是一種評價),用一種相似空杯的心態去傾聽和觀察現實世界及他人想法。我在作演講或者作文章以前,總會先找個安靜的地方,準備好咖啡,打開 MindNode,或者直接找拿出 A4 白紙和筆,給本身半小時到一小時的時間,把主題相關的思惟導圖畫一畫。安靜免打擾的環境、沒有時間的壓力、富有精力的大腦,這些條件放在一塊兒,纔可以讓本身從手頭事務的聚焦中移開,讓大腦中平時得不到關注的意識浮現出來,而後落到紙上。

4. 結構

將大量的材料胡亂堆砌在一塊兒做成文章天然是不行的,做品必然要有一個清晰的結果。在建築中,咱們耳熟能詳的有古希臘建築的柱式結構,也有哥特式建築以尖拱券、肋拱、飛扶壁等要素爲核心的結構;在程序中,常見的 MVC、分層、微內核等模式也是清晰的結構。文章的結構能幫助做者把本身的觀點清晰地表達,引導讀者在清晰的路徑中閱讀。在有了思惟導圖以後,我一般會從那些紛繁複雜的材料中提取出一個最合適的結構,而後再基於這個結構組織材料。

寫技術文章仍是有一些常見的結構的,如下是幾種範式:

  • 解決問題型結構。這種範式一般圍繞解決一個具體問題出發,常見邏輯是:背景介紹 -> 提出問題 -> 討論解決問題的思路 -> 解決問題 -> 價值總結。這種結構多是工程師最熟悉的了,由於你們都擅於解決具體問題。
  • 知識介紹型結構。這種範式一般用於新技術的介紹,常見邏輯是:行業背景 -> 技術提出 -> 簡單 Demo -> Core Conecpts -> 概念深刻及 Demo (1-N次)-> 前景分析。你們平時看到的不少技術介紹文章一般使用的是這樣的結構,這樣的結構的好處是能夠由淺入深地介紹新技術和新概念。
  • 觀點輸出型結構。這種範式相較於前面的兩種會更有挑戰,常見的邏輯是:整體觀點 -> 子觀點 1 -> 子觀點 1 闡述 -> 子觀點 2 -> 子觀點 2 闡述 … -> 總結。這種結構的文章寫好了力度是很是強的,可是寫起來很是有挑戰,由於觀點的闡述須要豐富的素材以及嚴密的邏輯推導,稍有不慎就有胡扯之嫌。

固然,咱們在寫做的時候沒必要拘泥於這些範式,也能夠琢磨本身的範式,但不論何種範式,背後老是存在一個有邏輯關係的結構的。有一本書叫「金字塔原理」,我聽到不少人推崇(尤爲是在績效季的時候),我看了下介紹和評價,講的就是如何用高效地方式讓對方理解你,我沒讀過這本書,但應該就是講行文的結構和邏輯的,有興趣的同窗能夠買來看看。

5. 觀點

不是全部的文章都有觀點的,例如你寫文章總結本身如何解決一個性能問題,不必定須要有觀點;介紹一項技術,如 Rust,不是非要表達觀點。可是可以表達本身觀點的文章一般會更有吸引力,例如解決性能問題的時候強調理解排隊論的重要性,這就是一個觀點,容易讓人印象深入;介紹 Rust 的時候,斷言其在性能敏感的場景將來會佔據統治地位,也更容易讓這門技術吸引人的目光。固然,觀點是須要論證的,其堅固性和你論證的投入度成正比,邏輯推導、數據支撐、案例分析都是很是好的論證手段。

咱們也看到有一些文章滿篇觀點,但基本都是引用,一會是喬布斯,一會是張小龍,一會是馬雲等等;固然,更常見的是引用公司高管的話,誰誰誰在何時說過什麼等等,而後用這些內容來支持本身的材料。我以爲偶有引用無傷大雅,老是引用就只能說明本身沒有觀點,或者觀點無力,須要強力給本身支撐。

更有勇氣,能體現本身素材豐富,思考深度的觀點,反而是那些勇於說出皇帝的新衣的文字。技術文章應該是具有科學精神的,科學是基於對過去不斷的 say no 發展出來的,技術文章也應該勇於表達 say no 的觀點,不用怕得罪人,咱們應該明白,正確的技術/架構/方案,應該是經得起質疑的,由於若是技術是錯誤的,即使當下環境沒人敢質疑,時間長了,現實會讓錯誤須要付出的代價呈指數倍上升。所以,相比於通篇正確的廢話,勇於對現狀 say no 並提出本身反面觀點的文章,更值得推崇。

6. 故事

嚴格來講,給本身的內容添油加醋的整故事,對於邏輯論證沒有任何幫助。然而要讓本身的文章/演講有吸引力,故事的元素是必不可少的。人類進化到今天,大腦對邏輯的反應是很是慢的,並且須要通過訓練後才能理解邏輯,可是對於故事的反應,三四歲的小孩就有,人類早期流傳下來的精神,例如希臘神話和聖經,都充滿了精彩的故事。直至今天,不管公司內網,仍是微博,你們對吃瓜的熱情之高,豈是邏輯論證能點燃的。故事很容易引發人的共情,讓人設身處地聯想,而後大腦皮層就容易嗨了,神經網絡被激活,各類激素開始分泌……

這是人類生理的現實,因此咱們寫文章的時候要尊重(利用)這個現實。要講一下程序性能很差致使身邊的同事半夜 3:20 分電話驚醒了;出了故障致使超市收銀機被砸了,介紹新編程語言的時候要秀一段代碼,順便搞個對比說 Java 不行;介紹 Mesh 的時候就要說你原來升級中間件得這麼幹這麼幹,之後不須要了,等等……

我介紹本身「Maven 實戰」的時候喜歡講一個真實的故事:

在我書出版的前些年,由於虛榮心做祟,我特別喜歡去各大售書的網站刷評論,什麼亞馬遜,豆瓣,京東啊等等,一條條的去看,看到 5 星評價就喜滋滋,看到低1星或者 2 星的就很生氣,固然,大部分評價都是很正面的。直到有一天,我在京東刷到一條 1 星的評論,我就一邊難過一邊打開評論,但讀罷我就樂了,那個讀者打 1 星的緣由是這樣的「讓大家老闆泡奶茶,差評!」原來是由於那陣子劉強東奶茶爆出了戀愛的新聞,傷了這位讀者的心了,而後我就躺槍了。

這個故事其實和我在書中介紹的技術沒有任何關係,可是我卻喜歡講這個故事,由於他會讓聽衆會心一笑,而後記住我寫過一本關於 Maven 的書。

爛文章是怎樣的

講了那麼多怎麼寫好文章的方法,我也想說一下爛文章都長什麼樣。所謂爛文章,就是指那些對於讀者來講,幾乎沒什麼任何正面價值的文章,更有甚之,不只沒有正面價值,還存在負面價值。如下我稍做總結:

  • 我的筆記成文章。本身解決了一個技術問題,作了一些記錄,而後寫成文章發出來了。這類文章充其量只能稱之爲素材,由於沒有總結提煉,並且徹底是從一我的的視角出發寫的,讀者讀起來,不只感受不到體系,有價值的部分更一般是少的可憐。
  • PPT 貼成文章。做者在某個地方做了一次演講,由於想傳播給更多的人,所以就用貼圖的方式整理成了文章,好心點的,在圖片的中間在補充一些解釋文字,就這麼成文了。我先假設這個演講自己的質量是不錯的,有邏輯,有觀點,有案例,可是即使如此,這樣的所謂文章,其閱讀體驗也是很是差的。在演講中,PPT 是輔助「講」的,若是隻有 PPT,那真正核心的「講」的部分就丟失了,所以,更負責任的作法,應該是演講者用豐富的文字把所講,用清晰的方式寫下來,而不只僅是那幾頁乾癟的 PPT。
  • 用宣傳戰功的方式寫文章。組織內部此類文章家常便飯,標題會帶着不少常見的如「總結」,「年度」,「體系」,「反思」,「展望」等詞,一般這類文章既沒有體系,也罕見反思,其主要的目的是邀功。基本套路就是,寫在在一年中作了不少事情,結果很是好,配幾個看起來差很少的框框「架構」圖,再直白點,就要上合影了。這類文章後面一般會有不少贊,但基本沒有討論,討論個啥嘛?做者來邀功了,莫非你說他作的很差得罪人?從知識傳播,促進思考的角度來看,這類文章價值幾乎爲零。
  • 各種貼圖成文章。相比用 PPT 貼圖,還有用各類其餘圖貼成文章的,思惟導圖直接貼,設計圖直接貼,流程圖直接貼,監控圖直接貼,一頓看下來就是沒見幾行字。好的圖,的確是一圖勝千言,可是那也僅僅應該是點睛之筆採用,若是篇所謂文章全是圖,就徹底看不出重點,也看不到體系。文字是很是有力量的,文字能夠把讀者拉入到做者的思考體系中,用邏輯和修辭去引導讀者的思考。或概括,或推導,讓本來隱蔽的知識展示;或雄辯,或幽默,讓做者的觀點閃光。寫做應該充分發揮文字的力量,不是隻有圖纔有架構,不是隻有圖才能體現思考,相反,圖每每由於其不精確性,成爲不少人掩飾其思考不足的工具。
  • 正確的廢話成文章。官話套話,動輒抽象到極高的高度,從公司戰略提及,洋洋灑灑一頓分析,滿眼就是最近被抨擊得厲害的那類字眼,什麼「頂層設計」,「底層邏輯」,「賦能」,「抓手」之類;若是找不到清晰的邏輯,就來個 1.0,2.0,3.0,4.0,5.0,6.0,反正主版本號加 1 就是比前面牛逼了,至於爲何小版本號歷來沒人用,不知道,反正 N.0 就對了,直接 N 是不行的,直接 N.0.0 也是不行的。讀罷這類文章你說不清楚哪裏是錯的,你惟一明白的就是這文章啥價值都沒有,你又浪費了幾分鐘生命。
相關文章
相關標籤/搜索