黃博文:敏捷地寫部落格

發表於2013-04-15

伯樂線上注:本文來自文章作者黃博文(@無敵北瓜)的投稿(原文連結)。

 

為什麼寫部落格

寫技術部落格對於程式設計師的提升是不可估量的。只要你堅持一段時間,你就會發現它給你帶來的各種積極的變化。思考問題更加深入了,更容易關注細節了,表達能力也增強了……

  1. 不斷的總結自己。程式設計師面對的世界是非常複雜的,未知領域也很多,在解決問題時第一次的方式並不一定是最完美的,只有通過不斷的總結,不斷的反思,才更容易抓住事物的本質。隨著程式設計師的水平提高,需要思考的問題就開始變的更深度,更抽象、更復雜。這個時候就會遇到瓶頸,而通過寫部落格的方式能將自己的經驗整理成型,形成一個完善的體系。
  2. 能夠認識到自己的進步。程式設計是枯燥乏味的,持續學習更難堅持。而寫部落格能激勵自己,讓自己看到自己的進步,並逐步建立信心。
  3. 加強記憶,方便回顧。對自己在平時的實踐中的收穫以部落格的方式發表出來,本來就是一種記憶的強化。失敗本身不能讓人進步,而對失敗的反思才能讓人進步。使用部落格記錄下這些反思,才能保證不會在同一個地方跌倒兩次。
  4. 強化發散思維,跳出區域性看問題。其實各種技術都有相似或想通的理論作支撐。這些如果只看別人部落格,只從google上搜素一些得到一些隻言片語是很難領悟出來的。而自己寫作的過程中隨著對自己思路的梳理,更容易提升看問題的高度,以觀全貌。
  5. 擴大個人影響力,獲取更多機會。程式設計師從業有些年頭以後,如果是喜歡技術的人,總會想與別人做些更深入、更高層次的交流,但畢竟水平越高,能進行這種交流的人就會越少、越分散。寫作、演講、著書立說,這都是讓自己進入一個更高水平的交流圈的方式。進入了這個對話環境,你才發現:原來還有那麼多可學、可發展的方向。很多人到了三十歲上下就開始惰怠、看不到發展方向,在我看來一個重要的原因就是眼界不開,沒有進入一個更高水平的交流生態。(這一點感謝@JeffXiong的總結)

寫部落格要端正心態

很多人之所有不寫部落格,有各種各樣的原因。有的說時間不夠,有的說自己的積累不夠,有的說沒有文采…..

其實寫部落格就像一項業餘愛好一樣,看似不是工作中的分內事,但卻更有助於自己的工作。

一個極端是怕寫的幼稚,不敢下筆,不敢面對別人的評價。部落格其實首先是寫給自己看的,如果自己能有所收穫,那就是值得的。

另一個極端是總想著不寫則已,一寫驚人。老想著自己的每篇部落格都能博來大家的大量關注。其實再牛逼的作家總有幾篇作品不盡如人意。但是沒經歷這些作品的歷練,是無法揣摩出更深的意境。更何況我們是普通人,只要寫出自己所感所想,虛心接收別人的意見、建議,就是巨大的進步。

 

敏捷地寫部落格

每個程式設計師都喜歡編碼,但不是每個程式設計師都喜歡寫部落格。如果我們將寫部落格的過程與敏捷流程一一對應起來,使用程式設計的技法來寫部落格,那麼能提起你的興趣嗎?

本人在寫部落格的過程中與敏捷手法結合起來,受益良多。

在一個敏捷團隊中,一個典型的使用者故事的宣告週期是這樣的。

敏捷地寫部落格

其實我們可以將一篇部落格看做一個使用者故事。你既是IM(迭代經理),又是BA(業務分析師),DEV(開發者),QA(質量保證),而閱讀你部落格的人就是你的產品的終端使用者。你的目標是讓你的產品大賣(有越來越多的人關注你的部落格)。

  1. 擴充你的Backlog。 建立backlog的要點就是隨時隨地的記錄你的idea。這有個一個很有趣的理論,大腦有兩個工作模式,線型模式(L型)和富模式(R型)。L型在工作的時候經常被用到,其按部就班,抑制了發散思維。而工作之餘大腦得到充分休息,更容易進入R型工作狀態,更容易得到好的idea,這時候要趕快的記錄下來。所以這就是我喜歡evernote原因之一:隨時隨地記錄idea。比如我的backlog裡面現在有很多打算完成的部落格,其中有《重構手法解析》一篇。《重構手法解析》這篇是我在上班騎自行車的路上想到的idea,並在到辦公室的第一件事就是把這個想法記下來,放到backlog中去。
  2. Analysis。 要點:先寫大綱,再進行補充完善。對於某個idea,大概確定要寫什麼,想表達什麼樣的意思。無論是技術文章還是平時的一些反思總結文章,都要有一定的骨架。我們可以先將這些骨架確定,然後再填充內容,這就像軟體的設計一樣。比如《敏捷地寫部落格》這篇,我確定一個骨架就是:1,寫部落格的好處。 2,敏捷流程。 3,如何讓寫部落格變得敏捷。有了這個大綱作為支撐,寫的時候就不會漫無目的。
  3. Development。 要點:採用自由寫技術。何為自由寫?即針對當前的部落格主題及大綱想到什麼就寫什麼,而不用太糾結於用詞造句。這就像你要修建一面牆壁,事先不需要計劃收集特別的材料,只需要到處走走看看,撿一些好看的時候備用。直到準備造牆時,就從石頭堆裡面挑出匹配的石頭安放。寫一篇2000字的文章容易還是將4000字的草稿整理成為2000字的文章容易?相信大多數人會選擇後者。
  4. Testing。 要點:斟酌語句,最後的檢查,將草稿轉化為定稿。
  5. Done。發表。

是不是發表了以後就完了? NO。我們缺少了敏捷實踐中最重要的一環,那就是retro(回顧會議)。我們需要吸收讀者的評論,修正自己的觀點,再對部落格進行加工。

我的同事@IM_ZhangYve使用evernote來管理自己的文章。他將category建成了這個樣子。

敏捷地寫部落格

這樣evernote就成了一個故事牆,每個使用者故事就是一篇部落格,當前那些處於backlog,那些處於WIP,一目瞭然。你所需要做的就是儘量把使用者故事往done裡面挪。

使用敏捷的部落格工具

以上只是用敏捷的方法來管理部落格,那有沒有相應的工具來支援像敲程式碼一樣的寫部落格? 有,那就是octopress。使用octopress部落格框架寫部落格與寫程式碼沒什麼兩樣。 具體如何使用octopress,請自行google或者直接去其官網。 下面簡單講下如何使用octopress發表一篇部落格。

  • 建立一篇部落格。
  • 編輯部落格。使用任何你喜歡的編輯器開啟2013-04-01-min-jie-de-xie-bo-ke.markdown檔案,比如vim、emacs、sublime等。甚至編程式碼的ide都行。然後使用markdown的語法來編輯你的部落格。設定標題、設定列表、加粗、加下劃線、程式碼高亮…一切根本無需藉助html編輯器就可以輕鬆實現。
  • 釋出部落格。

不過畢竟將部落格host在github或heroku人氣沒有部落格園這麼旺。我們可以通過同步的方式將部落格同步到部落格園中。只要將screen.css檔案引入到部落格園中,就可以共用生成的html元素。我最喜歡的是github顯示程式碼的效果。

相關文章