1. 程式人生 > >在Java大環境下.NET程式設計師如何奪得一線生機

在Java大環境下.NET程式設計師如何奪得一線生機

  先來看一組資料,從某招聘網站直接檢索3-4w的崗位,會看到Java與.NET社會需求量的巨大差異,這裡就不再對比高薪的崗位了,.NET的高薪崗位更是少的可憐:     筆者從業十餘年,一直是在.NET圈子摸爬滾打,曾經也有幾次機會可以轉Java,但或許是懶惰,或許出於對微軟的信任,也或許是相信市場供求關係的調整,總之,沒有換過語言,一直追尋微軟腳步,實踐各種新技術並擴充知識面。身邊也有不少.NET技術人員換成了Java,有些發展的著實不錯,有些也不盡人意。回頭望去,可能真的應了那句話“選擇比努力更重要”。   現實中我們得正視自動的短板,筆者說說自己在.NET技術落地上遇到的一些困難,我想大家或許都多多少少遇到過,應該有些共鳴: 1 普遍對.NET技術的不信任   兩個架構師出了兩套方案,.NET的和Java的,很難得到公平的對待。即便Java的方案粗糙,但公司更信任Java一些,畢竟大環境如此,人也好招。而且很多領導也不太懂技術,看不出不同方案間懸殊的差距。Spring全家桶也著實給力,一套下了,基本通吃。雖然.NET Core如今發展的也不錯,但還是有人氣沒市場吧,一些招.NET Core的公司,可能面試題都不知道怎麼出,自己公司也不用,就是面試上聊聊。 2 在大資料處理上的短板   .NET其實很早就能做大資料專案了,有本地的也有云端的,本地的太生僻,沒人知道,也很少有.NET開發去學習,雲端的更是用不起,筆者身邊倒是有一位做.NET大資料的同僚,他的話很中肯,“你跟人家講.NET做大資料,人家心裡就是‘呵呵’”。 3 流計算的空缺   .NET的流計算剛剛開源,這時候資料太少,基本不會用。 4 Azure著實消費不起   講真,筆者用過2年多的Azure真的很好用,但是就是真真兒的貴呀,中小企業更喜歡包年的產品。 5 不好招人   雖然行情不好,很多人找不到工作,但是企業就是招不到合適的人。現在,.NET方面的硬手,以當年的老人為主。因為近些年,社群、書籍、培訓機構、學校對.NET都比較冷淡。.NET新技術的書籍很少,大多都比較淺顯。新人獲取知識的途徑受限,對.NET技術的理解並不理想。如果不知道如何檢索微軟放出的資源,就很難與時俱進。微軟的很多資料是沒有中文版本的,很多人還是難以接受英文文件。總之,硬手不好招,上半年招到個會AOP的,感覺跟中獎了一樣。   然後,正題來了,能看到這裡說明,大家也都是.NET同僚。面對冷清的市場環境,我們該如何應對呢,我說下自己的想法: 1 如果你還年輕而且又有野心和精力,還是換Java或者別的語言吧   .NET的價效比比較低。你需要掌握微軟的產品和技術,還需要學習非微軟平臺的產品和技術,要了解微軟的Azure,最主要的你英文要好,因為英文是.NET繼續走下去最大的砍兒。總之,就是學的多,學的雜,學的累,然後掙錢少,不好找工作,不少工作需要英文。 2 如果不想換語言了,那麼應該做以下這些準備
    • 學習英語 學習英語是我們首要的任務,.NET主流的大公司除了萬達以外,我瞭解的都是外企在用,英語交流將會成為最大的障礙。
    • 學會檢索微軟的資源 微軟提供的3類資源比較有營養:第一,微軟專案最佳實踐,就是微軟的程式碼,比如:ABP、eShop;第二,微軟提供的電子書,比如《Cloud Design Patterns》;第三,MSDN上一的一些不錯的博文。
    • 多多實踐開源技術 比如Docker,K8s等
    • Azure Azure微軟一直在推,有條件的話還是學習學習,沒條件的看下文件瞭解下,有些外企在用,比如斯倫貝謝、微軟,你比別人瞭解的多,就能脫穎而出。

  總之,在Java大環境下.NET程式設計師如何奪得一線生機的方法就是——學英語+學習微軟官方程式碼/文件+開源技術。

  如果,你沒有動力,想要放棄,我覺得有三點,我們要比Java有優勢一些:   第一,VS的最好用的IDE。   第二,外企不太在意程式設計師年齡,國外65歲的程式設計師都有,所以進入外企可以降低下中年危機的風險。   第三,有些東西Java不擅長,比如與微軟產品的整合如AD、SharePoint、Exchange,還有Window客戶端應用開發方面。   然後,七夕節了,你想想你不努力,你老婆發訊息怎麼回覆。
  祝大家,七夕節快樂,工作雖忙,也別忘陪伴家人哦。