開發與維運

寫作的意義

這半年時間,我沒有發佈博客,不過積累了不少話題,也有一些未完成的文章,但是,我意識到,寫什麼內容其實並不重要,重要的是寫作本身。

我的個人博客(https://kiwenlau.com)已經寫了接近5年了,一共185篇,接近20萬字,除去翻譯和產品博客,大概也有10萬字。寫得不算太多,也不算少。所以,對於寫作這件事,我還是有一些感悟的。

寫作是一件具有長期價值的事情,這一點類似於健身與讀書。

最重要的職業技能

當我和導師討論要不要讀博的時候,他沒有去強調學術研究以及博士學位本身的價值,而提到了一點:

讀博可以訓練寫作能力,這一點對於職業生涯是非常關鍵的。

導師對於寫作確實要求非常嚴謹,他會逐字逐句地批閱我的論文,認真檢查各種細節,比如標點、錯別字、引用資料、行文邏輯等。這的確幫助我提高了寫作能力,養成了更加嚴謹的寫作習慣。我在寫博客的時候,也會和寫論文一樣認真閱讀引用資料,並把引用資料列在文章後面。

工作幾年之後,我才真正理解導師說的話。寫作確實是最重要的職業技能之一。

作為程序員,我們最重要的事情大概是寫代碼,寫足夠Clean的代碼。當然,寫Clean Code這一點大部分人是做不到的,這是另外一個話題。如果代碼寫得好的話,已經很不錯了,不過,想要進一步突破的話,還需要足夠強的寫作能力。

程序員並不是整天都在寫代碼,仔細想想,其實寫文字的事情也並不少,我們要寫comment,寫commit,寫readme,寫開發方案,寫技術文檔,寫內部技術博客,寫日報,寫週報,寫會議記錄,寫述職報告等等。很多人並不會把與技術強相關的內容(比如comment、commit、readme、技術方案、技術文檔)當做寫作,所以就放飛自我了:

  • comment和commit隨便寫,沒人看得懂,自己都看不懂。
  • readme一般不寫,大部分都是腳手架生成的內容,誰也不知道這個項目最基本的信息,幹什麼的?有PRD、設計稿、API文檔鏈接麼?有啥要點?有重要的參考資料嗎?
  • 開發方案不存在的,需求看起來挺簡單的,上來就是擼代碼,遇到問題再說,大不了推倒重來。
  • 技術文檔不寫,想用的話自己看代碼啊,很簡單的,或者勉強寫一點文檔,改天自己也得看代碼才知道是咋回事。

從短期來看,這些東西不寫或者隨便寫貌似不影響寫代碼,甚至還可以“提高效率”,這也是大部分人的藉口。但是,從長遠來看,對自己、對同事、對職業生涯都是一種嚴重的傷害。當我們正在做一個項目時候,有些簡單的信息確實很容易查到的,但是用不了多久,就需要花很多時間去查詢,所以很多時候都是在坑自己,當然有時也會坑別人尤其是新人。坑的人多了,會給大家一種不靠譜的感覺,職業發展也是非常有限的。

寫作能力強的人,理解寫下來的重要性,也知道要寫什麼,還懂得怎麼寫,對文字型的工作會更加認真,做事會靠譜很多,大家都喜歡和他共事,潛力當然大。

有個朋友曾經和我調侃:

善於寫作的程序員前途無量。

這句話有點誇張,不過也算是從一個很有意思的角度總結了互聯網行業,雖然程序員被莫名其妙地黑得很慘,但是國內外的互聯網大佬大部分都是程序員,他們的寫作能力都還不錯,如果讀過一些互聯網大佬比如雷軍、張一鳴等人的文章的話,應該可以體會到這一點。

最有效的學習方式

寫作大概是最有效的學習方式之一了。哪怕寫一個再小的話題,也可以發現自己一些不知道的或者忘掉的知識點。如果寫長篇博客的話,較真起來大概要認真閱讀數十篇博客,有時還需要翻書或者看Paper,因為很可能會觸及最底層的知識點,這個時候我們才能真正認識到自己的“無知”。

  • 當我在寫《Chrome是如何成功的?》的時候,我瞭解了Sundar Pichai是如何成為谷歌CEO的,理解了Chrome的產品哲學,即Speed, Security, Stability以及Simplicity(絕大多數產品都做不到);
  • 當我在寫《V8引擎是如何工作的?》的時候,我理解了JS是如何執行的,也明白了處於編程語言鄙視鏈底端的JS為什麼可以在質疑聲中迅速崛起(V8引擎功不可沒);
  • 當我在寫《JavaScript黑客是這樣竊取比特幣的》的時候,我學到一些混淆代碼的技巧,也發現了所謂Vue被攻擊是不存在的(不要輕信標題黨,他們沒用去看代碼);
  • 當我在寫《重新思考單元測試》的時候,我重新梳理了單元測試的重要意義,理解了了應該如何把握單元測試的粒度;

這就是所謂的費曼學習法,通過輸出倒逼輸入。這裡所說的輸入,有3層含義:

  • 梳理知識體系

寫作可以幫助我們把零散的知識系統性地整理出來,一方面可以加深印象,另一方面可以作為備忘,隨時查閱。我偶爾會翻閱自己寫的博客,很多知識點細節是很容易忘掉的。如果可以將一個話題寫一個系列的博客,則這樣的收穫會更加明顯,碎片化的知識經過梳理之後,會成為具有完整邏輯的知識體系。做得更好一點,是可以寫書的,我想這是很多寫作者最美好的追求。

  • 發現知識盲點

這大概是寫作過程中最頭疼也最有收穫的一點了吧,每一個專業術語背後都可能有一個平時忽略的知識點。如果不搞清楚的話,我們會不知如何下筆。用一些寫作技巧一筆帶過,或者摘錄他人的文字當然可以,但是這樣是對自己的不負責任,也是對讀者不負責任。對於不知道的東西,要麼不寫,要寫的話就靜下心來弄清楚,收穫很多。如果每次寫文章的時候,我們都可以多花點時間去研究那些不知道的東西,積累的知識也是相當可觀的。聽喬布斯的話,對未知的世界保持好奇心:

Stay foolish, Stay hungury. -- Steve Jobs

  • 鍛鍊思考能力

對於一個知識點,瞭解What是不夠的,還應該理解Why,而寫作的過程就是不斷給自己提問的過程,當我們自己可以輕鬆回答這些問題的時候,寫起來會順暢很多,如果不懂裝懂,最後寫出來的文章也沒有太大的價值。其實,很多問題並沒有標準答案,因為場景不同,需要我自己獨立去思考,形成自己的答案,用以指導自己的行為。正如我寫這篇文章,更多地是給自己回答問題,為什麼要堅持寫作?寫作的意義是什麼?如果我沒有很好的答案的話,我可能很難堅持下去。每一個獨立的問題想清楚之後,還需要再將離散的片段按照一定的邏輯清晰地組織清楚,這很考驗結構化的思考能力。

最佳的個人品牌

博客寫得好,有讀者,有粉絲,有流量,也算是“網紅”吧。網紅這個詞有些負面,感覺像是靠一些膚淺甚至不堪的東西牟利,比如標題黨、追熱點、洗稿、盜圖等,所以我傾向於用“個人品牌”這個詞。

不過,網紅和個人品牌,在有一點上是殊途同歸的,它們都意味著流量,而流量是可以直接或者變現的。互聯網從PC時代,到移動時代,再到物聯網時代,有一個公式是恆久不變的:

流量 = 錢

大概創業過的人,對這一點會有更加深刻的理解。為什麼有的人做手機和說相聲似的,還是很多人買單,因為他是網紅,他有流量。

但是,網紅和個人品牌還是有本質區別的,前者是為了快速變現,而後者看重的是長期價值。就寫作這件事情而言,如果真的要打造個人品牌的話,應該更加珍惜自己的文字,不要為了流量去寫作,要為了個人品牌去寫作,寫一些有價值、有誠意的東西。真正有價值的流量是靠優質的內容帶來的,粗製濫造的內容是在貶低自己的品牌。

創作優質內容的門檻並沒有那麼高,在前端領域,幾乎所有人都看過阮一峰的博客,而他的博客都是非常淺顯易懂的,很多博客篇幅也挺短的。不過,他的博客確實很有用,可以幫助我們解決開發過程中的一些實際問題。

強調寫作質量,並不意味著必須寫深刻的內容或者長篇大論,寫簡單的內容也可以,如果可以寫得足夠清楚,而簡單的內容其實受眾更廣。

也正是因為阮一峰的博客比較簡單了,有一些人會吐槽,似乎自己也能寫,這就有點不自量力了。阮一峰的博客已經寫了17年了,現在每月的PV是210萬。我估算了一下,阮一峰博客每年的廣告收入大概是20萬,那些吐槽的人能做得到嗎?至少我還做不到。

如果可以靠寫作直接變現,當然不錯,不過這其實很難做到,需要很長時間積累。知名技術博客酷殼的博主在某個知識付費平臺做了一個課程,估計賣了好幾百萬,羨慕吧?其實他的博客也寫了16年了,而且內容相對要複雜很多。

對於我們這種還沒寫幾年的業餘寫作者而言,不要對直接變現抱有太多期待,不現實,也沒有這個必要,寫作只是業餘愛好,副業都遠遠談不上。

個人品牌雖然很難直接快速地變現,但是間接的好處還是挺多的,當然前提是創作優質的內容:

  • 找工作:博客寫得不錯的人找工作更簡單,博客可以看出一個人解決問題的思路,以及知識的深度與廣度,對面試是加分的;
  • 工作邀請:博客寫得非常優秀的人,其實不用找工作,會有人找你的,我招人的時候也是通過博客去找人;我自己也經常收到讀者的工作邀請,這好像是在自誇了:)
  • 招聘:文章裡放一些團隊招聘信息還是有效果的,因為讀者大多都是同行;
  • 影響力:通過樹立個人品牌,打造行業內的影響力,認識更多優秀的同行;
  • 創業:如果你的博客流量還可以,是可以為產品導流的,我創業的時候就是這麼幹的,效果挺明顯的;

結尾

如果真的有人因為我的博客,開始認真寫作了,那就太好了。當然,這一點基本上是做不到的。所以,這篇文章是寫給自己以及所有業餘作者,我想大家會有一些共鳴,要相信寫作這件事,繼續堅持,不要在意短期的收益,做一個長期主義者。

Most people overestimate what they can do in one year and underestimate what they can do in ten years. -- Bill Gates.

招聘

阿里巴巴業務平臺事業部招聘P6及以上前端大佬,參與最前沿的阿里前端生態系統,一起探索數據中臺技術,擁抱未來,內推地址:[email protected]

Leave a Reply

Your email address will not be published. Required fields are marked *