1. 程式人生 > >程式設計師職業生涯規劃 之最終篇

程式設計師職業生涯規劃 之最終篇

      之前我們分析了程式設計師職業生涯中可以選擇的幾個發展方向:專案經理、系統分析員、產品經理、軟體測試工程師和系統架構師,當我們發現未來充滿了這麼多種可能後,又重新對程式設計師產生了夢想,但我相信好多人心裡還是在打鼓,那就是“怎麼才能走到我們夢想的職位?”本文會對以往的分析進行總結並提供一些重要的職業資訊,值得思考一下,以便有所準備。

      我們都知道程式設計師可以向經理或團隊領導發展。但很多程式設計師不明白經理這個職位的期望和工作要求。當然,我們都有經理,但怎樣才能成為經理呢?要具備什麼素質?中層管理者和一個高階程式設計師之間有什麼區別?讓我們來看看一個初級程式設計師成長到頂級CTO的潛在職業之路。

      很多程式設計師都會直觀的從收入上來觀察他們的職業之路,薪資代表著成就和社會對於個人的滿足,下面一張圖表示的是程式設計師的各個職位的平均工資。注意在垂直水平上,一些人可能拿著兩倍或者三倍於別人的工資(像是銀行,貿易等行業)。所以這些數字僅代表了一個平均水平,並不全面。

一、初級程式設計師

(1)0-3年工作經驗(一般是剛從大學畢業),會寫簡單的指令碼

(2)初步瞭解整個應用程式的生命週期

(3)初步瞭解資料庫和應用程式的服務(佇列,快取等)

(4)不需瞭解複雜的應用中的每一個部分

當你剛剛踏入程式設計師的行列中來的時候,可能會感到畏縮和煩惱。會時常感覺到自己資歷尚淺,驚訝為什麼別人可以寫出這麼大而複雜的程式。看看其他的高階程式設計師,你覺得自己做著跟他們相同的工作。但是區別就在於初級程式設計師缺乏經驗。即使是學習最快、最聰明的初級程式設計師,也沒有接觸到足夠多的程式碼和邊界情況,以勝任高階程式設計師的工作。在軟體開發方面, 軟體設計模式也是一種智慧。雖然在這方面可以閱讀相關的書籍,但還是需要寫足夠多的程式碼,將錯誤儘可能地暴漏出來,真正理解軟體設計模式的價值。

二、高階程式設計師

  • 至少四年工作經驗
  • 能寫較複雜的程式
  • 深入理解整個應用程式的生命週期
  • 掌握資料庫和應用服務(佇列,快取等)
  • 要了解應用程式的每一個方面

稱職的高階程式設計師非常擅長構建大型程式。擔任高階程式設計師佔了程式設計師生涯的大部分。事實上,如果你不喜歡管理的工作而僅僅喜歡寫程式碼,可以一直做一個高階程式設計師。高階程式設計師可以作為一個過渡,一旦掌握了足夠的技術,那麼很可能就有能力擔任一家技術創業公司的創始人或者CTO了。作為一個創始人或者CTO,寫程式碼的就會就少了,更多的是需要處理事務的技巧。但是深入理解技術非常有必要,是做好這份工作必不可少的部分。

(1)七年以上開發經驗

(2)掌握高階程式設計師必備的技術

(3)團隊領導:向架構師過渡

(4)架構師:沒有更高的技術方面的職位

七年程式設計師職業生涯已經能夠使一個程式設計師的技術能力足夠精進,如果你想從事更具挑戰性的職位,那麼可以考慮一下做架構師,這是技術方面最頂峰的職位。架構師有時候也寫程式碼,但大多數時間他們在設計複雜的系統,然後交給由初級和高階程式設計師們組成團隊來實現。架構師的工作就是,利用他技術方面的智慧以及多年的經驗(學習程式的模式和反模式),來為軟體專案建立合適的架構。有新的需求的時候,軟體架構師需要對專案選擇正確的方向,並估算應用程式的規模。

四、中層領導

  • 通常包含經理和負責人等職位(開發經理,專案經理,產品經理)
  • 做發人員的老闆(例如人事工作)
  • 向高階主管彙報工作

管理人員通常向工程師發展。他們的方向很多:如果你喜歡接觸開發團隊,並對細節感興趣,那麼可以選擇產品經理,做你的夥伴們的盟友;如果你對產品特性和增強其效能著迷,那麼做一個產品經理是最好的選擇。

然而大多數人的選擇是開發經理。這是個非常經典的職位,要求平衡專案經理和產品經理的需求和開發團隊的性格之間的矛盾。這個職位對人事處理和化解矛盾的技能要求較高,要經常做出退讓。

五、高層領導

(1)VP,CTO 或CEO

(2)是中層領導的老闆(例如 負責人事)

(3)向另一個高層領導或者董事會報告

高層領導負責管理中層領導。然而經理通常是不需要管理的,他們需要的是指導。中層領導需要知道高層領導的方向並跟進,不會得到非常具體的指示。高層領導的工作是,做重要的決定,並激勵工作人員緊跟決策,增加對工作目標的信心。

你在這條路上走得越遠,寫程式碼的機會就越少。到達頂峰的時候,做的都是人事方面的工作了。中層領導依然能在核心技術方方面體驗到樂趣,但是對於高層領導,就 必須把所有的時間花在人事上:激勵員工,領導,指定策略。如果你寫程式碼,也只能是不重要的專案(除非你是比爾蓋茨,但大多數人不是比爾,他是個極端的特 例)。

結論

今天,程式設計師的選擇是豐富多彩的。而且對於程式設計師的職業要求比歷史上任何時候都要高。對程式猿來說這是一個好的時代。但是任何時候規劃你的職業都不算晚。希望本文能排得上用場,給你一些指導和精神食糧。