致所有.Net者和有夢想的朋友們 – 共勉
- 2019 年 10 月 17 日
- 筆記
這篇文章很早就想寫的了,主要是人到了一定的年紀,就想嘮叨一些看法,認不認可不重要,重要的是生活給予你的酸甜苦辣,你都想一吐為快。 這裡主要基於多年來自己的一個行業感受和以及生活感想,嘮叨一下工作以及生活。
行業
現狀
最近幾年一直縈繞在我耳邊和正在身邊發生的事情,就是很多.Net的朋友們都紛紛往Java方向轉。
首先申明的是,本文並不是引戰。作為社會的普通工作者,我們關心的大多數都是自己的生存利益問題,而這樣最現實的的問題體現在市場中的行為是:同等級(title)水平的Java和.Net開發,Java的市面薪水是比.Net高的,而且尷尬的是,.Net的職位需求相對Java來說,可以說是少的可憐,而且非常大部分的高級職位(附帶管理職能)都沒有提到.Net背景,換言之,.Net在中國目前是沒被多少公司認可的。
這是一個非常可怕的循環,任何的東西的進化,都需要新鮮的血液和可持續的發展,沒有市場和認可,導致新的血液少了,現存的資源還會流失殆盡,人少更會導致想招人都招不到,公司招人都是想儘快到職的,發放個職位幾個月都沒招到合適的,這種不可控的風險,會導致招人的公司會考慮轉換語言來降低招人的風險。
最尷尬的是,已經在微軟的浸淫下有了點行業積累的中年人,是要怎麼才能逃過市場的淘汰呢?畢竟這個行業是日新月異的一個發展速度,我們不但要面對目前市場的一個暗流現象,還可能要面對後續職業發展的一個斷流風險。這並不是通過轉換語言就能避免的,因為這是這個行業的特性,是所有中年人必須面對的一個魔障。
客觀原因
一直有注意到一些培訓機構的動向,現在的培訓方向都是Java,PHP,GO以及大數據方向,遙想好些年前,好多培訓機構都沒有對語言有過多挑剔,各種C#,Java,PHP,Python等語言真是百花齊放,給社會提供大量的初級人才(其實可以說是人力)。隨著市場近十年的沉澱(其實可以說是各種語言的一個社區環境發展以及本身在適應互聯網發展的一個進化),更多的公司都願意使用成本更小的語言了,例如Java。
這其實是無可厚非的,大部分的公司的生存之道本來就是靠快速出產品來佔領市場份額。一個項目的開發周期是有限的,預算也是有限的,公司不可能花很多時間和金錢在造輪子上,也不想再次冒險摸著石頭過河,別人已經踩過的坑,我們繞過去就是了,沒必要引入重新踩坑和造輪子的風險,這恰恰是目前.Net這個生態環境暫時所不能給予的。這是很多.Net人都能看到的事實,沒得辯解,這確實是Java具備的非常大的優勢。
微軟沒有穩穩抓住移動互聯網的高速發展黃金期,這樣的結果直接導致了.NET在手機端的應用基本上無市場,而這些移動應用的興起使Java及Object C大熱,此消彼長,進一步降低了.NET的市場佔有度。
根本原因
我承認有時候選擇確實是比努力重要,畢竟方向對了,事半功倍,然而我覺得造成這樣思想流傳的一個根本原因是:我們還不夠優秀! 是的,我們還不夠優秀,或者說很多人還沒有找到通往優秀的一個途徑。試想如果你是最好的或者是在最好的路上,你會為以上的這些問題煩惱嗎?優秀的人會把關注點放在更好的提高自己,而不是一些客觀的因素上。
舉個不太恰當的例子,現在網上很多人都給個美女圖,然後問可以的話選當中的哪個,我知道很多人都會回答:小孩才選,當然全部都要!是的,當我們真的非常富有的話,這些都不是問題了。那麼問題來了,我們足夠優秀去做這些嗎?
我覺得我們所有的技術人員的重心應該是放在如何提高自己能力上面,畢竟打鐵還需自身硬,特別是我們這個技術日新月異的行業狀況,然而我們的一個實際情況是:大多數工作多年的程式設計師,大多數時間都在做重複的、沒有提升性的工作。
很多時候工作了許久年限的人的能力會比不上年限比不上自己的人的人,我相信很多人都注意到這種情況,究其原因,我個人總結一下主要有幾點:
- 上面黑色粗體字。這是職業規劃中最亟需改變的東西,盡量避免那些無法提升自己,也不能讓你學到任何東西(包括軟硬技能)的重複任務:因為它不會為你的職業增值,其他人也不會關心你所付出的努力。三年之後,如果你拿不出什麼成績,你只是一個熟練的操作工。
- 沒找到學習方向。學習是需要目的和方向的,當工作中已經不能給予你更多的知識增長了,多關注一下社會的招聘和論壇中的大佬動向,多關注一下各種職位要求的軟硬技能以及薪水對比,我相信你會找到自己想要努力的方向。
- 已經自我放棄或者根本沒意識到需要提高。是的,人生中比較悲哀的兩件事都說了,自我放棄和沒發現自己需要變更的地方,一個是心已死,一個是自我滿足,這時你需要的是身邊的朋友的幫助了,讓別人指出你的不足吧。
- 沒有碰到刺激自己的事。人的這個惰性真的非常奇妙,不刺激自己,那你永遠是不知道自己的潛能多大。舉個例子,部門裡所有你認為重要的人都漲薪了,就你沒漲,而你自己覺得付出了很多卻沒被認可,然後主管給了些非常牽強的理由來安慰你,你能接受嗎?我相信你會非常努力學習離開這樣的公司,而且這個學習是非常有成效。再舉個例子,你看到市面上招聘的職位,同樣的要求能力水平開出的薪資比你目前高很多,你會不會受到刺激進而讓自己去改變一些東西?
說一句一直以來我覺得很對的話:真正的不失業是,今天你離開了這家公司,明天還能找到更好的公司。大家好好理解一下背後的含義吧。
.Net Core的崛起
潮水退了,我們才看得到究竟是誰在裸泳。在光腚了這麼久之後,微軟決定要扳回一城。
說起來讓人難以置信,.Net已有將近18年的歷史了。第一版.Net 框架於2002年2月發布。多年來,.Net已成為Windows開發的基礎,而且隨著2014年.Net Core的發布和.Net 基金會的成立,.Net開始轉向開源開發模型,旨在成為所有.Net開發的基礎,Once Coding, Run Everywhere.
微軟和社區已經做了大量的工作,使.Net Core成為市場上具有競爭力的框架,幫助開發人員快速開發強大的應用程式。我們看一下下面的圖片,看看.Net Core能做些什麼。
用於現代微服務應用程式
.Net Core的設計本身就考慮了微服務,因此建立快速、低記憶體的JSON工具已完全可行。你無需依賴第三方庫,因為你可以使用內置的JSON reader來構建自己的解析器。你還可以利用對UTF-8字元的支援,使用更緊湊的JSON編碼器,與流行的庫相比,它在速度上提高了30%-80%。
有關微服務開發的另一個重大更新是對HTTP/2的支援。利用HTTP/2處理REST API可以提高客戶端和伺服器的安全性,還可以在開發過程中關閉加密功能,以簡化使用Fiddler等底層工具的調試。TLS 1.3版本擁有更好的安全性,儘管在Windows和MacOS等客戶端作業系統開始支援之前,還無法在桌面應用中享受到這些好處。如果在Linux上使用.Net Core 3.0微服務,並使用Cloudflare等服務來預防DDOS,那麼就可以感受到其中的好處。
個人態度
作為一個.Net、Java、C++、VB等語言都進行過項目開發的人來說,我對任何一門語言都沒有宗教式狂熱崇拜。那為什麼我還是會一直告訴自己不要輕易轉語言呢?
雖然我上面承認語言是沒有優劣性的,但不代表我會讓自己的職業生涯輕易引入不確定性。首要的就是術業要有專攻,其次就如同做架構一樣,不要輕易引入複雜度和不確定性,因為幾個不確定性就可以讓系統的風險成係數級別上升。我的經驗告訴我:
- Java最大的優點在於它的一個生態環境,然而.Net的生態環境正在改進,現在可以說是.Net最好的發展時期,隨著NET Core開源時代和Java收費時代到來,.Net後續的發展還是值得期待的。
- 轉Java意味著放棄.Net的行業積累,意味著我們需要花更多的時間從Java的開源框架一步一步深入學習,這裡面的學習成本如果花在.Net上,是否會更好呢?
- 除非在內部轉,而且要確保自己能待到足夠長的年限把Java的開源框架補起來和應用起來,不然跳槽出去你面試的是.Net還是Java?兩邊都是半桶水,很尷尬。
但是如果你是剛畢業或者工作不久的程式設計師,我還是會推薦你如果有機會從事Java的話,還是跟著社會的主流走吧,畢竟對很多人來說,生存才是第一位。
生活
這部分篇幅本來不應該在技術社區出現的,但想到工作生活不分家,不吐不快了 。生活這個詞的意境太寬廣了,很多人都以為自己在過著生活,其實他們只是按自己的方式活著而已。
有多少人想過自己每天忙忙碌碌的是為了什麼嗎?為了金錢和名聲?為了自己和家庭?還是為了所謂的理想?我們走的太快,以致於都忘了審視自己的靈魂。隨波逐流,以致我們看不清自己真正想要的是什麼。
生活?活著?
我個人對現在的一個社會現狀非常有感觸,不知大家有沒發現,很多從農村出來的孩子,都會懷念小時候那種很純真的年代。各種各樣的童年樂趣,已經被現代的電子設備所代替。
小時候,快樂很簡單,長大後才發現,簡單才能快樂。
有多少人記得自己在近一年內,有多少次能夠放空自己然後輕鬆入睡的?有多少人能夠脫離電子產品,把自己交付在人與人的自然交流中?有多少人,能夠感受到真正的幸福感?這一切的一切,有沒有人問過自己為什麼?
對於我們非常大部分的年輕人來說,越長大,我們擔心的越多,我們焦慮的越多,開始擔心生計,開始抓緊賺錢,開始為了面子活著,於是乎,年輕的時候就在一股腦沒日沒夜的忙碌中過去了,很多人都已經分不清生活以及工作的各自意義所在了。
工作的目的是為了更好的生活,生活的目的卻不是為了工作。然而我們為了活著,卻忘了生活原來的樣子。
我不定義生活的含義,但生活不應該是如此。
活著的人
以前跟很多朋友聚餐時,新的朋友都會問到行業,都會感嘆說IT行業薪水高,我淡淡的笑著,那是拿健康在換哦。你看不見清晨才下班的IT人,看不見凌晨打不著車回去的IT人,看不見早早擠著公交帶著黑眼圈的IT人,看不見年少卻已經白/禿了頭的IT人,只看到被平均下來的所謂高薪水。
記得剛工作的時候,碰到加班許久,同事就會用996,ICU來調侃一下。可悲的是,但是到了現在,這個調侃,已經是逃避不了的社會現狀了,更讓人痛心的是,時不時有猝死的案例發生,然而還是沒有讓社會有太多警戒。
我發現不單是我們這個行業,好多的行業都是,忙碌的工作以及讓我們忘了生活原本應該是一個什麼的樣子,讓我們已經忘了生活和工作是一個什麼樣的關係。我們只是活著的人,疲於拚命,疲於去追求紙迷金醉的東西,但是這個代價是如此之大, 因為我們已經沒法真切地感受生活的美好了。
獲得與自己對話的機會
我的經驗是:靜坐和暗示。
當一個人在靜坐時(或者躺著)不受打擾時,是最容易進入冥想狀態的,這時暗示自己把全身的肌肉放鬆下來,一旦真正放鬆下來,人的心情就會很愉悅,這時你就能暗示自己感受生活的美好,暗示自己努力之後獲得的回報,暗示自己要懂得變得睿智,積極的一切,都可以賦予此時的自己。
每天給一點這樣的時間給自己喘息,你會發現,生活就在你身邊!願每個人都找到生活,要知道每一天都是美好的一天。
如果本文引起了您的共鳴或是對生活的感嘆,那麼請您輕輕點個贊鼓勵下。