現在社會上優秀的程序員有多稀缺?


當我們談論優秀的時候,我們通常會抱有一些幻想。


比如很多老闆認為優秀的程序員,能像有個仙女棒一樣,啪一下就把產品連著頁面帶伺服器全變出來了,還考慮了客戶自發傳播的方案,而且沒BUG。一個程序員頂設計+產品+運營+營銷+市場。


這種人全世界也沒幾個吧……


但凡要證明你不夠優秀,辦法多得很。你是做邏輯層的靠你交互的題,你是做頁面的考你資料庫的題,就算你軟體瞎蒙的全部都對了,對方還能拿個破電腦說你不會修電腦……其實中國從小學開始父母老師就用盡一切辦法證明你不優秀。我記得小學有一次我數學競賽拿了第一,很開心地回家希望得到表揚,然後我爺爺跟我說,你拿了市第一,你能保證是省第一嗎?萬一全國比賽,你能保證是全國第一嗎?


-。- 後來我想了想,我還是安心當個不優秀的垃圾算了。


不缺,缺的是拿畢業生薪水的優秀程序員。

畢竟,珠三角的老闆也叫喚缺乏優秀的流水線工人。


認識這個問題,首先要認識到這是全世界的現象,不只是中國;其次,先是「程序員稀缺」,然後才是「優秀程序員稀缺」。信息行業正在成為眾行業之母,還在持續爆發。大的環境就是這樣。

中國在應用方面的人才並不少,只不過目前來看仍然沒有趕上需求。哪怕基礎再弱的,憑藉著一股掙錢的盡頭,也有相當多是學得很快,「產出」也不低的。這支大軍正由市場帶領著殺進編程這個職業,需求爆發,會經歷一個供給不足的過程。

系統方面的人才,打個比方說,暴雪的WOW的整個Backend運維不超過十個人;Google有相當多的pair,兩個人就可以唱一台戲,做出改變行業的東西。這類人中國也很少,有也跑到國外去了。

事實上美國一線技術公司里有大量華人,挺可惜。都跑到國外去了,國內優秀的自然少了,確實稀缺。國內做雲計算的公司,知名的就十來家,有誰的技術水平能達到美國亞馬遜的?而決定亞馬遜技術層次的並不是幾萬人,而是少數幾個人的實力,說不定就有華人。BAT招聘也幾萬人,也有十幾年積累了,似乎還沒有產生革命性東西的苗頭。

這種「優秀」確實稀缺。不過這有點偏題了,這種「優秀」的技術人在國外也不多(戰略資源),總是稀缺的,所以不具有可比性。

來說說技術職人,就是打工界的技術人,程序員,不管稱謂是什麼。

就說應用方面的好了,「優秀」是稀缺的,我沒有什麼數據,告訴你我是怎麼體會到的。對比國內任何一個語言編程領域最上面的那5%,你到美國的各種conference,各種自媒體看,他們不存在找不到人的情況;中國比如你要找同水平的,比如Javascirpt前5%的程序員,當然你能湊到這個數字,但是你知道整體水平和美國的是有差距的。至少個人能夠從網路接觸到了解到的是這樣。

相對來說,中國的初級程序員數量要遠遠大於高級程序員數量,而且目前來看,這個趨勢還在擴大。什麼是「不高級」的程序員?比如缺乏規範、流程、質量上的訓練,還停留在寫代碼的階段,沒有從寫代碼升級到設計,雖然東西都能做出來,而且效率也不低,但往往代碼品位不是很高,缺乏「刻意」的質量追求,滿足於實現,為長遠計不夠多,畢業七八年和一兩年的同樣存在這個問題。(個人體會編程真正的挑戰和樂趣,是找到the right thing to do, do it the right way,一次性地解決一類問題的過程,而解決一類問題產生的方案的價值要遠遠大於無數次解決單個問題的方案)

應屆畢業生起點過低(和美國的計算機教育比較)中國的計算機教育重視知識,缺乏思維訓練,比較狹隘,很多小孩上第一天計算機課就被告知數據結構+演算法就是計算機,但計算機是一種解決問題的工具,數據結構好演算法是解決問題『解』的表現形式,卻不是解決問題獲得「解」的過程。所以絕大多數的中國程序員在程序設計上,和更一般的認識問題,分析問題,理解問題上的訓練幾乎為零。書本和老師代替了認識分析理解這些更重要的能力,到學生這裡,只剩一個結果。他們的知識體系是從這個結果開始的,嚴格的說就是一種應用訓練而非系統訓練,你去看美國斯坦福,MIT的計科教育,只要能畢業的基本都是很搶手的人才,因為系統訓練已經完成了。而只有應用訓練,就容易只見樹木不見森林,後期爆發力不夠。一個認知識和死理的小孩和一個對問題有興趣,也會認識分析理解的小孩,潛力是不同的。新問題永遠有,老問題也一樣多,只有人具備思維的習慣,才可能有活力。

編程人沒有創造性思維,就會淪為工具。

所以一方面行業持續膨脹,有些行業會成熟,初等的工具型人才越來越滿足不了企業需求,另一方面中國的計科教育從數量和質量上(在整個高等教育的背景下)都滿足不了市場,這勢必產生持續稀缺。如果你注意到了最近這兩年程序員薪資的漲幅,就能理解這種供需的極度不平衡,剛畢業要10K+薪資,一個一兩年經驗的人敢要15K+的薪資,是這種不平衡下人想鑽空子。這個局面下,我相信大部分的企業是「找到能招進來培養的苗子」,而不是「招進來立刻獨當一面」,因為要找這樣的人真的不容易。各種培訓班也是佐證,只不過他們解決的更多是「程序員稀缺」而不是「優秀程序員稀缺」的問題。如果你去關注各種創業論壇,不少項目急尋技術合伙人的,也不在少數,但是要能找到不僅技術實力過硬,又有國際化素質的人很難,現在什麼企業不需要考慮國際競爭呢?在美國很難看到,高端技術職人供給充分。

總的來說這個行業方興未艾,現在信息很開放,沒有什麼已經能阻擋我們成為i想成為的技術人,有志程序員的前途還是很光明的。


優秀就是寫得了代碼,成得了事情,協調得了同事?確實少。一般大眾的居多,就是代碼寫得還行,事情也能夠處理得一些,同事相處得也可以,但是還有一些方面還有提升空間。

所以往往談稀缺的比較務虛,談大眾的比較務實。


歪個樓,別人優秀不優秀我知道,但是我了解我自己。


做「有趣」的工作,我就是優秀的。

做「無聊」的工作,我就是渣渣了。

就是如此任性。哈哈。

不匿,打死不匿。


這個必須匿名了。因為涉及真人真事兒。

個人認為自己的技術就不算好的。整天在公司擔心被開除。

結果去年接手了一個項目裡面有個實名驗證,我給做完了,但三觀也徹底毀了。可好死不死,客戶有個合作夥伴由於怕客戶截流,所以堅持不用我們的系統,找了我們的一個競爭對手公司做。但是實名驗證在我們的系統里。我們就只好給他們做介面。

本來嘛!在這個小地方都是抬頭不見低頭見的,彼此幾斤幾兩都清楚。可介面上線第一天就製造了生產事故,當著我的面一個客人的實名驗證通不過。我們查了半天發現資料庫根本沒有這個人的信息。然後去他們的資料庫一看,MMP,人家客人用的駕駛證他寫的是身份證,因為編號長度不夠18位被我們的介面給攔截了。

你以為這就完了?No!後來有出現了一個身份證驗不過去,結果我們一看MMP那邊兒居然把身份證給客人輸錯了。要知道身份證可是有校驗的,你如果只輸錯一位是肯定通不過校驗的。

最後最精彩的來了,有一天我剛加完班回家,在車上接到一個電話,又有在他們那兒傳來的信息出現驗證錯誤,這次更狠,是姓名不符!你以為是他們又錄錯了,No!是壓根沒錄!打電話向那邊兒反映問題,他們居然一臉無辜,「啊?姓名必須錄入嗎?」MMP!實名驗證不錄姓名!我是不是也可以吃喝嫖賭欠下兩個億然後拿你的身份證抵債啊!

然後是我的同事,要知道程序員不是全才很多技術就算在同一個公司也不是所有技術都會。於是在一天我做了個功能,需要使用工作流,於是我去找那個做工作流的,然後我再拿回來的程序我就不認識了。他說他不會用我的保存方法所以重寫了一遍……MMP!你個工作流又不和保存方法一起用,你直接調用就行了,重寫什麼!你重寫就重寫吧……給我保證好用也好啊。本來我完成度80%的功能那你給我搞的完成度不到20%什麼情況?增刪改查全有問題。最關鍵的是工作流還是不行!後來我只好請教另一個人把這事兒搞定了,然後又花了一天的時間把他給我挖的坑都給填了回去。

後來我算是明白了,大部分程序員的不優秀並不是因為技術不行,而是考慮不全面。


本可人兒來回答一下惹。

在計算機科班的優達菌眼中,程序員從某種程度上是我們同行業人共同的圈子符號。如果你問我行業中是否缺少優秀的程序員,真的很難回答。在我看來,優秀從來都不是一種能力,而是一種品質。對於程序員,這種品質包含創造力,耐心,學習能力,團隊精神等等。因此一名程序員很難被定義為優秀,但可以被評價為是否有優秀的品質。

從市場角度來說,程序員行業缺口之大可以從以下幾個角度佐證:行業平均工資較高,業外人員大量涌內,失業率低等等。

這就難免導致整個行業人員的良莠不齊,同時在需求者眼中,很多程序員的能力不足以匹配其工資待遇,就會營造出缺少優秀程序員的假象。

最後我想說的是,程序員們應在供方市場的年代努力進步,才能在買方市場的未來中被優秀!


我覺得每個優秀的程序員,應該明白自己寫的是什麼,用戶需要的是什麼,社會需要的是什麼,人類需要的是什麼。

當然絕大多數,做不到第一點。


是優秀又便宜的短缺,優秀的都很貴。


很不理解優秀的定義,有女朋友的算嗎


感覺大家都是看看視屏。買點書籍,看看博客,偶爾讀點論文,抄抄代碼。

你想優秀,有這個平台嗎?

大公司基礎架構輪不到你動。

你服從命令就好。

哪有機會優秀?

小公司,天天干不完的重複活。

哪有時間給你優秀。

公司招聘,不需要你多優秀。

能夠按時完成領導的任務就行。

你明白了這個,就會懂得。

說不定你的同事就很牛逼。

只是在工作中顯示不出來罷了。

評論裡面唱反調的,要不就是壓根沒工作過,要不就是工作還沒幾年。沒有到達瓶頸期。

沒有什麼值得討論的。馬克思早就研究透了。

社會化的大生產使你成為可複製的工具,成為螺絲釘,成為沒有創造性的傻子。

大部分打工者,走不出這個怪圈。

這是資本的逐利性決定的。

不可改變。


不要刻意追求別人眼裡的「優秀」,那是學生時代的思維方式,踏入社會,管理者誇你優秀,可能是個陷阱,誇你幾句,也不用花錢,誇完還不好意思拒絕今晚的加班。同行誇你優秀可能是客套,也沒啥用,他們也不能給你加薪。


稀缺的是能利用好程序員的老闆和主管。

稀缺的是能最大發揮程序員效率,不給程序員下達無知任務的傻逼老闆,領導和主管。

稀缺的是尊重程序員,並能讓程序員能靜下心在開發的職業路上靜心發展,而不是被逼得最後都轉行的真正有前途的公司和企業。

-------------------------

當你找不到好的程序員的時候,你捫心自問一下,你和你的公司配得上那些優秀的技術人員嗎?你尊重他們嗎?你給足了錢了嗎?

不用在知乎里回答或者標榜自己。忽悠只能忽悠到低級貨。就算你狗屎運,騙到一個高級技術人才,人家干兩個月知道了你的為人也會走人。


別說優秀了,合格的程序員都沒那麼足夠


······我覺得,應該是優秀的程序猿崗位比較稀缺吧??


估計國內還是有很多優秀的程序猿的,每次看到招聘信息,要精通java ,c+ +,http ,tcp /ip ,再看看自己,完全夠不上啊,都不敢去找工作了,心虛的很,但是我一直納悶的是怎麼這麼多牛人精通了這麼多技術啊!


我記得之前有個遊戲公司的hr挖我,某號稱馬上上市的遊戲公司主營國外市場去年盈利過億發展兇猛,說要給股票待遇優厚招優秀的程序員。
結果去了,面試很矽谷范,上來就是寫leetcode,完了再來一道藍眼睛紅眼睛類型的智商題,逼格滿滿。當然作為常混知乎這樣裝逼論壇的我,也是給了逼格滿滿的滿分答案。
第二次面試也是沒準了又來一題leetcode hard,限定cpp寫。又是被我斬下。
兩個看起來像leader的人琢磨我的簡歷好久,最後發現看不懂我做的什麼,就開始問我產品經理經典題,估算深圳有多少理髮店。
逼格滿滿。
最後覺得我還不錯,談待遇,一個月15k沒股票。
我竟然沒摔桌子,微笑著離開。大概是我們對優秀的理解差距比較大?
不是我黑,深圳的這些公司真的夠low的…這種公司要放北京不得黑成狗?


優秀每個人都不一樣。

知乎小學生的優秀就是我能黑了這個賬號,黑了那個賬號。

知乎大學生的優秀就是我刷了這個題庫那個題庫。

知乎灣區的優秀,就是我寫了這個博客罵微軟,我寫了那個博客罵谷歌。


在普普通通的職場混了十多年的我來看,優秀就是產出多。

程序員在大約8到10年的時候,一定有一個坎過不去,就是非技術。這點上,做不到,就稱不上優秀。就算是world top 10,技術牛逼到要命,你也能看到他的非技術能力,也是要命的。只不過大部分程序員太年輕,尤其是中國,程序員需求井噴才幾年?有多少40歲以上的程序員?各個技術人員數量過500的公司裡面,有多少高管是程序員出身的,很少,為什麼,非技術能力不夠。一個人,一天24小時,技術能力再大能有多少?何況,職場里,哪裡來那麼多需要高精尖技術的事情?非技術能力不夠,就無法領導團隊,無法提前布置,無法說服他人,這樣產出能有多少?

這樣的人真的是很少


全都是吐槽強答的。都可以歇歇了。

從整個市場的範圍講。優秀的程序員,可能是百里挑一。

首先,市面上有大量濫竽充數,可以說是根本不會編程的「程序員」。來自印度馬蘭西亞等第三世界國家占絕大多數。這些「程序員」在UpWorks等在線外包平台泛濫成災,其素質可以說是以「騙局」形容。如果你在UpWorks招個人,招五次能碰到一次能夠勉強完成任務的(僅僅是完成任務把東西做出來,bug和代碼質量等不提),就算你是運氣好了。沒有站在招聘者這一方工作過的人很難想像市面上有那麼多冒牌貨。

能不能看到、找到優秀的程序員,和招聘的公司是極有關的。你如果是谷歌,那啥都別說了,最好的人才隨便挑,但這只是個例。如果是創業小公司上UpWorks找開發人員,你就自求多福吧,90%都是垃圾(他們的review或者portfolio可能很好看,請忽略,全是刷出來的)。不過得提一下,外包平台上中國人和俄國人的水平相對而言還是較高的。

對於資金有限的IT創業公司而言,想招到優秀的全職開發,是一個小概率事件。你能給的工資,大公司能給得更多,活更輕鬆,人家憑啥到你這裡來?說難聽點,肯到你這裡來的,都是冒牌貨。優秀程序員就是這麼稀缺。這就是為什麼「就缺一個寫代碼的了」的梗為什麼搞笑。所以創業公司的話出讓股份先招一個技術合伙人吧(這也是非常難的,但不在本帖討論範圍內)

對於有足夠招聘資源的大公司來講,有名氣在外,有足夠的預算,有中介和人力資源部把關,找到優秀開發人員的概率要高很多。但以我的經驗,專家級的骨幹可遇而不可求,一般的資深面試十個裡面能有一個就不錯了。面試的時候一道非常簡單的編程面試題(白板寫代碼,代碼量10行左右)就可以刷掉一半的人了。而能走到面試這一步的已經是經過HR篩選的了。

而對於一個合格的、能做出產品的團隊,組合也無非就這麼兩種:

1. 少數幾個優秀程序員走精英團隊路線,一個人頂幾個人(上DevOps);

2. 少數幾個骨幹帶大多數水平一般的,搞定核心部分,其他外圍交給一般的程序員或者外包,代價是容忍非核心系統的質量一般。

如果團隊里全是草包,你別想做出產品。

全是高級開發的大型精英團隊只有谷歌微軟亞馬遜騰訊阿里巴巴組得起。


彙報一下情況吧,迄今為止,只收到一份簡歷,雖然經驗達不到要求,但我挺欽佩他的勇氣。
......
謝邀。剛好要招一個優秀後台程序員,到時候題主看看有多少應聘就知道了。

註:這是一個真實的招聘信息,符合條件的同學請發簡歷到fusion.tang@163.com

深圳招聘資深後台開發工程師一人,要求如下:

1,985/211計算機相關專業本科及以上學歷。
2,至少3年的互聯網相關後台開發經驗
3,有一線互聯網公司任職經驗優先

月薪3w起。

…………
關於招985,211的原因,知乎上很多類似問題,我就不重複了。我想說的是,雖然現實很殘酷,但單純抱怨並不能解決問題。


推薦閱讀:

程序員的書包(背包)是一般是什麼樣子?
代碼自己不會寫,看一遍別人的還懂,這是對這門語言不會么?
27歲IT孕婦女的我,難道真的就此窮途末路了?
為什麼有些行業仍在廣泛使用 1990 年代流行的傳呼機?
怎麼用中文設計編程語言?

TAG:程序員 | 編程 | IT行業 | IT求職 |