做了十年的程式設計師,為什麼我沒有加班
十年老碼農,基本上沒怎麼加過班。所以很長一段時間聽說程式設計師怎麼怎麼加班怎麼怎麼過勞,都以為是謠言。後來接觸的朋友多了,才慢慢明白為什麼我不加班,大概幾個原因:
- 用的是.NET
- 非網際網路行業
- 歐美外資企業
上述3個原因,第1個原因是根本原因,O(∩_∩)O哈哈~
很多同學覺得第3條才是根本原因。確實,有些用.NET的私營企業/網際網路企業,一樣加班;歐美外資企業即使用Java用PHP,一樣不加班。但是,我想強調的是:為什麼國內企業用.NET的越來越少,但歐美外資用.NET的卻越來越多?
這些事,也只有我們這種老碼農才知道了。簡單的說,其實就四句話:
- 以前用.NET是要給微軟交錢的
- 國內智慧財產權保護越來越嚴厲
- 歐美髮達國家的人工很貴
- 現在.NET開源和跨平臺了
具體點說,以前,我一定要強調以前,用.NET,尤其是ASP.NET,是要給微軟一大筆錢的,包括但不限於:Windows Server要收費,MS Sql要收費,Visual Studio要收費……而且這些費用都不低!
但是,這筆錢對於國內企業來說都不是事兒。我還是要強調,是以前。我第一家公司,伺服器都是盜版的,微軟發律師函,直接扔垃圾桶裡。但現在肯定不行了,不光是伺服器,公司內部使用的Visual Studio,甚至Office,都有可能會被微軟帶工商過來查,查到了就慘了——只有你公司還有錢。
而網際網路公司是不可能缺錢的,缺錢的都已經死掉了。所以,國內使用.NET的越來越少,尤其是網際網路行業。貴啊!這些東西,真貴。Visual Studio每個開發人手一套,Windows Server動不動就是做叢集,SQL server按CPU收費(記得)……全都是白花花的銀子啊!用Java,或者PHP,配合MySql啥的,就完全沒有這筆費用,多爽?
但是,注意這個但是,即使是在以前,.NET需要這麼多額外費用的時候,一樣很多歐美企業選擇.NET,為什麼?因為這些國家的人工太貴了。
.NET開發,就一個字:爽。一定要再加一個字,那就是:快。連起來:爽快!
不管是以前被鄙視的“拖控制元件”,還是現在大家都承認的“宇宙最強IDE”,都是這兩個字的體現。對企業而言,就是節省了人工。體現在很多方面,比如.NET開發人員的工資會低一點,畢竟這門技術的門檻要低一點,最直觀的就是windows server,圖形化介面,肯定比Linux簡單吧?也不一定需要養著幾個大牛,用的是微軟的產品,複雜的問題有微軟提供的售後專家團隊幫你搞定……
說白了,歐美這些企業家,寧願把錢給微軟,也不願意給開發人員。這也是為什麼傳統企業願意更願意用.NET的原因之一,傳統企業,是寧願相信機器或者機構,而不願意相信人(員工)的。微軟是一家信得過的公司,.NET是她的產品(機器),開發人員不過是使用這個機器的人。哪個工廠會由工人來定機器,而且用一套沒有生產廠家、沒有質量檢測報告、沒有售後服務的三無產品(仔細想想,開源是不是這樣的)?天方夜譚啊,簡直是。
上面說的,都是些老黃曆了。大概兩三年前吧,我懶得查了,.NET宣佈開源和跨平臺——因為扛不住了。網際網路企業就特麼這麼奇葩,顛覆了太多的東西。典型的,什麼都可以不要錢。做出來的產品,你隨便用,不收錢!百度google,QQ微信,各種亂七八糟的網站APP,不用你盜版,直接給你免費用!當然,免費的東西,你就不要太奢求質量了……所以,微軟賣產品那一套,越來越尷尬了。
微軟當然不能坐以待斃,最終宣佈開源跨平臺——其實就是免費。開源,程式碼(產品)你隨便用;跨平臺,Linux/iOS上面也可以跑。Visual Studio出社群版,MS Sql還扛著的,沒有免費,但你完全可以用mysql……這下,應該是把之前交錢的那些企業給樂壞了!甚至我記得在.NET宣佈這個訊息的時候,很多人忍不住的問:這下JAVA是不是真的要死了?
當然Java沒死,Android救了它。而且Java使用這麼廣泛的一門語言,像一個網友說的:就算你都死了,Java也不會死!——有點刻薄,但確實如此。
Java不會死,.NET也不會死,一個語言或者平臺,最危險的時候,是它問世的那幾年,要死,最有可能就死在那時候,.NET早已度過了這段時期。從2002年問世,.NET已經誕生16年了,旗下的C#,在Tiobe排行中,很早就佔據了第5的位置,之後就沒跌出過前7(我是這樣記得的),查一下吧:
- 最意料之外的是,Java居然一直保持著下降趨勢,呵呵。
- 其次是VB.NET的異軍突起,居然在2018年開始超過了C#?
- Javascript也讓我有點意外,某乎上前端鬧成了一鍋粥,以為火得一塌糊塗,其實長期來看也就那樣,沒啥變化。
- 最意料之中的是,SQL無比的穩定,簡直就是一條水平線。
- 其次是C++持續下滑,很好理解,桌面程式的時代已經越來越遠了;PHP從2010開始也一直在走下坡路,當然是被ASP.NET和Java Web給擠的,而且它作為一個指令碼語言,也越來越不適合越來越大規模的Web應用。
- 不能理解的是C,實際專案中這麼可能有這麼大的份額?我嚴重懷疑是因為大學計算機專業的課程設定。而且不明白為什麼在2016年到2018年這兩年間突然下滑。
大家可以去網站裡看看, https://www.tiobe.com/tiobe-index/ ,還蠻有意思的。
一不小心跑題了,但我還是想說:考慮.NET平臺的實力,至少應該把C#和VB.NET加在一起算才對,他們都是.NET平臺下的語言。那麼按2019年2月的統計,他們佔了2.846%+7.095%=9.941%的份額,僅次於Java和C。考慮到MSDN良好的文件(所以不用使用搜索引擎),.NET非學院派的背景(很大大學教學使用的都是Java和C),這個成績簡直是牛逼到爆!
前面說的是企業為什麼選擇.NET,和加班啥關係呢?
你必須要明白,人力成本高,通常就意味著勞動法律健全。或者說對勞動者的保護更有力。我忘了那裡看到的一個理論:如果沒有勞動法的保護,工人的平均工資永遠只能維持在“勉強活著”的水平。禁止加班,或者說加班要給加班費,是勞動法的基本要求。這些企業在這種法治環境下已經形成了習慣:讓員工無償加班是可恥的,更是違法的!
但對比中國的網際網路企業,呵呵。前段時間,哪家公司,還有點名氣的,現在名氣更大了,居然在年會上公然要求“全面996”,“沒時間陪家人就離婚”?在這一點上,很多網際網路企業,還比不上一些傳統企業,人家至少知道加班了要給加班費。當然,換個角度想想,網際網路行業工資這麼高,也可以算做“已經含了加班費”啦。
最後最後,大過節的,我都沒想到,Java和.NET之爭在園子裡又火了一把。我已經來晚了,就提供一個視角:Java的工資真的比.NET高麼?你算的是月薪還是時薪?996比965高個百分之十百分之二十真的那麼有意思?另外,學Java就真的好找工作?Java的崗位需求和.NET相比,是3:1的比例,但學Java的同學和學.NET同學的比例呢?我估計30:1都不止吧?而且學Java的,多半都是科班生喲。你培訓班畢業的,和他們去爭,呵呵……
隨便說說,大家自己考慮。反正飛哥的“源棧”就18張床位18張桌子,我是無所謂的,不可能這麼大一箇中國,18個願意學.NET都沒有。
+++++++++++++++++
最後,想招一個“半工半讀”的軟妹子,在“源棧”學習開發之餘,能幫我乾點雜活,大概就是招生(在QQ群裡回答諮詢)/行政(淘寶上買點東西啥的)/其他日常管理事項吧。可以視情況減免學費、提供津貼等,最好相貌清秀、溫柔細心,別買個床墊搞成這樣就行:
歡迎毛遂自薦或者推薦,有意的加QQ群:729600626,有意向只參加“源棧”培訓的,也可以加這個群。
文章歡迎轉載,但別把我最後的招聘刪了,^_^