为啥开发的文档能力是核心竞争力之一
在開發團隊里面一般產品的文檔能力會比較強,很多開發的文檔能力都非常弱,在我看來文檔能力是一個程序員核心競爭力之一,文檔能力強才能實現能力的快速發展。為什么語文在中小學課程里面比重那么大,因為語言能力是一個人發展的基礎,同理,文檔能力就是開發過程當中的語言能力。
文檔能力強的優勢
文檔能力強,則團隊之間溝通會順暢,而且不容易出現理解偏差。產品做文檔關注的是功能設計,而開發做文檔關注的是實現邏輯和結構,兩個團隊的側重點不同。好的開發文檔是可以準確的反應代碼情況的,如果軟件實現結構或者邏輯有問題,很容易在文檔中就發現問題。我一直都希望程序員在編碼之前能夠先做個設計,把自己的思路通過流程圖和其它圖表展示出來,這樣我就可以幫助他們發現其中設計問題以及需要關注的地方,比如哪些地方需要加入重試機制,哪些需要保證數據庫的事務特性,數據表設計的是否合理,是否以后會出現性能瓶頸。這個做法的最大好處是把錯誤消滅在萌芽階段,可以大大的提升開發效率,而且也可以讓時間預估變得更加準確。但就這樣一個思路,在實際操作的時候很難貫徹下去,因為程序員不知道怎么表達自己的思路。
本人感覺導致這種問題的原因有兩個,一個是多數程序員習慣直線思維,想一步做一步,二是國內絕大多數公司不重視這方面能力的培養,而且管理層喜歡頻繁施壓,造成整個團隊單純求速度。這種拔苗助長的做法往往導致后期軟件問題多多,真正是欲速而不達,后期浪費幾倍的時間。而且因為制度問題,出現劣幣驅逐良幣的情況發現,下圖就是一個程序員講,寫了文檔導致容易被替換,反而容易丟掉工作。
如果前期有結構設計文檔,則可以進行團隊的集體評審,前端后臺可以大大減少理解誤差,產品開發測試都可以互相多重驗證思路,盡量減少溝通理解偏差導致的結構設計問題,很多錯誤在后期發現往往是致命的,而且是花費多倍時間來彌補的。
文檔能力對程序員自身也有巨大的好處,通過這種方式,可以理清自己的思路,讓自己的思維變得更加縝密,讓自己更加容易接受高手的指點,因為高手沒有時間去看你的代碼,你自己需要學會清晰表達自己的思路。這種文檔可以當作一種知識積累的手段,可以時常去溫習這些文檔,避免忘記重要的知識點。我面試過很多人,有很多人在講解項目的時候,思路極為混亂,一個可能性是自己沒有真正做過,一個可能性就是自己沒有總結,導致后來都忘記了,如果是后者,白白喪失了很多機會。
文檔能力的基礎條件
實現上面的文檔溝通能力是需要一定基礎條件的,而且不是一下子就能實現的,所以導致前期訓練階段會比較耗時間,這可能也是很多團隊不愿意執行的原因。
要實現這個目標,團隊需要一個優秀的教練,就和特種部隊需要優秀教練一樣。教練的作用就是制定團隊培訓計劃,同時在文檔方面給予指導,建立起團隊的文檔規范,需要在討論會中對文檔進行點評,促進文檔質量的不斷提升。文檔能力是需要在實戰中逐步培養起來的,是不能通過幾節課就達到目標的。
團隊成員需要學會全局思考能力,需要能夠準確的表達自己的思路。在我們團隊開始做這個工作的時候,很多程序員的流程圖結構圖和實際存在偏差,而且圖形非常不直觀,組織也非常沒有邏輯性,連我這樣資深的人員都很難理解到底是在表達什么意思。
流程圖和結構圖需要在團隊之間建立起共識,建立起規范,讓大家交流時候使用的是相通的語言,而不是各說各的,陷入一種互相抬杠的局面。
舉例對比優質文檔和劣質文檔
下面截圖是一些可讀性差的流程圖,排版不好看不清,編排組織混亂。
調整后的結構圖,把模塊進行和概括表達,總體架構變得簡單清晰。
這個結構圖還有一個缺陷沒有表達出本次調整修改的部分,通過顏色就可以清晰的表達出來,比如指定某種邊框顏色。圖表表達是一門學問,我們需要用最簡的結構表達出最多的信息。
下面截圖是團隊一個后臺的文檔,對業務邏輯表達使用了文字,沒有使用流程圖,導致非常不直觀,非常難閱讀,一眼看上去都是混亂。
下圖是阿里資深后臺專家的文檔,非常清晰直觀,而且很簡潔。
怎么樣鍛煉自己的文檔能力
不要把做文檔當成一個任務,需要養成一種習慣。在團隊討論會上,我發現平時做日報好的人,第一次寫文檔就非常清晰有條理,寫日報不好的人,文檔也不好。所以文檔能力展示出了一個人的工作習慣是否有條例,是否縝密。
如果文檔能力不強,不要怕花時間,學習一種本事都是需要花時間的,文檔能力不行,開始當然是需要花時間的呀。文檔能力差的人常常托詞自己工作太忙,沒有時間來做這個,但下班以后很快就離開了公司,顯然,很多人態度上是不夠重視的。我批評他們說,文檔是給你自己做的,不是給公司做的,差的文檔能力會始終限制一個程序員思維能力的發展。
總結
重視文檔能力,就是為自己的提升打開新的一道門,文檔是開發者的語言。如果喜歡這篇文章,就請關注我,持續發送干貨,同時也幫我轉發一下啦。
總結
以上是生活随笔為你收集整理的为啥开发的文档能力是核心竞争力之一的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么开好代码交流会
- 下一篇: 刚毕业的我,参与了一场大厂之间的争夺之战