1. 程式人生 > >大佬視角:談談程式設計師的離職和跳槽

大佬視角:談談程式設計師的離職和跳槽

收入是由什麼決定的?

這位員工辭職的原因主要有兩個:

公司的薪水無法達到他的預期,未來一年在公司的收入前景也不是很明確。

想要去做更底層的開發,方向是使用C/C++開發3D圖形影象。而我們公司主要是.NET開發。

既然其中的一個原因是薪水無法符合預期,那麼首先要搞清楚的就是收入是由什麼決定的。

1.積累

首先要說的一點就是:積累。積累就是你在這家公司所創造的價值的積累。

你今天所領的薪水,並不是由你現在所創造的價值所決定的,而是包含了以前一段時期內其他同事所創造的價值。舉個例子來說,公司目前排名前三的大客戶:客戶A、客戶B、客戶C。

客戶A是2008年接下來的,現在每年為公司貢獻600萬。

客戶B是2009年接下來的,現在每年為公司貢獻500萬。

客戶C是2010年接下來的,現在每年為公司貢獻350萬。

我的年薪是你的兩倍還多。可我也承認,我現在所能創造的價值,和我的能力絕對不可能是你的兩倍。可問題是:2008年、2009年、2010年這些年份我都在公司,上面的每一個大客戶,都有我的貢獻。而你2012年才新進公司,你並沒有之前的積累。所以,新員工入職後,工資相較老員工會低一些是正常的。很多新員工總是認為自己的收入低了,吃虧了,實際上,很多情況下,新員工在加入公司的頭一年,公司僅能維持平衡,即新員工創造的價值全當工資發給他了。直到第二年,有了上一年的積累之後,公司才有所盈餘。而加入半年就離職的員工,對公司來說基本上是虧本的。這也就解釋了為什麼人員流動特別快的公司活不長,因為人力成本太高。

關於積累,我可以再舉幾個例子說明一下:

洪小蓮,李嘉誠的祕書,幾十年來一直追隨李嘉誠,她從幾千元的工薪族,做到身家上億的工薪族,享受的是公司成長的回報。這種回報並非是她個人的學識和能力有了大幅的提高而得到的等價交換,很大程度上僅僅是因為她忠誠地待在這趟車上。

楊元慶,聯想現在的CEO,研究生畢業後就一直追隨柳傳志,儘管一開始從事的是他並不很樂意的銷售工作,但最終還是堅持了下來。上一次注意到他,是看到一則新聞,標題是“楊元慶自掏2000萬獎勵一線員工”。

上面只是正面的例子,也有反面的例子:

吳士巨集,曾寫了一本書叫做《逆風飛揚》,可謂是紅極一時。1986年進入IBM,1998年離開IBM,進入微軟,擔任微軟中國公司總經理,1999年進入TCL,2002年離開TCL。之後就離開了公眾的視線。我特意去百度搜索“吳士巨集現在在哪裡”,沒有任何的訊息。我想如果她很成功的話,一定還屬於“公眾人物”,不至於連度娘都不知去向。

跳槽的話顯然就要放棄先前的積累。比方說,當你跳槽到另一家公司以後,你曾經做過的系統、曾經服務過的客戶仍然在為先前的公司創造著利潤,可是跟你已經一毛錢關係都沒有了(極少數公司有股票,另當別論)。所以跳槽之前要慎重考慮,跳得不好,有可能越跳越低。

既然新員工相對於老員工來說,收入低一些是正常的,那麼老員工工資高也是合情合理的。但是有一些公司,我將其歸為“無良公司”,它們會在老員工的收入高到一定程度的時候,將老員工砍掉,然後再招募低廉的新人來承擔之前老員工的工作,以賺取更高的利潤。我覺得這些都是小聰明,最後的結果就是,聰明能幹一些的人,在看出公司的這些伎倆之後果斷離職;能力一般的員工,也會把你這裡當成培訓基地,翅膀硬了就飛了,受損的最後還是公司,實在是得不償失。還不如厚待老員工,也讓新進的員工對未來有一個更好的預期。也有一些人向我抱怨說:“老員工待得久了,幹勁都被磨光了,每天都是混日子,還不如新員工,不開他開誰?”。然後我反問他:“激勵員工難道不正是你工作的一部分嗎?”。這種情況的出現,更多時候,是管理者的責任,而非員工。

最後補充一點:我並不認為老員工工資比新員工高就一定是合理的。當公司對一個新員工開出很高的工資時,其實是出於這樣一種期望:他能推動公司進步的更快。而如果他真的這樣做到了,公司進步的更快了、收益更高了,可以反哺老員工,從而公司的整體待遇水平都提高了,不是皆大歡喜嗎?可能一些老員工並不能明白這些,所以,當招一個新員工工資水平遠高於現有的老員工時,為什麼要這樣做,最好能讓老員工知曉。

2.老闆

這個“老闆”是寬泛的老闆,不一定是公司最大的老闆。有的時候,公司比較大,你的職位又比較低,大老闆連有沒有你這個人都不知道,此時的老闆就是你的頂頭上司。很多時候,你的收入與他也有著莫大的關係。

對於我來說,我的原則是:在我的能力範圍內,我會為我的員工爭取更好的待遇。表面上看,這樣做很蠢,花6000塊就能僱到一個人,為什麼要花8000塊?我不是這樣認為的,我期望能和我的員工形成這樣一種互動:我盡我的能力為你爭取好的待遇,你也盡你的努力做好工作。

我不能要求員工“你先把工作做好,我自然會給你好的待遇”。總是要有人先邁出一步,總是要有一方先信任另一方,所以在你什麼還沒有做的時候,我就先信任你,並且給你儘可能好的待遇,那麼我該做的事情都做了,我問心無愧,剩下的,就看你的表現了。

可能有人會想,都這樣了怎麼還會有人提出辭職?實際上,提出辭職的是一個畢業剛一年的小夥子,1989年生,畢業1年多,我給他的待遇是試用期9000,轉正後9500。在給他這個待遇之前,我是進行過一些調研的,我打電話給我的一個表妹,她是西安電子科技大學的研究生(陝西省排名第三的學校,211院校),她和她的同學在今年畢業找工作的時候,多得是6000到8000的工資。所以從這方面來說,我並沒有虧待你,而你要求12K的工資,我並不是不願意給這麼多,你的表現也說明了你是個很有潛力的人才。只是受經濟環境的影響,今年公司的效益不及往年,要在一定程度上節省開支。其次,你讓其他的老員工情何以堪?所以,綜合起來,你的要求超出了我的能力範圍之外,我無法開口向公司申請提高你的薪水。

3.門檻

除了積累和頂頭上司兩個決定因素以外,第三個決定因素就是你從事工作的門檻。為什麼餐廳服務員的收入很低?為什麼坐在前臺收發快遞的文員收入很低?因為這些工作的門檻很低,門檻低就意味著你不做有的是人能做,你不做有大批的“後備隊伍”在等著做。由於龐大的後備隊伍的競爭,你就無法提高自己的要價。而提升自己所從事工作的門檻,實際上就縮減了競爭者的規模。

程式開發也是一樣。如果你想收入高,你就做一些別人做不了,又有市場的。

.NET在程式開發中就屬於門檻比較低的一類。箇中原因我想大家都懂的,就不在這裡贅述了。做.NET不需要你科班出身,或許一點興趣再加上一點時間,或許一個類似北大青鳥的培訓,都可以讓你開始從事.NET開發了。你可以不懂指標、不懂資料結構、不懂演算法、不懂彙編、不懂很多東西,但照樣可以做出一個.NET程式來。而這些人往往又是對薪資的要求沒那麼高的,這樣無形中就拉低了.NET程式設計師的“身價”。.NET的易學易會,很大程度上是由於它的封裝性比較好。底層的東西都遮蔽掉了,你只要知道學習一下名稱空間,然後尋找相關的API去呼叫就好了。記得我們公司曾經開發過一個基於C語言的手持裝置程式,沒有任何的類庫支援,連排序、連結串列這樣.NET中的基本功能,都要自己來實現,更別提記憶體管理和程式邏輯了,和.NET比起來,門檻就相對高一些了。

所以,如果想收入高一些,那麼就去做更高難度的技術工作,這裡隨便想了幾個例子:

百度、谷歌的搜尋引擎演算法。

微軟、谷歌、蘋果的作業系統。

網路遊戲,例如《征途》的遊戲引擎。

大型企業的ERP,比方說SAP。

軟硬結合,比如微控制器,電氣自動化。

以及我這位即將離職的同事說的,3D圖形影象。

所以,從這個角度來看,這位同事的辭職是明智的,他很年輕,有的是機會重新選擇自己的道路,所以我也祝願他能有更好的發展。而這些好賺的錢,就留給我們來做了:-)。

4.平臺

接下來要說的一個決定因素是平臺。很多程式設計師覺得30歲就瓶頸了,30歲寫程式就到頭了,實際上,這只是你的平臺比較小罷了。就拿我自己的公司來說,平臺就不大,只要是踏踏實實工作過5年的程式設計師,基本上就能夠勝任公司90%的技術工作了,剩下的10%,請教一下其他同事,進行一下技術交流,也完全能夠解決。這樣就存在一個問題:隨著你年齡的增長,你的生活壓力越來越大,要求越來越高,可是公司只要5年經驗的程式設計師就夠用了。假設市場上5年經驗的程式設計師的平均要求是10K,憑什麼要給你15K?你的優勢在哪裡?如果你沒有突破,就會有“30歲寫程式就到頭了”的感覺。

而如果平臺大一些情況就會不一樣,比方說,你去了IBM,可能5年的經驗不過剛剛入門而已。IBM有一個工程院,其中有5位院士(IBM Fellow)獲得過諾貝爾獎,很多人鑽研技術都超過20年或者更久。如果你對技術感興趣,並執著去鑽研的話,你可以不斷地去挑戰和攀登。

當然,你可能沒那麼好的運氣和實力進入IBM,那麼其他一些中型的平臺也是不錯的,比方說阿里巴巴、金蝶、百度、騰訊等等。在這裡,至少你有足夠的理由和需要再去進行深入學習。因為在這些地方,5年的經驗是遠遠不夠的,還需要進一步地學習和努力。

如果你和我一樣,不巧沒有那麼大的平臺,此時的選擇大概有這麼幾種:

1. 你可以憑藉你在公司的積累(第一節講過的),過比較安逸的日子。如果比較幸運,押對了寶,公司發展得比較好,收入一樣會變得非常可觀;如果比較不幸,公司經營的狀況不好,那就要承擔比較大的風險了。說得難聽一點,公司倒閉了你去哪裡?你過去的積累已經一文不值,而你的年齡已經35,水平卻相當於只有5年經驗。你的競爭力在哪裡?

2. 你可以憑自己的努力將現在所在的平臺做大,換言之,把自己的小公司做大。這當然是比較積極的做法,也是我一直努力的方向。現在你看到的大公司,不也是從小公司一步一步做起的嗎?不過這裡還有兩個問題:1、有的時候,你的力量在公司中的佔比沒那麼大,你再怎麼努力推進的速度也還是有限;2、你缺乏慧眼,選中的公司本身就缺乏長大的資質。我們往往只看到成功了的公司,卻忽視了更多在競爭中倒下的公司。

3. 主動選擇更大的平臺,也就是跳槽了。但是跳槽也是有風險的,尤其是過了30歲的程式設計師。你在這家公司的收入高,是因為有之前的積累,換一家就沒有積累了,等於從新人開始,而大多數的公司,5年經驗的程式設計師就夠用了。如果跳得不好,收入還可能越跳越低,如果還有老婆、孩子、房貸,那將面臨更大的壓力。所以當你想要從一個低的平臺向更高的平臺跳躍的時候,平時就要做足功夫,認真積累自己的實力。對於我來說,我缺乏大型專案的管理經驗,但是沒關係,我努力學習考一個PMP沒什麼問題吧?我缺乏大型軟體的架構經驗,但是沒關係,我把.NET的基礎知識和各種設計模式掰開了揉碎了沒什麼問題吧?我缺乏大型團隊的管理經驗,但是沒關係,每次遇到管理方面的問題我都認真思考仔細總結沒什麼問題吧?有些人總是抱怨沒有機會,運氣不好,我想機會總是有的,但只屬於有準備的人。

5.行業

我想說的最後一點就是行業。有時候你覺得已經萬事俱備了,可是你所處的這個行業本身就屬於極低利潤率的,你再怎麼努力也很難有很高的收入。很多情況下,可能公司也想提高你的待遇,但是由於缺乏利潤的支撐,公司也是有心無力。所以,在選擇公司,尤其是小公司的時候,要重點考察一下公司所處的行業如何?是不是前景比較好、利潤比較高的行業?如果是大公司的話,這方面的問題就會少一些,因為如果方向有問題,它就無法做成大公司。

行業是有周期性的,可能在一段時期內這個行業好,下一段時期這個行業就不行了。最典型的一個例子就是軟盤,我現在的老闆在成立這家公司之前是做銷售的,他有一個客戶,做索尼軟盤的,這種軟盤我想很多80後都見過。當時生意做得很大,可是當光碟出來以後,軟盤的市場是會急劇萎縮的,可是這家公司的領導層居然沒有看到,或者是看到了但不願意轉變,像鴕鳥一樣在危機來臨時把頭埋在土裡,繼續做它的軟盤。幾年以後,這家公司就倒掉了。

選擇行業也不是選擇暴利行業就一定好,比方說房地產。資本都是逐利的,當一個行業屬於暴利,同時所有人都知道它是暴利的時候,危機就來了。這個危機就是會有大量的社會資源、人力物力投入到這個行業中企圖分一杯羹。而全域性上又沒有一個統一的把控,這個行業究竟需要多少公司才是合適的?最後的結果就是過剩。就好像股票在崩盤時,也許跌到3000點是比較合理也比較正常的位置,但是由於人們的恐慌,它就跌到1600點了。

感謝閱讀,希望這篇文章能給你帶來收穫。

另外在這裡推薦一下我的交流群:236283328    我主要是提供一個免費平臺,群內會 Java 工程化、高效能及分散式、高效能、深入淺出。效能調優、Spring,MyBatis,Netty 原始碼分析和大資料等視訊及文件資料,因為分享的是Java進階資料,所以小白勿入群,謝謝!

不是所有一年工作經驗的畢業生都有這樣的待遇,我主要是看能力,而不是年齡、學歷等。特別說明一下,以免誤導。