讓人迷茫的三十歲,從專業技能、行業知識和軟實力的人才三角談起

 

--------我今年三十歲,我很迷茫,不知道將來該選擇什麼發展方向。
  • 1、背景

  這是我無心中在社區微信羣中看到的一位年輕的開發者說的話,以前他也常常會在技術羣中拋出一些有深度有內容的問題,並能積極樂觀的進行問題思考和探尋技術解決方案,有時候可能會錯誤的覺得他這樣一位熱愛學習的開發者,在公司也必定是技術的引領者,對本身的職場規劃有着清楚的認識。程序員

  因此他拋出這樣的問題着實有點意外,不過細想以後,或許也屬實正常是。對於30歲左右的開發者來講,從20出頭的毛頭小夥,逐漸成長爲家庭和公司的頂樑柱,若是一直從事技術領域,大概很容易就到了瓶頸期,以下圖,一我的的學習能力增加曲線,大概三年或五年左右,增加速度就會逐漸放緩。算法

(手畫的) 數據庫

  到了這個階段會很是痛苦,若是身處一家優秀的公司還好,有一套完整的體系保證你持續成長,不然就得陷入了吃老本的時期,或許將一直這麼平庸的下去,直到被迫退出行業。設計模式

  而那些不甘如此的優秀者,都渴望去改變現狀,他們們每每承受着無比巨大的壓力,尤爲是互聯網技術飛速發展、各類新技術新方法席捲而來,究竟該如何選擇技術的發展方向和我的的職場規劃,這個問題天然而然就出如今他們面前。微信

  如下是互聯網開發者的「人才三角」結構,由專業技能、行業知識和軟實力組成。每個圓環均表明一個知識邊界。架構

 

 

  • 1、專業技能

 

 

  專業技能是開發者賴以生存的寶貴技能,而其中開發語言是最重要的一個方面。近年來飛速發展的互聯網業,彷佛對.NET開發者帶來的衝擊至關巨大,在許多城市,甚至出現了Java與.NET的招聘信息比例10比1的驚人狀況,而在國內互聯網公司,彷佛除了同程藝龍、蔚來汽車等公司,已經找不出太多叫得上名頭的大企業堅持使用.NET技術棧。微服務

  可是即使如此,這並無說明.NET技術已經逐漸落伍,尤爲在技術領域,看起來火熱的市場,歷來也不是一門語言所能主宰。真正優秀的開發者歷來不會被語言束縛,事實上雖然掌握一門核心語言很是重要,其次在語言以外的其餘專業技能,諸如設計模式和設計原則、對於算法等的理解程度,都是開發者很是重要的能力,對他的價值評估產生了很是深遠的影響。 學習

  在衆多專業技能中,比較爭議的大概是數據庫、各種組件和其餘專業技能,以及DevOps和微服務。首先是這些新概念,鋪天蓋地而來,讓人難以抗拒學習的慾望,甚至不學習,也常常會被人說成知識體系閉塞。可是學習了以後,若是得不到實踐,不見得可以帶來短時間或長期受益。除此以外可以恰到好處的掌握好數據庫和各種第三方組件(諸如Redis、Consul)等,雖然可以讓開發者得到很多機會,可是卻並不是每位開發者都有時間或精力瞭解這麼多東西。畢竟天天只有24小時,花時間學習了A組件,每每就得忽略其餘組件。並且若是隻是淺嘗輒止的瞭解某些組件,倒不如仔細的鑽研衆多同類組件中的一種。spa

  微服務容易讓人陷入知識的海洋無可自拔,在寶玉老師的專欄《軟件工程之美》也提到微服務架構並不是軟件系統的自然演進,要靠組織力量來完成。而在微服務書籍《微服務設計模式》中也提出,微服務實際上應該是一種組織架構形式的體現,而不只僅只是一種軟件架構。爲了微服務而微服務,不見得會帶來了團隊溝通成本的提升,也不見得有利於軟件系統的高效迭代。一樣,爲了DevOps而上容器,這樣也不是一種值得推崇的策略。設計

  我把DDD和TDD歸入到專業技能中很是重要的一環。由於DDD是一種很是重要的軟件問題分析方法,從宏觀來看有點像團隊問題分析方法,若是時間有限,大概不太有必要獨自研究,畢竟要將其實踐下去,仍是要更多的依賴團隊,不如拉幾個同事一塊兒探究。若是沒辦法將DDD完美的實踐下去,也沒必要苛求,運用好領域的分層思想,可讓軟件系統儘量可控的管理各領域的知識,實現業務知識的沉澱。

  TDD看似可以讓軟件儘量的減小後期的維護成本,可是要將其實踐下去,取決於大環境和我的是否持續不斷的刻意練習,並且須要一個漫長的週期。可以刻意練習顯然是極好的,相信他必定能給你帶來很是巨大的好處。

 

  • 2、行業知識

 

  所處行業、和行業知識是決定開發者的關鍵,而不是專業技能自己。例如紅得發紫的電商行業,阿里巴巴或拼多多等電商平臺,最能給開發者帶來豐厚收益的行業,也是競爭最爲激烈的行業。而例如社區團購這種新興商業業態在長沙,也一樣爲長沙技術圈的從業者帶來的新的機遇。

  可是彷佛許多行業的開發者們對自己行業知識的興趣並不大。許多開發者每每執着於對專業技能的鑽研,而忽略了對行業知識的瞭解。而事實上行業知識的認知深度,剛好更能體現產品的水平和公司的專業程度。若是每一個人都矢志於爲公司打造最專業的產品,這顯然將爲公司、爲我的帶來無窮收穫。

  • 3、軟實力

  軟實力是讓你我不同凡響的核心關鍵。他體如今外在,是一我的的談吐和爲人處世的態度。他經過領導力、管理能力、表達能力等許多種形式讓你的優勢得以更好的表如今世人面前。

  軟實力,是程序員成功的關鍵。例如你是否可以與團隊成員融洽的溝通,這可以促進你與團隊成員間的相互認同、你是否可以將你打造的產品更好的展現在領導或客戶面前,這有利於你和公司產品價值的彰顯、你是否能用文字或PPT對你的工做進行總結,這又能體現你的組織表達能力。而你在公司與其餘同事的良好溝通、與客戶的良好溝通,既是在積累人脈,更是在投資將來。

  我把運氣列入軟實力的範疇,是由於我以爲運氣是很重要的一環,不過若是沒有足夠的軟實力積累,即使有不錯的機遇,也不見得有能力支撐住。

  • 4、總結

  在我參加工做的早期,老是片面的認爲技術能力纔是決定人與人區別的最大關鍵。可是事實上剛好相反。咱們身邊那些混得最好的,他們每每並非技術最好的。他們每每更善於鑽研一個行業,並從中發掘出價值。他們每每更注重軟實力的培養,並經過這些軟實力,得到許多常人不能擁有的機會。

  優秀的開發者也善於抓住職場中的每一次挑戰。他們將每段職場當作修行和學習的機會,無時無刻不忘提高本身,哪怕在小公司,也一樣能創造不平凡的成績。

  短暫的迷茫不可怕,怕的是看到了迷茫還不試圖改變,例如知道能力有不足,卻依然忽略了對能力的積累。能力的積累歷來不只僅只是停留在紙面上的簡單文字,再多的迷茫,不如從眼下開始刻意練習和主動培養。例如做爲.NET開發者,或許咱們都須要更加深層次的瞭解C#/.NET技術的核心知識,一本好書《C# 7.0 核心技術指南》將爲你解惑無窮。

  不管當下咱們作的什麼技術,最重要的關鍵,就是認清楚本身的缺點,而後有意識的去改善。沒必要苛求昨天的本身比今天的本身優秀,努力使明天的本身比今天更優秀,堅持一個方向,總能讓你得到更多機會。

---

本文版權歸原做者和博客園共同擁有。做品採用知識共享署名-非商業性使用-相同方式共享4.0 國際許可協議進行許可。 

 

      本文來自: 溪源 | 長沙.NET技術社區。閱讀更多精彩好文,歡迎關注長沙.NET技術社區公衆號【DotNET技術圈】。

相關文章
相關標籤/搜索