1. 程式人生 > 其它 >初入職場程式設計師指南

初入職場程式設計師指南

很多初入職場的程式設計師朋友,可能很長一段時間都在重複下面的過程:

組長分配一個任務 --> 你埋頭寫程式碼 --> 收到 Bug 反饋 --> 你埋頭改程式碼 ...

有位剛入職的學弟就是這樣,雖然每次的工作都能按時完成,但總感覺自己是一個 “寫程式碼的機器”(聽別人的,負責把需求翻譯成程式碼),也沒有什麼成長。

快別這樣了!寫程式碼真的只是唯一能做的嗎?

  • 需求的背景你清楚了麼?需求方是誰?為什麼提這個需求?
  • 為什麼要這麼做需求,還有其他的方法麼?
  • 這條需求背後是關於哪些業務的?上下游是什麼?

真實的是,成為程式設計師與寫程式碼其實沒有必然的聯絡。比如很多邏輯思維能力強的同學可以做演算法工程師,寫的程式碼可能不多,但都是精髓。

除了程式設計能力和邏輯思維能力外,做程式設計師還需要一些其他技能:

  • 業務分析能力
  • 技術學習能力
  • 問題排查能力
  • 協調溝通能力
  • 專案管理能力

何謂業務分析能力?業務是活的,如果能知道什麼業務能賺錢,簡直就是大殺器。

何謂技術學習能力?如果你的技術學習能力強,不論新技術如何層出不窮,你都能第一時間掌握,做到對症下藥。所以建議大家多去閱讀官方文件,掌握讀文件自學的能力。

何謂問題排查能力?對,改 Bug... 不依賴別人,利用搜索引擎和往期經驗自主解決問題。

何謂協調溝通能力?與上級溝通,與同事溝通,與需求方溝通,與甲方溝通。。。

何謂專案管理能力?推進專案,管理人,這個能力也很重要,領導能力不可欠缺。

最後,也是今天要說的重點,寫作表達能力

鍛鍊寫作的方式

寫作不是專業作者才能做的事。我們在學習和工作日常中就有很多方式可以鍛鍊。

那對於程式設計師來說,可以有哪些方式呢?(以下難度依次增加)

寫註釋

沒錯,寫作的成本甚至可以小到只寫一段註釋!從細微之處也能看出一個人的寫作表達能力的強弱。

回覆問題

比如回覆 GitHub Issues、Stack Overflow、知乎、51 CTO、CSDN 、思否上他人提出的問題。

像魚皮自己今年回答了至少 5000 多個星球小夥伴的問題,也在持續鍛鍊自己的表達能力,易於別人理解。

寫電子郵件

與人溝通,回覆郵件,反饋問題,彙報工作等等

寫部落格

51CTO、CSDN、部落格園、掘金、InfoQ 都是很好的部落格平臺,或者你可以自己搭建自己的部落格平臺,更加可控。麻煩一點可能是需要自己搭建伺服器和圖床。

寫技術文件、技術白皮書

程式設計師最痛苦的工作寫技術文件,但最需要的可能也是技術文件。自己寫不太想寫,自己想看的又是技術文件。如何把文件寫的準確易懂也是可以需要學習的。

寫書

“合抱之木,生於毫末;九層之臺,起於累土,千里之行,始於足下。” 一篇篇部落格可能就是一本書的其中一點內容。就算不出版,也可以有寫書的目標,寫書更能鍛鍊寫作的能力,很多部落格寫得好的,反而出書效果沒那麼好了。

寫作是倒逼成長的最佳方式

寫部落格也是一種向內求索的過程,自己是否真的掌握了?自己能解釋的更好嗎?高質量的輸出倒逼輸入和思考,寫作是倒逼成長的最佳方式。通過寫作能帶來更多的輸入和思考。只有學習不同的技術,看不同的書,引發思考,形成自己的觀點,然後輸出檢驗自己是否真的掌握。然後形成這種雙向迴圈:

  • 輸入 --> 輸出;
  • 輸出 --> 輸入。

保持良好的態度:寫程式碼=寫作

程式設計師的工作大多以程式碼為主,經常專注於如何實現複雜的運算。而寫作,首先需要將想要表達的核心內容下定義,並用修飾性的語言對其進行解釋。

程式設計師和作家有什麼區別,作家是寫作時腦袋呈現一個個人物和故事,而程式設計師寫程式碼腦子裡更多的邏輯和資料。

以前在學習寫作和文章賞析的時候,學過很多寫作手法:託物言志(託物喻人)、欲揚先抑、倒敘法、穿針引線法、插敘法等等。但程式設計師寫作並不需要,如何描述問題,解決問題,怎麼簡單怎麼來。

寫文章良好的表達能力確實能對程式設計架構設計有非常大的幫助。但實際情況是,大部分程式設計師都沒有時間熟練掌握寫作。

大部分人強調開發能力,但很少有人願意寫文件。但殘酷的事實是:無論從事什麼行業,寫作都是最基本的技能。

先梳理再動筆

和寫程式碼一樣,程式設計高手往往不會直接敲程式碼,而是先畫好設計圖再寫程式碼。

所以,寫作也是如此。一旦有了自己的想法,先不用急著馬上記錄,而要在腦海裡梳理好流程,再用筆記記下最簡單的結構,之後再整理成文字。

寫文章時,要把自己的慣用表達或專業術語換成大家耳熟能詳的詞語,文章要通俗易懂,表達準確。

像簡單的技術類部落格,首先讓自己的程式碼跑通,然後根據專案結構依次解釋這樣寫程式碼的原因,依次形成一篇文章或教程。程式碼實現的過程即是梳理的過程。

那麼如何培養寫作習慣呢?

如果不擅長面對面溝通,那麼書面溝通呢。書面溝通能力就是寫作,如何培養這一種能力呢?有時候需要花一生的時間去學習如何有效地寫作,這件事沒有捷徑,你也買不來,因此如何寫作正是我們需要提高的原因。

傑出的程式設計師跟勉強過得去的程式設計師之間的差別,不在於他們掌握了多少種程式語言,也不在於他們誰更擅長 Python 或 Java。真正的關鍵是,他們能不能把他們的想法表達清楚,傑出的程式設計師通過說服別人來達成協作。通過清晰的註釋和技術文件,他們讓其他程式設計師能夠讀懂他們的程式碼,這也意味著其他程式設計師能夠重用他們的程式碼,而不必重新去寫。要不然,他們所寫的程式碼的價值就大打折扣了。-- Joel·Spolsky

從小到大,如果學習知識是從看課本,聽老師講開始的,那麼當我們看完聽完,是否有一種與他人分享的想法?

仍記得小時候學完一個知識,迫不及待跟小夥伴、爸媽分享今天學習了什麼。

其實,現在我們也可以一樣。

當我們看完一本書的一個章節,就可以寫出來,一開始也不一樣會寫的很好,開始寫就對了;

當我們聽完一個視訊,也可以總結視訊的重點和自己的盲點,畢竟等哪一天忘記了,重頭再來看視訊就很複雜,看一下自己的部落格還是很輕易高效的;

當我們解決了一個真實問題,也可以把如何解決的這個問題也可以記錄下來,幫助其他人,說不定別人搜到這個問題的時候也會感謝你的解決方案。

等等,方式很多。

把寫部落格這個過程每週練習幾次,部落格不用太長,堅持每週寫幾個,一定能越寫越好。

所以,總結起來,培養寫作的習慣需要:保持分享的習慣

總結

熟悉程式設計是一個需要長期堅持的過程,寫作也是如此。說出想說的話很容易,但讓對方理解並理解對方的想法則不那麼簡單。

多寫程式碼可以提高程式設計能力,同樣,經常練習寫作也可以提升文字表達能力。

如果你還沒開始寫作,請立刻開始; 如果你覺得自己的寫作水平欠佳,那麼請堅持練習。

本文來源:https://juejin.cn/post/7159810286583545869