上周Glassdoor公布了最近的軟件工程師薪資報告。它反映了公司為寫代碼付出的成本。Google與Facebook的員工不包括福利的基本工資為12.5萬,雅虎的員工薪酬也超過10萬美元。大家都知道原因,無論在硅谷還是紐約其他城市,好的程序員十分稀缺,薪酬自然水漲船高。
為什么好的工程師這么難找?按理說現(xiàn)在的互聯(lián)網(wǎng)時代,工程師越來越多,只要有網(wǎng)絡(luò)哪里都可以工作。開發(fā)平臺與工具也逐漸成熟,編寫代碼的成本也大為降低。分布在各地的公司和他們分布在世界各地的工程師們的數(shù)量正在迅速增長,大家都知道寫軟件很來錢,根據(jù)經(jīng)濟的基本原理,將會有大批的工程師進入這個領(lǐng)域,從新把工程師的薪資拉回正常的水準(zhǔn)。
但現(xiàn)實并非如此,上世紀(jì)末,互聯(lián)網(wǎng)泡沫爆破,曾有人預(yù)言美洲與歐洲的碼農(nóng)會很快窮得叮當(dāng)響,甚至淪落到印度與巴西苦工那樣的薪酬水平,但現(xiàn)在什么都沒有發(fā)生,這是為什么呢?
四個字:行業(yè)準(zhǔn)入
每個企業(yè)都宣稱自己要招聘頂級的碼農(nóng),但也就少數(shù)像Facebook、Google這樣的公司能做到。要從一大堆碼農(nóng)中脫穎而出,大致是需要這樣的:首先,你的家境不能太差,至少讓你有條件進行足夠的教育,從小就有機會接觸技術(shù),并且有除了技術(shù)之外發(fā)展其他天賦的選擇。然后,你需要對開發(fā)有足夠的興趣和天賦,有數(shù)據(jù)表明,人才不是那么常有的,大學(xué)中大約30%到60%的人會在所修的計算機科學(xué)的第一門編程課中掛科。最后,你專業(yè)教育的環(huán)境也必須足夠好,比如你從印度的IIT學(xué)習(xí)過,或者參與過專業(yè)的黑客訓(xùn)練。編程就像學(xué)英語,易學(xué)難精。
最后一點,同時也是最重要的:盡管你獲得了很好的編程教育,你仍然需要上千小時來做到融會貫通。當(dāng)然不是說你非得重復(fù)去同一件事情,而是你需要面對新的工具,新的語言,新的目標(biāo)。否則,你寫出來的代碼會顯得混亂。
碼農(nóng)時怎樣煉成的,可以參考下圖:
(From Abstruse Goose)
如果你當(dāng)初純粹是為了錢來加入這個行業(yè),恐怕是很難成為頂尖的碼農(nóng)。因為你會花更多的時間去留意哪里能領(lǐng)到更高的薪水,美國這個行業(yè)的平均水平是7萬美金左右,普通的工程師還是在增多,但他們不會花數(shù)千小時在這折磨人的工作中,發(fā)展空間是有限的(別誤會,雖然苦逼,但工作還是很有趣的)。
所以為什么那么多的人不能純粹的為興趣來選擇軟件工程師這個行業(yè)呢,俗語有云:肚子先填飽,才有力氣談激情。至少你的生長環(huán)境能達(dá)到第一世界國家的水準(zhǔn),才能有這個空間讓你做自己感興趣的事情,如果這個推斷正確,未來數(shù)十年內(nèi),優(yōu)秀工程師短缺的問題會隨著一些國家的富裕而逐漸消失。