我從2011年下半年預謀轉型,2012春季正式轉型到iOS,看了《通過本人 6 年.net 工做經驗證實 .net 工資確實比 Java 低》這篇文章,一會兒有不少感慨。前端
我很差意思算我幹了多久了C#了,反正從VS2002開始接觸,從VS2003幹起,來帝都混飯吃的時候用的VS2005,VS2010的時候離開.NET平臺,基本上都是小公司。回過頭來看看,有一種浪費青春的感受,由於幹這些年C#,我的着實沒有什麼進步,走了不少彎路。固然,我不否定我資質平庸,可是不可否認的是.NET這個技術真是入門容易,提升卻很難。程序員
有些可有可無小事你會發現印象特別深入,下面開始回憶往事和無節操吐槽。web
我學C#的時候買一本叫《C#本質論》的書,講的應該是C#1.0吧,爲何我要提這本書呢?由於這本書講了不少語言細節,一次我在公司,我給你們講obj as ClassType 和(ClassType)obj的區別的時候你們投來了真誠和讚許的目光,讓我得意了好一陣子。如今再看,這TMD不是基礎嘛。看了這本書的另外一個好處是,通常筆試C#語言上問題,好比多態,重載的問題之類基本沒問題了,有時候面試官還以爲我語言掌握的不錯。這本書貌似不是什麼名著,後來也沒在系統的看過C#語言的書了。可是,我接觸到的不少C#程序員基礎差的使人髮指,好比有一次一個ASP.NET頁面,測試的時候沒問題,可是上線的時候頁面常常有詭異的錯誤,最後排查原來是把屬性全設置成static了,還有SQL語言都是直接拼接的,致使後來被SQL注入。面試
順便吐槽一下webform,用C#以前,我是寫PHP的,因此分的清前端後端,可是一些直接用webform的人來講,他們是分不清前端後端的,只會拖控件。一次一個朋友讓我去個小公司幫忙,看看能不能解決他們的問題。到了以後才知道,原來他們用嵌入了activex,activex上的某些操做會致使頁面刷新,因此treeview 控件一會兒就失去狀態了,後來我試圖給他講POSTBACK,解釋爲何失去了狀態,可是他一直糾結於爲何嵌入了這個控件treeview就不行了呢,之前是能夠的,後來提議讓我給他完成這個功能,看他們迷惑的眼神,我只想趕快離開。sql
下面吐槽一下本身,很長一段時間個人SQL仍是不好的,之前光研究什麼NHibernate, linq to sql, entity framework。後來也是一次面試,考數據庫內容的時候被鄙視了以後纔看SQL SERVER 2008 INSIDE系列,先從那本SQL語言基礎看起,看了幾章就真心體會到本身之前的數據庫水平有多爛。數據庫
還有一段時間,很迷戀JAVA技術,設計模式啊,框架啊,還都是工業標準啊,牛逼的要死。如今呢,websphere就是落後笨重的代名詞,這都是彎路。後端
因此在回到爲何.NET程序員工資低,其實最簡單了,由於水平不夠,爲何干了六年仍是沒到月薪一萬以上,由於確實沒到那個水平,好比我吧,我把大部分時間浪費在了學習各類框架的API上了,這有什麼用呢?若是把六年的時間去研究數據庫,去研究前端技術,那麼在帝都,15K以上絕對不成問題。設計模式
其實糾結於.NET和JAVA程序員那個工資高的意義不大,由於JAVA爛程序員也很多,他們也拿着不高的工資。而前面提到的文章的做者也沒必要糾結,厚積薄發,跳槽以後薪水翻翻的例子更是不可勝數,在帝都,.NET程序員的薪水仍是給的起的,好比elong就是.NET的,聽說都是15K以上都比較普通,每一年至少13.8個月工資在加額外獎金,如今通脹了,不知道他們漲工資了沒有。JAVA也好,.NET也好,都不過是工具,不過一個是oracle牌,一個是微軟牌。決定木匠薪水的是手藝而不是用的什麼牌子的錘子,換個牌子的錘子就不會幹活了?即便微軟牌錘子倒閉了,你就當不成木匠了?oracle
可是,.NET相比JAVA,確實門檻低,門檻低的結果就是混進來不少低水平程序員。大量低水平程序員在一塊兒工做,若是想提升的話真的很難,要走不少彎路。這麼多年來,微軟的技術都是隻有微軟才用的好,就很說明問題。而微軟的技術爲了下降門檻,常常設計出很是複雜的框架,好比我前面吐槽的asp.net webform,入門很簡單,可是想掌握的話,真要費一番功夫,可是等你掌握的時候,其實發現沒什麼用,通常狀況下,用不着本身實現一個webcontrol,並且設計一個好用通用的控件,仍是很難的,還不如直接用PHP簡單靈活。後來推出MVC,算是浪子回頭了。框架
因此我勸.NET程序員不要把眼光侷限於.NET平臺,並且不要人云亦云,必定本身嘗試,好比不少牛人都喜歡黑C++,我之前人云亦云,跟着黑C++,可是爲了轉iOS,學了C++,發現根本不是那麼回事,C++那麼設計是有他的道理的,是權衡利弊的結果。我如今看C# vs JAVA的言論都以爲很沒意思,的確我認爲C#在語言上比JAVA好一點,可是這點優點根本沒法撼動JAVA的地位。還有就是少研究框架,少追新技術,新技術的失敗率仍是很高的,多研究一下本質的東西,作B/S的好比前端技術,HTTP,數據庫,說來慚愧,很長時間我都沒明白均衡負載是怎麼玩的。
另外,少貼.NET的成功案例了吧,顯得特沒自信。
最後但願你們都加薪發財。