轉眼已經畢業將近三年,博主也在博客園潛水了三年。一直以來都想寫寫博客記錄本身的工做感悟和學習心得,無奈因爲各類緣由一直擱淺(都在草稿箱裏)。年後,身邊的朋友都忙着跳槽找工做,只是有的朋友一兩天就拿到比較滿意的offer,有的朋友辛辛苦苦一個月尚未所獲。做爲一個程序員,我想談談我的對程序員競爭力的一點見解,輕噴。PS:前先後後寫了大半天,也是醉了。。。程序員
關於編程語言,一直以來都能引發激烈的爭論,咱們這裏不討論編程語言自己,只探討與語言相關工做的競爭力。編程
C++ :遊戲開發(cocos2d-x)、Linux服務端、雲計算。。。設計模式
Java :Android、服務端,BS、CS。。。架構
O-C :IOS框架
C# :Unity3d、BS、CS。。。編程語言
JS :Web、服務端,遊戲。。。工具
PHP :BS。。。學習
做爲一個程序員,博主一直以來都很喜歡C#這門語言,所以博主結合自身狀況談談對技術的一點愚見。一直以來,博主都認爲,做爲一個程序員純粹從技術的角度來講,都應該「向內」和「向外」這兩方面努力。測試
這裏所說的「向內」指的是深刻到語言自己,也就是修煉內功。博主一直反對語言自己只是工具的說法,由於每門語言都有其獨到的特性和其所遵循的哲學。博主工做兩年多以來最大的感觸就是:原來我纔剛入門。對於如何深刻學習C#,看這裏:http://www.zhihu.com/question/28700639。編碼
向外是個大話題,博主也談談本身的拙見。
首先,做爲一個C#程序員,要深刻理解面向對象的概念。這裏的深刻理解固然不是簡單的記住:封裝、繼承、多態,而是要熟練面向對象的五大基本原則、要熟練運用經常使用的設計模式(包括MVC、MVP、MVVM等)。
其次,要理解ORM、IOC、AOP、SOA,TDD等的概念,熟悉相應的實現框架。
最後,要增強軟件設計和架構方面的能力,至於能達到什麼高度,就要看我的的天賦和努力了。
讀過軟件工程的都知道,正常軟件項目的週期:問題定義和規劃、需求分析、軟件設計、軟件編碼、軟件測試、運行維護,一個成功的軟件項目真正Coding時間的佔比是不多的。因此做爲程序員的咱們,不能單純的提升技術,溝通能力、文檔能力、管理能力都很重要,在此博主就不一一列舉了。
若是把一個程序員的能力比做一個美女,那麼技術能力就是一個美女的外在,其餘能力就是內在了。外在決定了你能不能進入一家心儀的公司,而內在決定了你能走多遠。
做爲程序員,咱們也要注意提升本身的形象。不要成天宅在家裏就知道毛片、泡麪、擼啊擼,永遠大一碼的T恤衫以及幾天不洗的頭髮,讓別人一看就知道你是程序員。世界那麼大、那麼精彩,咱們要多出去走走、處處看看。