什么决定了程序员的价格,程序员该如何溢价
什么決定了程序員的價格
所謂的職業就是企業和員工之間的價值交換。
企業付出薪水,福利來雇用員工,以期通過員工的勞動來實現企業的目標。
員工付出勞動,技術,以期通過在企業中的勞動來實現自己的目標。
當雙方都覺得收獲大于付出的時候,交換就會產生,于是供需雙方達成合作,價格也就產生了,當然這里的價格不僅僅是薪水,而是多方面組成,參考馬斯諾需求,現分類如下:
- 生理需求:薪水夠不夠吃飯,是不是老是加班,長期出差,是不是需要大量應酬喝酒抽煙,是不是腰椎頸椎有問題,是不是壓力太大影響心理健康。
- 安全需求:工作是不是穩定,是不是會隨時裁員,朝不保夕,公司可能不可能被兼并或者面臨倒閉。
- 社交需求:團隊氛圍是不是很好,是互相信任,還是勾心斗角,工作環境活潑還是壓抑。
- 尊重需求:公司或者上司的領導風格是否過于強硬,是否尊重員工的勞動成果,員工的工作是否有技術含量,在業內得到認可,員工所在的公司是否得到社會的尊重。
- 自我實現需求:是否能夠學到新的技術,是否能夠職位上難以提升,是否工作過于清閑,職位被架空。
那么程序員到底價格幾何?由什么來決定的呢?
在工作或者面試中,我們常常看到有以下兩方面的誤區:
- 企業方面:在給企業提出多少薪水的時候,想想你給企業能夠帶來多少價值。
憑什么你一個大學畢業生,剛入職場,就要求給你2萬的收入?你想想你一個月能夠給企業賺2萬元么?我們還要花時間培養你。你先來我們這里,給你一個月5000,等你的能力上去了,相信薪水也會跟著上去的。這是我們經常聽到一些老板的理論,每當這個時候,被問到的求職者就會苦笑不得,我也不知道我能不能給企業每個月賺2萬,但是我的確得到了另一個公司2萬的offer,你給不了,我就要去他們那里了。
老板的這種理論是典型的使用價值決定價格的理論,雖然這些老板對求職者是這個樣子的,轉過臉來對消費者就不是這個理論了,變成了供需理論,同樣一個房子,原來5000一平米,現在30000一平米,房子給我帶來的使用價值值得我花這么多錢么?老板會說沒辦法,需求太旺盛了。其實同樣對于程序員也是這個樣子的,是供需而非使用價值決定了我們的價格,我們只要保證在市場中像我們這樣整體素質的人需求大于供給就可以了,舉一個極端的例子,如果公司想聘用一個清華大學畢業,學生會主席,英文流利,ACM程序設計大賽冠軍,就是他寫出的軟件年年賠錢(當然賠錢的原因很少是因為程序員的問題),你也必須要付出相應的價格才能聘用。
- 員工方面:我們程序員千辛萬苦,加班加點做出的軟件,老板賣了1000萬,可是每個月還是給我們5000一個月,連加薪都不肯。
就像上面講到的,軟件賠錢的原因很少是由于程序員,其實軟件賺錢的關鍵點也多不在程序員。為什么這么說你不是關鍵點呢?其實還是一個供需的概念。假設你的薪資水平是5000一個月,你們100個人一起完成了這個項目,和你同樣水平的程序員在市場上有10萬人,可以組成和你們一樣的團隊1000個,如果有機會的話,每個團隊都想賺這1000萬,但是卻只有你們團隊接到了這個項目,這里面可能有以下的因素:一是別的團隊不知道,你的老板說不定跟了這個客戶n年才知道客戶需要這個軟件,這叫信息;二是知道了,卻拿不下來,招標人說不定是你們公司副總的小舅子,這叫資源;三是知道了,也有可能拿下來,但是前期投入需要500萬,做完了才能賺1000萬,可是你們這個團隊所有能湊加起來才100萬,掙不到錢公司就得垮,這叫資本;也可能是銷售賣的好,也可能是市場廣告做的好,客戶相信你們的品牌等等等等,正是這些因素而非你的技術,讓你們團隊從1000個相同類型的團隊中脫穎而出,所以你不是關鍵點。當然,如果你掌握的是很牛的技術,整個市場上一共100個人會,而想使用這個技術的公司就不止100個,所以是因為你的技術使你的公司脫穎而出,你理所當然的成為關鍵點,那1000萬中你得一大部分也不為過。
所以,程序員的價格是由供需關系決定的,有一個概念叫做機會成本,也即公司換掉你再招一個需要多少錢,那么你大概就是這個價格。就像第一個誤區中的公司,你如果想招這樣的牛人,無論你的公司是否盈利,就必須要給這么多錢,你嫌他要的高,把他趕走,再招一個同樣水平的,還是需要這么多錢,除非你降低要求,招個不那么牛的。再如第二個誤區中的員工,如果你所從事的技術很多人都會,甚至培訓一下就可以速成,那么如果你因為覺得這樣不公平就不想好好干,老板可以辭掉你后,同樣花5000到6000再招一個,并不影響其項目的進行。
?
程序員如何漲價
當然市場上價格不是固定不變的,而是不斷變化的。
這種變化有客觀方面的原因:有的時候因為需求的增加帶來程序員價格的上漲。
一些新的產品,新的平臺,新的理念,會造成新的技術方向,當新的技術方向剛剛興起的時候,需求遠遠大于供給,從而造成在一段時間內從事新的技術方向的程序員薪資高企,引得眾多程序員趨之若鶩,然而當進入這個新的技術方向的程序員大大增加后,薪資就會慢慢回歸。
另外就是整個社會的通貨膨脹,新發的貨幣雖然最先流入基建工程,如鐵道,公路,或者房地產,金融,使得這些行業賺的盆滿缽滿,上游產業吃肉,IT業也能喝點湯,流動資金增多,很多創業企業就能夠得到較多的天使投資或者風投,成熟企業也能夠借機擴張,從而造成大量的程序員崗位缺口,引得很多人跳過去,這些人的跳槽又造成了原來企業的崗位缺口,從而最終出現大家都跳一跳,薪水也都跟著漲一輪。
在主觀方面,作為程序員,我們自己更應該做的是,減少相同水平的供給量,也即提高自己的不可替代性。有人可能會說了,不可替代容易啊,人們不能兩次踏入同一條河流,世上每個人都是不一樣的,每個人由于性格特點,個人興趣,學習經歷,工作經歷不同,會形成不同方面的能力,雖然每個方面的能力不是最好的,但是各方面綜合起來,就會存在一定的不可替代性。
比如一個人英語好,愛炒股,本科學的會計,研究生讀的是計算機,也許這個人做不了最好的翻譯,不能成為最好的證券分析師,不能做最好的審計員,不能成為最牛的軟件工程師,但是如果說要找一個四門全會的人,這個人就有很好的不可替代性。這種說法有一定的合理性,不過還是必須要指出的是,這里的不可替代性,是供需關系下的,不但要強調供給(我具有某些能力),還要看這些能力有沒有需求,以及這些能力有沒有需求結合點(同時需要這些能力)。顯然如果一個公司不需要某項能力,就不會為這項能力付出額外的薪水。比如這個人找了一家做web開發的國內公司,公司就僅僅會付給一個軟件工程師的錢,如果這個人碰巧找了一家做財務證券軟件的外企,則公司自然會為外語能力,證券知識,會計知識付出額外的薪水。這不但告訴我們,在找工作的時候,應該盡量去尋找你的各項能力有需求結合點的公司,也同時告訴我們,自己的職業生涯需要好好的規劃,使得自己的多項能力更容易找到需求結合點,而不是東一榔頭,西一棒子。設想如果你做了三年C++,三年Java,三年C#,結果樣樣通樣樣松,哪一方面也要不上好的價格,和做了9年C++的人就不能比了。
那么程序員應該如何規劃自己的職業生涯呢?當然誰都不可能一畢業就知道自己想做什么,即便有想法,也可能能力不及,暫時不能實現,即便能夠實現,也可能做著做著,發現最初的想法不符合。但是必須指出的是,一個人,無論多么不成熟,無論前途多么迷茫,每個階段,都應該有一個目標,隨著自己的路慢慢的走,經驗不斷的積累,前面的路能夠看的清楚一些,可以根據自己的經驗,性格特點,做事風格,已有優勢,目標可以進行一定的調整(不必固執于原來的想法,請參考老羅語錄Happy Accident),每次調整,可能都會面臨選擇,沒辦法,只有像李開復說的那樣follow your heart,追隨內心,人都有一個特點,追隨內心的選擇比較不會后悔(至于對不對,人生沒走完,誰也不知道)。比如面臨A,B兩個選擇,內心想選A,可是家人,朋友都覺得B好,如果選擇了A,A選擇順利,則會慶幸自己的選擇,如果A選擇不順,也會想,就算選B也可能不順,相反如果違心選了B,如果B順利,會想如果選A說不定更好,如果B不順,則抱怨家人朋友讓自己掉坑里了。(也提醒大家在親友人生重大問題上,必須讓其自己選擇)
前面說的比較抽象,下面具體說說。在這里,我把程序員的能力分為以下幾個維度:技術深度,架構廣度,業務知識,管理水平。
當一個程序員從學校里面出來,所掌握的基本只有計算機基礎知識以及程序設計語言,這個時候,會面臨第一個選擇,就是語言方向問題,java/C++/C/C#/PHP/Python/Perl等,有的是主動選擇的,非這個我不做,大多數還是被動選擇的,可能在學校學習的是C++,擅長的是C++,面試的也是C++,但是分到團隊后,發現項目是Java的。因為剛畢業,程序員像一張白紙,公司不怎么挑面試者的語言,覺得只要基礎好,上手都很快。如果你有很強烈的語言傾向,則在前三年務必堅持使用這門語言進行開發,如果這三年使用了其他語言,再去面試的時候,公司就不再會相信你在大學的時候擅長某門語言這個故事了,在想轉回去難上加難。如果沒有強烈的語言傾向,倒也無所謂,每門語言都有自己的優勢,也都能出牛人。在最初的三年,根據接觸的項目不同,你已經開始接觸某個技術分支,比如Linux應用程序開發,linux內核開發,windows應用程序開發,windows driver開發,Java SE,Java EE等。
在這三年,你可以不怎么穩定,換項目甚至不斷跳槽,職業生涯初期的頻繁跳槽還是比較容易得到理解的,但是不是盲目的跳,你要做的一件事情就是確定好自己未來的技術分支,并開始在這個方向上深入研究,形成自己的第一維度的能力——技術深度。
根據不同的人基礎不同,確定技術方向的快慢,深入研究的努力程度不同,在職業生涯的第三到第六年,技術深度一般會達到一定的程度,大多數人都會成為高級工程師,在這個階段的后期,一般會再一次面臨選擇,這是職業生涯中關鍵的一次選擇,將影響職業生涯的第六年到第十年。
有的人會選擇更細的技術分支進行進一步更深入研究,繼續擴大自己在技術深度這一維度的優勢,此類人職業規劃簡單直接,就是成為某項技術的大牛,不希望找過多的需求結合點,就像郭靖一樣,就是降龍十八掌一掌一掌練下去,就靠一技之長行走江湖,跳槽也是容易,只要是需要這方面技術的就可以,其他的我不想做,對于此類程序員,我的建議還是選擇一些有技術含量,穩定不易淘汰,不是一時半會兒能學會的方向,比如linux存儲系統的開發,數據挖掘,圖像處理等。
有的人不希望進一步擴大技術深度這一維,而是希望整個系統從前端到后端,從底層到上層都能夠有一定程度的了解,也即開始擴展架構廣度這一維度,此類人對每一項技術都會了解到一定的深度,在各項技術大牛的幫助下,能夠搭建起整個系統,他們的職業規劃就是成為架構師,由于各個模塊的技術都有可能更新,所以架構師需要不斷的學習新的技術,不至于架構過老而遭到淘汰。
有的人做的軟件是面向某個行業的,比如金融,證券,財務,航運,電力等,他們出了技術深度形成一定的優勢外,在三到六年這段時間里,也開始慢慢了解這些行業,于是擴展了另外一維——業務知識,他們能夠迅速理解這些行業的業務需求,并轉換成為軟件的需求,他們的職業規劃就是需求分析師,他們需要更系統的學習業務方面的專業知識,以期能準確把握需求。
有的人在成為技術主力后,由于有一定的溝通和組織能力,開始帶新人,以及領導一些人完成任務,于是擴展了另外一維——管理水平,他們需要學習項目管理,組織行為學,績效管理等方面的知識,職業規劃是成為技術經理,我的建議是有可能的話,做管理開始盡量在大公司,一方面大公司體制完善,培訓到位,會更快幫助你成為一個好的管理者,另一方面大公司的管理崗位才有含金量,不像小公司,動不動就冒出個技術總監。
接下來,在工作的第六年到第十年,就是按照上述的選擇各自走各自的道路,最終小有成就,成為真正的技術牛人,軟件架構師,需求分析師,技術經理。
在這個時期的后期,部分人還是會選擇多維的結合,技術牛人技術太牛了,大家五體投地,都心服口服的聽他的,最終也會發展出管理水平這一維,成為技術型領導者;架構師由于需要協調各方,也會發展出管理一維,成為經理,由于架構師基本能夠自己搭建一套系統,有可能會因為一個idea進行創業;需求分析師一般也會參與到架構設計中,發展出架構廣度一維,也需要協調團隊完成需求,發展出管理一維,從而可以成為乙方的項目經理,甚至會進行接項目方式的創業;技術經理可以進一步拓展管理一維,成為高級經理直至技術總監。
在國內,成為大公司的技術總監,中小公司的CTO乃至VP,是大部分的程序員職業生涯的頂端,如果你是國外派回來的海歸,或者自主創業成功的英雄,那應該另說,畢竟都是少數。
當程序員按照自己的職業生涯規劃提高自己的不可替代性的時候,會造成市場上此水平程序員的價格上漲。
總結
以上是生活随笔為你收集整理的什么决定了程序员的价格,程序员该如何溢价的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【手写系列】理解数据库连接池底层原理之手
- 下一篇: 微服务架构如何保障双11狂欢下的99.9