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