代碼之外:寫作是倒逼成長的最佳方式
theme: scrolls-light
持續創作,加速成長!這是我參與「掘金日新計劃 · 10 月更文挑戰」的第 29 天,點擊查看活動詳情
還在埋頭寫代碼?快別了吧
作為一名初入職場的程序員,很長一段時間都是在重複這樣一個過程:
組長分配一個任務 --> 你埋頭寫代碼 --> 收到 Bug 反饋 --> 你埋頭改代碼 ...
快別這樣了,寫代碼真的只是唯一能做的嗎?
-
需求背後的邏輯你懂了嗎?
-
為啥要這樣做呢,還有其他方法可以做嗎?
-
這一條需求背後是關於哪些業務的?可以分別向上和向下追問嗎?
真實的是,成為程序員與寫代碼其實沒有必然的聯繫。正所謂技多不壓身,除了基本的編程開發能力,做程序員還需要一些其他技能:
-
技術學習能力
-
業務分析能力
-
問題排查能力
-
項目管理能力
-
協調溝通能力
何謂技術學習能力?如果你的技術學習能力好,不論新技術如何層出不窮,你都能第一時間掌握,做到對症下藥。
何謂業務分析能力?業務是活的,如果能知道什麼業務能賺錢,簡直就是大殺器。
何謂問題排查能力?對,改 Bug...
何謂項目管理能力?推進項目,管理人,這個能力也很重要,領導能力不可欠缺。
何謂協調溝通能力?與上級溝通,與同事溝通,對還有今天要説的,書面溝通能力。
那些鍛鍊寫作的方式
寫作並一定是作者的專職,其實日常中有太多的方式可以鍛鍊,對於程序員來説,可以有哪些方式呢?
寫博客
51CTO、CSDN、博客園、掘金、InfoQ 都是很好的博客平台,或者你可以自己搭建自己的博客平台,更加可控。麻煩一點可能是需要自己搭建服務器和圖牀。
寫書
“合抱之木,生於毫末;九層之台,起於累土,千里之行,始於足下。”
一篇篇博客可能就是一本書的其中一點內容。就算不出版,也可以有寫書的目標,寫書更能鍛鍊寫作的能力,很多博客寫得好的,反而出書效果沒那麼好了。
寫技術文檔、技術白皮書
程序員最痛苦的工作寫技術文檔,但最需要的可能也是技術文檔。自己寫不太想寫,自己想看的又是技術文檔。
如何把文檔寫的準確易懂也是可以需要學習的。
回覆問題
回覆 Stack Overflow 、沸點、知乎、51CTO、CSDN 、思否上他人提出的問題
寫電子郵件
與人溝通,回覆郵件,反饋問題,彙報工作
寫註釋
甚至小到寫一段註釋
寫作是倒逼成長的最佳方式
寫博客也是一種向內求索的過程,自己是否真的掌握了?自己能解釋的更好嗎?
高質量的輸出倒逼輸入和思考,寫作是倒逼成長的最佳方式。
通過寫作能帶來更多的輸入和思考。只有學習不同的技術,看不同的書,引發思考,形成自己的觀點,然後輸出檢驗自己是否真的掌握。
然後形成這種雙向循環:
-
輸入 --> 輸出;
-
輸出 --> 輸入。
保持良好的態度:寫代碼=寫作
程序員的工作大多以代碼為主,經常專注於如何實現複雜的運算。而寫作,首先需要將想要表達的核心內容下定義,並用修飾性的語言對其進行解釋。
程序員和作家有什麼區別,作家是寫作時腦袋呈現一個個人物和故事,而程序員寫代碼腦子裏更多的邏輯和數據。
以前在學習寫作和文章賞析的時候,學過很多寫作手法:託物言志(託物喻人)、欲揚先抑、倒敍法、穿針引線法、插敍法等等。但程序員寫作並不需要,如何描述問題,解決問題,怎麼簡單怎麼來。
寫文章良好的表達能力確實能對編程架構設計有非常大的幫助。但實際情況是,大部分程序員都沒有時間熟練掌握寫作。
大部分人強調開發能力,但很少有人願意寫文檔。
但殘酷的事實是:無論從事什麼行業,寫作都是最基本的技能。
先梳理再動筆
和寫代碼一樣,編程高手往往不會直接敲代碼,而是先畫好設計圖再寫代碼。
所以,寫作也是如此。一旦有了自己的想法,先不用急着馬上記錄,而要在腦海裏梳理好流程,再用筆記記下最簡單的結構,之後再整理成文字。
寫文章時,要把自己的慣用表達或專業術語換成大家耳熟能詳的詞語,文章要通俗易懂,表達準確。
像我對簡單的技術類博客,首先讓自己的代碼跑通,然後根據項目結構依次解釋這樣寫代碼的原因,依次形成一篇文章或教程。代碼實現的過程即是梳理的過程。
那麼如何培養寫作習慣呢?
如果不擅長面對面溝通,那麼書面溝通呢。書面溝通能力就是寫作,如何培養這一種能力呢?
有時候需要花一生的時間去學習如何有效地寫作,這件事沒有捷徑,你也買不來,因此如何寫作正是我們需要提高的原因。
傑出的程序員跟勉強過得去的程序員之間的差別,不在於他們掌握了多少種編程語言,也不在於他們誰更擅長 Python 或 Java。真正的關鍵是,他們能不能把他們的想法表達清楚,傑出的程序員通過説服別人來達成協作。通過清晰的註釋和技術文檔,他們讓其他程序員能夠讀懂他們的代碼,這也意味着其他程序員能夠重用他們的代碼,而不必重新去寫。要不然,他們所寫的代碼的價值就大打折扣了。 -- Joel·Spolsky
從小到大,如果學習知識是從看課本,聽老師講開始的,那麼當我們看完聽完,是否有一種與他人分享的想法?
仍記得小時候學完一個知識,迫不及待跟小夥伴、爸媽分享今天學習了什麼。
其實,現在我們也可以一樣。
當我們看完一本書的一個章節,就可以寫出來,一開始也不一樣會寫的很好,開始寫就對了;
當我們聽完一個視頻,也可以總結視頻的重點和自己的盲點,畢竟等哪一天忘記了,重頭再來看視頻就很複雜,看一下自己的博客還是很輕易高效的;
當我們解決了一個真實問題,也可以把如何解決的這個問題也可以記錄下來,幫助其他人,説不定別人搜到這個問題的時候也會感謝你的解決方案。
等等,方式很多。
把寫博客這個過程每週練習幾次,博客不用太長,堅持每週寫幾個,一定能越寫越好。
所以,總結起來,培養寫作的習慣需要:保持分享的習慣。
總結
熟悉編程是一個需要長期堅持的過程,寫作也是如此。説出想説的話很容易,但讓對方理解並理解對方的想法則不那麼簡單。
多寫代碼可以提高編程能力,同樣,經常練習寫作也可以提升文字表達能力。
如果你還沒開始寫作,請立刻開始; 如果你覺得自己的寫作水平欠佳,那麼請堅持練習。
- 一文帶你瞭解 Python 中的繼承知識點
- 如何使用 HTML 和 CSS 寫一個登錄界面
- 代碼之外:寫作是倒逼成長的最佳方式
- Redis 的快速介紹及其基本數據類型和操作
- 經久不衰的設計定律就是——不要讓我思考的設計
- 一文了解 Python 中的裝飾器
- 聊聊 Go 語言與雲原生技術
- Go Web 編程入門:驗證器
- Golang 的藝術、哲學和科學
- Django API 開發:視圖設置和路由
- Web 編程入門:什麼是Web API?
- Python 實現設計模式之工廠模式
- 好開心我進入了面試環節,那麼我該如何自我介紹?
- 鴻蒙學習筆記:利用鴻蒙JavaUI 框架的 WebView 加載在線網頁
- Go 語言入門很簡單:讀寫鎖