今天有個前同事聯繫到我,抱怨如今好的前端程序員很缺,正好前幾天五一的時候看到 Twitter 上不少人公開討論本身的薪資,有一些感觸。大部分程序員,尤爲是前端,天天都要關注技術進展,幾乎沒時間關心別的,性格每每也不善言辭,老實巴交,凡事先反思本身的技術水平,因此我打算寫這篇文章談論一下薪水問題,但願對別人有些幫助。
首先簡單介紹一下我的狀況:本人以前在北京工做五年,技術能力平平,沒多少談論薪水的經驗,相比之下薪水一直不高,好在不太在意薪水,也有時間想這些亂七八糟的問題。如今離開行業也已經近兩年,因此這篇文章的內容可能都是紙上談兵,你們看的時候多留個心眼,不要被我騙了 *_*
在往下看以前,請問本身一個問題:我辛辛苦苦作程序員的目的是什麼?若是隻是磨練技術水平,作出更完美的東西,物質什麼的無所謂,那麼就不用往下看了。若是你不止想提升本身的能力,還想隨着經驗增加不斷掙到更多錢,那麼下面這句話請跟我重複三遍:
你之因此掙到那麼多薪水,不是由於你「值」那麼多,而是你能「要」到那麼多。
你之因此掙到那麼多薪水,不是由於你「值」那麼多,而是你能「要」到那麼多。
你之因此掙到那麼多薪水,不是由於你「值」那麼多,而是你能「要」到那麼多。
不少程序員特別誠懇,本身的薪水不高首先就懷疑本身的技術能力,告訴本身沒有懷才不遇這回事。看到「爲何如今好前端那麼少」之類的問題,首先也不想到如今市場變了,前端更值錢了,而是把前端技能樹列出來,告訴你們前端要掌握的能力不少,最後說一句咱們還不夠努力。固然,這麼想在某些方面是好事,能夠勉勵本身不斷努力,但讓咱們面對現實:你的薪水大部分是市場決定的,不是你的能力決定的。
舉個極端的例子,假設你是世界上最頂尖的 100 個程序員之一,技術好到爆,可是由於某些緣由,世界上只剩下 50 個公司須要程序員,並且他們每一個公司都只須要 1 個,最高只能給你 2000 一個月,那麼你最多每月也就能掙 2000 。這個和技術水平無關,就是需求沒那麼多,你再牛也沒辦法。
爲了不誤會這裏要強調一下,我不是鼓勵全部人都去錢多的行業,趕忙跳槽,而是說在提升本身技術能力的同時可能須要認清這樣一個現實,不然你可能覺得只要提升能力就能掙到更多的錢,只會埋頭鑽研技術,最後發現達不到目的又反過來抱怨。不是世界欺負你,是你的方向有些誤差。
那麼怎麼樣才能掙到更多錢呢?很簡單,四個字:
多要點兒。
多要點兒。
多要點兒。
首先講一個不知道是心理學仍是經濟學的概念,叫作「錨定」。好比說咱們去買手錶,有時會看到櫃檯裏有一隻手錶比其它手錶都貴得多,會很奇怪它能不能賣得出去。但事實上它不是用來賣的,而是在你的內心作一個參照,這樣你就不會以爲其它手錶很貴了。
因此當你和 HR 談論薪水的時候,首先就要開高價,這樣就給他們一個參照價格,就算他們不能承受,回給你的價格也會接近這個參照價格。而若是你一開始就要的比較低,就算 HR 可憐你,也不會比這個參照價格高出多少。擔憂 HR 也懂心理學識破你的把戲?別怕,「錨定」最妙的地方就在於,就算對方知道這個心理現象,哪怕他是個心理學家,仍是會受到影響。
另外一個事實是,若是找工做的時候你不敢張口,致使起薪很低,那麼別期望每一年公司內部的加薪。下次再大幅加薪只有跳槽。之前我很是天真,以爲起薪低沒啥,只要努力幹,公司確定不會虧待個人,但在我學習過公司的激勵制度以後,猛然發如今一個公司裏「加薪」是激勵員工的最後選項。加薪對員工激勵最大,可是一旦加薪就很難再降回去了,因此加薪必定要很是謹慎。這就是說你想要薪水大幅提升,就只能跳槽。
或許你還會擔憂這樣獅子大開口會不會致使對方很是生氣,而後拒絕僱傭,最後致使找不到工做呢?若是你有這樣的疑問,請跟我重複三遍下面的話:
HR 不會和我同樣幼稚。
HR 不會和我同樣幼稚。
HR 不會和我同樣幼稚。
程序員通常都不會掩飾本身的性格,有技術防身,見誰黑誰,照樣活得不錯。可是在不少其它行業是有社交規則的,就算很討厭你也不會在辦公室對你擺一副臭臉,並且當他們想要招你的時候,若是價格不合適會和你繼續討價還價,而不是拍桌子走人。他們可能會在朋友圈罵你癩蛤蟆想吃天鵝肉,但面對面的時候仍是會很禮貌。
找工做就是推銷本身,這個時候咱們就不是程序員,而是一個 businessman ,因此要專業一點。咱們要作的就是在找工做的時候暫時收斂一下本身的性格,努力彬彬有禮,開高價的時候也要專業天然,擺出協商的姿態,而不是拽得不行。最新一季紙牌屋裏面 Claire 在俄羅斯監獄裏面勸說那個理想主義者說:You want change? Then learn how to compromise. 內心有「妥協」兩個字才更可能達成交易。
「開高價」和「妥協」在一塊兒使用很奏效。前幾天 Twitter 上討論薪資的一篇文章很值得一看:
http://www.kalzumeus.com/2015/05/01/talking-about-money/ ,做者在裏面總結到:
If a buyer pitches me on 2X my desired number I will, naturally, say 「That’s an interesting number. If you were offer insert 2.2X here I think we’d have a deal.」 No buyer will pitch 2X if they know what X is, though. A younger, less savvy me would interject here 「Why ask for more money given that they’ve already offered you enough?」 and my answer to that is 「Because everyone in the negotiation is a businessman and any number we are mutually happy with is a morally acceptable number. Given this, and keeping all else equal, I prefer ‘more’ to ‘less’ and always, always, always ask for ‘more.’ You should try that — it’s a trivial tactical suggestion which helps address you systematically low-balling yourself, which you’re prone to. You think that asking for ‘more’ will result in ‘less’ being yanked from the table, but you believe this because you’re young, inexperienced, and working from a narrative about desert which is quite disconnected from how rational businessmen actually operate. No counterparty who you actually want to work with will hold good-faith negotiating against you.」)
Always, always, always ask for ‘more.’ 若是你開的價格沒有公司能接受,那麼爲了找到工做你天然會調低指望,這就是市場的力量。咱們要相信市場的力量。
還有一個誤區是認爲薪水和能力是絕對正相關的。再舉個極端的例子:全世界只有 50 個程序員,你是最爛的一個,其餘人都鄙視你的代碼。但如今有 100 個公司,每一個公司須要 5 個程序員,你依然能夠要到高薪。
程序員羣體很重視技藝,這點有時我很喜歡,有時我很反感。可能我程序寫得不太好,可能我比較笨,但一個爛程序員也是人啊!咱們也有追求高薪和幸福的權利!大家固然能夠不給咱們高薪和幸福,但不能和 HR 一塊兒嘲笑咱們的夢想!公司招人是很理性的,通常不會有 All or nothing 這種想法,當他們的預算不夠或者沒有吸引力,找不到一個好的程序員時,他們寧願找一個爛程序員,至少爛程序員也能夠幹活。並且若是咱們能力確實達不到市場要求,天然找不到工做,生活變得艱苦,命運會懲罰咱們。有時候看到一些優秀的程序員嘲諷「某些人能力不夠還開天價」,我就以爲奇怪,每一個人都有開價的權利,不肯意給就拒絕好了,我們能不能別那麼幼稚。
而做爲爛程序員,咱們要把技藝和薪水分開。技藝不夠要謙虛,多向大牛學習,可是薪水是另外一回事,堅定不能自卑自暴自棄,仍是要儘可能多要。((「你覺得我窮,低微,不漂亮,我就沒有靈魂沒有心嗎?你想錯了! 我和你同樣有靈魂,有一顆完整的心!」)——簡愛)還有一個經濟學理論叫作「更大傻瓜理論」。當你看到一個易拉罐,你知道它是個垃圾,但也知道會有一個富豪花高價買下它,那麼你就要買下它,由於會有比你更大的傻瓜接盤。固然,咱們只是程序寫得爛,比垃圾仍是好不少(雖然在大牛那裏就是垃圾 T_T),因此若是有人願意高薪聘請咱們有什麼奇怪呢?
並且爛程序員能要到高價,說明市場不錯,這對整個程序員羣體都是好事,那些優秀的程序員就能掙到更多。一個反例就是不少作外包的特別討厭學生,由於學生要價特別低,擾亂整個市場,若是他們多要一些,你們會更好過。上面那篇文章中還提到,做者在掙到 30K $/year 和 30K $/week 的時候技術能力並無太大區別,"I just got better at organizing the business to expose me to opportunities to capture the better rate. "
這裏須要說明的一點是:若是自覺是一個爛程序員,找到好工做千萬不要做賤本身,以爲是公司施捨給你一份工做,今後感恩戴德。固然在哪裏都要努力工做,可是記住一點:公司絕對不會施捨給你工做的。公司很是理性,他們招你是以爲你最合適,不招別人是別人能力不如你,或者不肯意來。他們不開除你不是由於可憐你,而是由於你能完成工做,或者你工做能力雖然不太好,但再招聘一我的成本很高,不如將就一下。有些公司主管特別莫名其妙,巴不得以爲是你們的衣食父母,常常有那種高高在上的施恩的姿態。對公司女同事能夠有感情,可是對公司就沒必要了,從小到大咱們遇到多少一臉「咱們生你養你多不容易」以及「我是爲了你好」的莫名其妙的人,不須要再多給本身找一個。啊,感恩,多少惡行假汝之名以行!
不少人可能會以爲若是程序員都要高價,創業公司就招不起人,這樣不利於創新和理想主義。首先,沒有多少公司想要創新,不少人都是奔着被收購或上市去的,找人一塊兒搶銀行固然要先談分贓。其次,要高價其實能夠幫助更好識別那些理想主義的公司,一個聽到別人要高價就在微博上罵人的 CEO 確定是無法創新的。程序員那麼老實,如今一心看錢,還不是由於你們都通常黑?真有一個想創新的,確定馬上被感動了,顧不上錢了。
事實上,愈來愈多的公司懂得宣傳和包裝本身,口號喊得比誰都大,讓人以爲談錢很羞恥。這樣的公司說着「善待員工」,實際上巴不得把員工體檢和 team building 都安排在週末,而且以前和以後都要順便開項目會議,爲何不讓員工週末在家陪家人呢?程序員哪有家人?在家本身打遊戲也好啊,要你管。不少人以爲談錢傷感情,但正如塔勒布在《反脆弱》一書比較了商界和學術界以後說的:「金錢和交易淨化了關係;而「承認」和「信用」等概念和抽象的事物則圍繞着學者們,致使造成一種沒完沒了的競爭氛圍。」若是你拿到高薪,心情就會很舒暢,不少事情就會變得包容,就算老闆抱怨某員工要價過高你也能體諒他創業不易,須要不斷宣泄。
我也是看着 Google, Facebook, Amazon 的故事一路過來的,也曾由於看到它們給董事會的信裏面義正嚴詞地寫「咱們更看重長遠發展」而激動不已,可是畢業以後被打擊獲得如今還沒太回過神來。若是你也被硅谷文化吸引,那麼儘快去硅谷,不然你就要意識到,硅谷的文化和美國其它地方的文化都有很大差別,更別提中國了。若是你正在或打算看硅谷文化的書,別拿那個當標準,嚮往一下,或者當個遙遠的夢就行了。
接下來我想說一下:爲何前端工程師應該拿高薪。
衆所周知,中國經濟發展速度很是快,並且最近好像要大力發展互聯網行業。我性格懶散,並且一直不知道本身要什麼,因此不太願意拼命掙錢,想要按時下班,而後思考人生意義(嚴肅)。是的,我就是李彥宏曾經發文嚴重鄙視的那種「小資」。我並非想找一個「錢多活少」的工做,而是想相對掙少一些,同時沒那麼多加班,但後來發現幾乎不可能,由於在這樣的大環境下公司都發展很快,不加班的工做就是沒有工做。
公司發展快的結果之一就是產品迭代特別快,不少可能只是實驗性質,若是某段時間內用戶達不到多少就直接砍掉。這個時候前端工程師徹底就是苦力,乾的是體力活,天天都要應付不少新需求。這也就罷了,問題是技術理想徹底被踐踏。想要優化代碼?想要應用設計模式?屁啦!這個頁面說不定下週就要重作,趕忙上線是正事!別難過,等咱們產品成功了,給你招幾個小弟好好重構代碼!
一段時間之後,儘管項目經驗豐富了,但技術水平好像在退步。由於早就被社區灌輸了「程序員要不斷學習」的觀念,心中後怕,週末不去相親打算學點新知識,結果發現硅谷那幫人又造了一堆框架和類庫,並且如今都不說 just works 了,動不動就 most advanced 或 popular ,錯過一個都以爲虧,還有一堆人成天在 blog 上寫恐嚇文章:2xxx 年不得不知的幾個趨勢,5 most useful tips in web development。心生疲憊以後發現 AngularJS 發佈了 2.0, 宣佈徹底不兼容 1.0 ,他媽的又白學了好多。
因此國內的前端工程師不少都處在只有輸出沒有輸入的處境,長時間重複勞動,沒時間應用新技能,沒時間學習新知識,就算有時間也一團亂麻,經常擔憂本身被業界拋棄了,對不起筆記本上貼的 HTML5 貼紙。若是你真的碰到一家對技術精益求精的公司,也可能並非好事,技術主導可能拖累產品進度,致使商業上的失敗。
有些人或許會說如今自己就是「終身學習」的時代,本身學習能力不行不能怪別人。但學習是有分別的,有些學習能夠積累,而有些沒法積累。不斷編程確實能夠提升不少方面的經驗和能力,好比調試能力、系統架構能力,但有些具體的經驗,好比學習 AngularJS 1.0 ,等 2.0 普及以後可能大部分就沒用了,而新人徹底能夠跳過這些經驗,他們也更年輕,更有好奇心,更愛加班,把前浪拍死在沙灘上很容易。
我很難贊成那種刻薄的論調,即把全部問題都歸結到程序員「缺少危機意識」、「學習能力不夠」。一個有多年經驗的前端程序員本能夠去作架構師,繼續發揮做用,但整個行業並不給他喘息的機會,到後來不少人轉管理,而後你們又抱怨爲何國內程序員壽命那麼短。
鑑於前端程序員那麼辛苦而且職業道路坎坷,並且如今創業公司個個都要作網站或 App ,嚴重缺少前端程序員,因此你們應該趁這個機會把薪水提升一些,再提升一些,把整個行業的薪水都拉上去,固然啦,是在不耽誤研究新技術的狀況下。若是有公司許諾有遠景或者重視工程師,那麼問一下本身:這家公司在這樣的環境中遠景究竟是什麼?有沒有能力對抗整個環境?嘴上說的和真正在作的同樣嗎?
這裏說句題外話,常常見到高管,CEO 以及其它成功人士在微博上教育別人,他們說的那一套都對,「忠誠」、「長遠眼光」之類的,但爲何一個忠誠於公司的人,薪水要比一個跳槽出去再跳回來的人差那麼多呢?爲何整個環境那麼浮躁,鼓勵你們放棄好的品質呢?爲何向上面要市場而向員工要道德呢?我以爲有影響力的人更應該思考這些問題,而不是但願有一羣奴隸。
寫了這麼多,不少人可能以爲我惟利是圖,斤斤計較,negative & mean 。no, no, no, 那只是表面現象,拿高薪這件事情意義重大:
當程序員拿到高薪以後,就有更多時間思考技術,也更樂意爲開源作貢獻或教育業界新人。同時那些給不起錢又沒理想的公司會慢慢倒閉,整個行業的資源獲得優化配置,更具備創新能力。美國人再也不想要把工做外包給中國程序員,而是轉向越南或者美國,緩解這些地區的就業問題。因此僅僅經過提升本身的薪水,咱們就能夠 make the world a better place, 讓世界變得更好。(P.S 咱們也毫不願意生活在一個產品經理薪水更高而且比咱們更能讓世界變得更好的世界,哼。—— 參考
《Silicon Vallay》第二季)