當前位置:
首頁 > 知識 > 程序員的成長焦慮

程序員的成長焦慮

程序員的成長焦慮

打開今日頭條,查看更多圖片

作者 | 黃峰達

技術在進步,人也得成長。打開社交媒體,無處都不在販賣焦慮:

  • 震驚!90 後的程序員,至今都沒有一個活過 30 歲?
  • 為什麼 35 歲的 85 後程序員,都找不到工作了?
  • ……

那些寫稿的人,有一天突然自己焦慮了——是不是這真的就是一種趨勢?年底了,也得按照慣例 「焦慮」 一下成長。照舊,作為每年年底的復盤(Review),這仍然是一篇對於未來的思考和總結。


職業發展 vs 個人發展

國內大部分的組織,哪怕是大型的公司、企業里,都缺乏有效的技術人員發展路線。或許是國內的程序員都比較 」年輕「,或者是現有的大部分程序員都停滯在現有的階段——資深階段。這無論是 BAT 里的 P7、P8,T2.3、T3.1,還是 ThoughtWorks 里的 Senior Consultant,這都是一個很長的關卡。

原因,除了這是一個等坑期,還是一個迷茫期。坑位只有有限的幾個,而等坑的人卻有那麼多。而往往不是一個光靠技術就能往上走的坑,為了更高的 Grade/Title,需要的都是技術 + 業務。這樣一看,呀,純技術路線在哪都發展不下去。那樣一來,我們需要往何方走呢?

資深的下一個 Grade 就是 Lead Programmer,如 Basecamp(37signals,創造了 Ruby on Rails 的公司)在 GitHub 上標明的 Lead 程序員的要求:

  • 在多種編程環境中擁有深厚的專業知識
  • 能夠為大型項目運行和指導小團隊
  • 能夠跨多個領域執行項目(例如,需要 API 後端的原生應用)
  • ……

換句話來說,我們要能夠完成站在整個系統的角度來看待問題。作為一個資深的程序員,或者 Tech Lead,我們往往從自己的那部分前端、後端出發,來考慮整個系統的問題。而作為一個更高級別的程序員,需要擁有更好的功能,來掌握更多的技能。但是,這一點讓我又考慮去了程序員的專與廣的問題:

  • 作為一個 Junior 級別的程序員的時候,我們要追求廣度,它能讓我們找到適合的方向。
  • 作為一個 Senior 級別的程序員的時候,我們要追求深度,它能讓我們證明自身的價值。
  • 作為一個 Lead 級別的程序員的時候,既需要廣度而又需要深度。

這大抵算是對於大部分人來說,如我,會有一個更清晰的方向。


定位:工程 or 研究

程序員的成長焦慮

從長期來看,作為一個軟體開發工程師、諮詢師、前端工程師等,我們不得不為自己在職業上定一個位:WHO AM I ?在不同的職業生涯里,我們的定位都是不同的。

從 IT 領域上,大抵上可以分為:工程師 + 「科學者」/研究員。前者偏向於工程,後者偏向於理論研究。看筆者文章的人,大抵都屬於前者。但是吧,又得投入後者。

一旦,我們找到了合適自己目前的位置,便得去關心所在領域的最佳實踐。如對於工程來說,我們要關注的東西是:

  • 可演進式架構
  • 編寫可維護的代碼
  • 更好的工程實踐

對於理論來說,我們關注於原理與設計。要合理的分配兩者的學習比例。

若你和我一樣是一個工程師,又喜歡研究理論。日常的編程中,多數的研究相關的內容是用不上的,往往是工程上用的東西比較多。不過只靠實踐,往往也是不夠的,還需要進行一定的理論和創建研究。在合適的時候,需要適當地分配一下比例,如 80:20 的比例。

在職業階段的不同,又需要對編程領域細分,如前端、後端、原生應用、blabla。只是這點細的分類,並沒有太多的差異。從筆者的經驗來看,能用一個語言編程的人,再換個語言編寫業務代碼,並不是一件困難的事。唯一麻煩的地方,角色的轉變——你可能沒有意識到現在的位置,它需要你去做什麼,而不是抗拒它。


靠持續投入,而依賴才華

職業生涯的早期,寫代碼靠的是才華。但是隨著時間的變化,若是沒有持續地投入,也有才盡的時間。就這一點上,就 IT 行業,又或者是不同行業中,我們都可以看到一些端倪。

今年勞動節,我和花仲馬去馬來西亞玩的時候,我們買了本春上村樹的《身為職業小說家》,即《我的職業是小說家》的繁體版本。繁體版本是傳統的堅版,由右到左的排版方式,我便又饒有興趣的看了一遍。最大的體會便是:越有造詣的人,則越投入得越多越長。

如村上春樹,上班族打卡,早上起來雷打不動坐在寫字檯前寫作 5、6 個小時,每天必須完成四頁稿紙。三十年來天天堅持跑步,真是一點兒也不浪漫。

如若我們看待編程的方式是,它不僅僅是收入的來源,還是樂趣的來源。那麼,我們會持續不斷地投入。而這種投入,依靠的還是一定自律。如若只是每天完成工作上的代碼,怕也算不是投入。除非,它能為我們帶來更多的樂趣。對於工作能否帶來真正的樂趣,智者見智吧。

我害怕的一種生活狀態,便是每天加完班,加到家裡,再也不想寫代碼。哪怕是再好的才華,再高的興緻,也容易被磨滅開來,成為別人家的機器。

而所謂的才華,大抵便是悟性。而悟性這種東西,往往不是練出來的,更可能是看出來的,或者是對話出來的。才華,便也是筆者最討厭的玄學——說了,我自己也不懂所以。而這種才華,便也算是運氣,有時候是在非自己的工作領域中領悟出來的。

自律、體力、耐性,就是這麼不佛性的三要素。


適當地輸出

在 IT 行業里,做得有聲有色,得是能拿出一些作品。或是藉助於公司的產品,來體現自己的出色;或是創造自己的項目,來展現自己的樂趣;又或者是寫自己的文章,表達自己的編程觀點。

輸出,大抵是到目前為止,我使用得最好、廣泛、有效的技術。因為看到它對自己帶來的一系列成長,便也將它作為自身技能的一部分,持續不斷地磨鍊。輸出的內容可以是:演講、代碼、開源軟體、文章。

而輸出有一個大前提是輸入,如編程實踐、閱讀書籍等等。如此說來,這種活,倒也不是阿貓阿狗能輕輕鬆鬆做到的,還得經過一系列的思考,。但是總有一些人吧,總是可以輕鬆地複製和粘貼別人的觀點。若沒有加以實踐,有些東西還是經不得推敲的。在閱讀的時候,只需要細微地思考一下,也便能識別出來一些端倪。

如我擅長的寫作,對於自己而言,還有別的技能提升:

  • 系統性思考
  • 邏輯思維
  • 觀察能力

在寫文章的過程中,會不斷強化這些技能。如果我們想快速進入一個領域,便可以以輸出來強化知識輸入的能力。

這輸出不僅僅是一個能力提升的話題,還在持續不斷地提高你的影響力。再好的技術,沒有方式和能力對外展示出來,就不要怨天尤人。從技術實力上來說,我大抵是比同齡人的平均水平,多一點點。但是多了這份影響力,便多了不止一點點。它可以用在擴大團隊規模上,提升整體的技術水平。


持續的挑戰

持續的挑戰,在這裡指的是:嘗試新的可能性,學習新的技術。

若是每年都安安逸逸地,沒有一點新的氣息,再好的鬥志,也會被歲月磨去。這樣一看,學習什麼東西,似乎一點兒也不重要。我們要的是一種心態,它能讓我們接受新的事務——雖然我們可能並不認同,但是也能接受它的存在。

哪怕是隨著年齡的增大,其它事務的不斷增多,學習的時間越來越少。我們只有持續不斷地學習,保持一種學習的心態。面對一些新的事務,便也不會有害怕的心裡。

到底也是這些年,看到越來越多的技術人員,因為各種原因,荒廢了技術。便也意識到這方面的戰略意義,你呢?是不是也存在這樣的問題呢?


領域知識

某個框架,某個語言,只是解決問題的方式之一,而非是唯一的解。

不討論框架,不討論語言,我們只討論領域。而我們討論領域的時候,指的是技術及非技術相關的領域。而技術只是其中的一個領域,但是是非常小的一個領域。不過,從技術的角度來看,跨領域的工程師機會比較多,可能性也比較高。一旦如此,我們也越能解決跨技術領域的問題。又如我們在開頭所說,它有助於我們成為更好的程序員。

與此同時,我們會發現,我們往往缺少技術以下的領域知識,如金融、物流。而這是這些領域知識,它可以為我們的職業生涯帶來更多的價值。越是我們平時覺得不起眼的東西,在我們尋找工作的時候,有相應的背景,反而能為我們帶來更多的價值。


作者簡介:黃峰達(Phodal),ThoughtWorks Senior Consultant,CSDN 博客專家。長期活躍於 GitHub、CSDN,專註於物聯網和前端領域。出版著作《自己動手設計物聯網》,以及《Growth:全棧增長工程師指南》等六本電子書,並譯有《物聯網實戰指南》。

本文經授權轉自作者公眾號「Phodal」。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 CSDN 的精彩文章:

人工智慧涼涼了?中國 AI 人才缺口高達 12113 個!
ofo 押金被強制理財?黃章回應 OPPO 涉嫌抄襲;三星華為摺疊手機重名

TAG:CSDN |