中國的程序員是否過多了?
本人剛剛計算機專業畢業,感覺有好多其他專業的人會轉入計算機行業,而且不單單大學學習計算機,好多培育機構異常火爆,可為什麼就沒聽過其他專業有培訓班呢(甚至培訓班都上市了,可想其火爆程度)?然而國內對於程序員的需求又是多大呢?就現階段而言,程序員會不會已經過多了?
別的行業不了解,我就說說嵌入式C這一塊。
我加過一個群,搞嵌入式的,部分聊天的截圖,你們感受一下:
補充強調一下,這個群是有門檻的,搞一種特定的東西,基本沒有學生之類的進來。
關於BSP的討論(註:搞開發的可以百度到關於BSP的東西):
代碼里的基本錯誤(註:看編譯警告就能發現問題):
不知道怎麼操作編譯器參數(註:百度一下): -------------------------------------這就是這幾天的聊天記錄,我還沒往前翻,前面還有。
總結一下就是:
1. 碼農確實很多,干這行的確實很多,但肯動腦的人不多。
2. 不僅動腦的人少,連動手的人都少,很多人基本上就是伸手黨,有些東西連百度一下就能知道的東西自己不肯解決。3. 基本的工具不會用,找API不會找,給源碼不知道怎麼看。
我還遇到過:拿著開發板(還挺貴的)不知道uboot是什麼東西的,遇到過不會在不同的.c文件里引用全局變數的(不會用extern關鍵字)……
如果是剛畢業,能理解,問題是很多人都干這行有一陣了,還這樣就讓我無法理解了。可以不懂具體的技術,但起碼知道通過什麼途經了解,會用搜索工具以及代碼工具,有最基本的概念。
但很多人連這個都達不到。
當然了,慢慢這些人很多都會被淘汰掉,我們大學班級就是計算機專業的,30多個人里現在還在一線開發的不到十個人,可能5-6個人左右吧。
別看學計算機的這麼多,真正能幹好這一行的不多,而且學計算機也不等於編程。
我大學本科班級在大四的時候能正確寫出冒泡排序的人大概也就十個人左右吧(985學校)。
----------------------------
想知道普通學計算機的人水平怎麼樣,去混百度知道就可以了,可以感受一下有多少學計算機的人肯動手動腦。
----------------------------
再多說點吧,很多人覺得寫不出冒泡這件事很震驚。這很正常,動手能力差的人可能換個開發工具就不知道怎麼動手了。並且C是大一學的,到大四不動手的基本上都忘的差不多了。
況且,考研的人會沒事寫代碼嗎?專業課又不是只考C語言。
不會寫排序的人C語言怎麼過的?一個冒泡排序,最多15分,考試成績佔60%也就沒多少,平時作業按時交就可以了。況且考試時候寫個for基本上就要給1-2分吧,考試又不是ACM online,不是說AC了才給分,滿分和零分之間有很大的空間。
動手能力跟考試成績沒啥關係,懂不懂演算法跟能不能寫出C語言程序也沒啥關係。自己是個碼農,所以來回答一下,我是15年三本畢業,學的是計算機專業,可是大學四年從來沒有好好學過編程,不誇張的說畢業的時候除了lol上了白金,編程幾乎啥也不會,畢業了想找工作,可是不會人家都不要你啊,自己在家開始從頭學前端,學了一個月來北京找工作,技術渣到不要臉啊,記得頭一次面試連自適應屏幕寬高百分百都想不出來,對自己也是呵呵,好不容易進了家公司,才知道這個坑有多深,公司是做通信行業,我是在路由器前端管理界面的組,見識了好多底層的大神前端的大神,知道了自己有多菜,不想混日子,自己好好學,可是公司被收購了,半年沒有項目做,只能自己業餘時間學,恰好還被公司強制分到了底層部門(自己渣人家不要我了),一入底層更是深似海啊,啥也學不懂,感覺就像混日子,咬牙裸辭,在出租屋裡除了吃飯睡覺就是學習敲代碼,再出去找工作找到了下家公司,工資翻倍入職,新公司前端就我一個人,頂著自己都不敢想的壓力咬牙開始干,為了完成項目,通宵加班,不停的學習,最終完成了需求,一兩個月下來拿下了整個項目,真真正正的能獨立完成前端的工作了,感覺真的好,程序員真的不少,我也是菜逼一個進來的,我想往上走繼續干,不想混日子,我感覺我將來也會成為大牛的,其實程序員是多,就看自己怎麼往下走了吧,聽同學說過一句話我現在還記得,從零到一難還是從一到一百難?你既然從零變一進入了這個行業,就看你能多快到一百了,還是你就停留在一個地方還是不斷地前進。
不是太多,而是太少了……
十幾年前念小學的時候,新華計算機培訓很火,很多人告訴我,計算機技術火是暫時的,過幾年就冷門了...
幾年前高考報志願的時候,很多人勸不要報和計算機有關的專業,說可能以後找不到工作...
現在讀研究生了,阿里淘寶京東很火,互聯網火的一塌糊塗,一大堆人又開始叫囂,互聯網是泡沫,過兩年就破滅了...
中國版收入:
競爭力排行 美國版行業收入排行榜: 本科收入前三十位:研究生收入排行前三十:
不是互聯網要破滅了,也不是IT行業要飽和了,而是嫉妒「錢多話少死的早」的程序員行業的人太多了……
當前無論智能網路,神經網路,網路空間安全,網路應用等都依然非常不成熟,這些不靠程序員去完成,難道靠建築工人么……
借用某師兄@徐國曦話:萬般皆下品 惟有cs高....趁年少,多學點計算機技術吧哈...否則,花有重開日,人無再學計算機的能力吖……我認識的leader普遍認為,招來就能幹活的程序員太缺了。我是搞JAVA的,我們leader感覺。了解JVM基本原理;看過常用容器的源碼;理解三大框架的基本實現;熟練使用linux(注意,是使用。。不是開發);NIO、非同步、多線程原理能說出個七七八八,會用NIO、非同步、多線程寫代碼;網路部分比較熟悉;會用資料庫。能用設計模式對系統進行理解有加分(沒讓你設計,而是看著一個系統,能理解使用了哪些設計模式,可能解決了哪些問題)。能做到以上幾點的程序員太少了(社招)。所以公司只能根據這些內容,降低標準去招應屆生進來培訓。
2000年左右配合著美國互聯網泡沫的破裂,我那時候就聽過不少人,甚至沒摸過計算機的大爺大媽都知道:「別學計算機,飽和了。」 「21世紀是生物的世紀。」 今天的it產業有沒有泡沫,是不是過熱?肯定有泡沫。不過就算泡沫破了,it產業的規模需求會比機械,土木,化工之類的小?各行各業不用it了?低端碼農太多了,那低端車工焊工多不多?大不了賺的和化工工程師一樣多而已,你又不用接觸有毒物質不用倒班,還是個不錯的選擇不是嗎?
主要是很多非科班出身的程序員給了大家一種幻覺,就是只要是個人就能寫程序。而事實上是軟體行業發展速度太快,體制內的學校教育跟不上。所以程序員對自學能力要求特別高,大部分人根本不適合。更因為這個行業不論高低都叫程序員,導致大家覺得這個行業薪水特別高。而事實上,造飛機和坐飛機能一樣么?
十幾年前我高考選計算機系的時候,網上和很多人都跟我說,計算機的人太多了,畢業要找不到工作的。
畢業後計算機的工作崗位的確沒現在這麼多,沒搶的這麼瘋。可還是能找到工作的。
你讓我回答是否過多了,我肯定跟你說不多。但是你如果吸收了現在程序員還不夠的觀點,並且沾沾自喜毫無進取的話,那麼很有可能你就會成為過多的那個。你不該關心這個問題,你該關心如何提高自己。金字塔型
開始一堆一堆一堆一堆一堆一堆一堆初級一堆一堆一堆一堆一堆
中級一堆一堆一堆高級一堆這樣的實話,就說我們公司吧,一個JAVA,因為會說話,把我們死扣的老闆居然說動了去找外包然後自己當了監工,直到後來外包撤走,我們自己需要他改一些偶爾出現的bug,他改不出來,走了。。。我們的安卓只要一說後台貌似出了點問題,他第一個反應就是立馬反駁不可能,我們以前的JAVA第一個反應都是我先看看。這個就算了,前段時間讓他做一個排序的事情,他做了半個多月,什麼都沒搞,上頭一直催,最後自己辭職了。。。。。然而他的工資是1萬2,拿了4個多月,我們可憐的老闆在他走了之後還可惜的說,XX因為個人原因自己辭職了,真可惜。當時我們技術部其他同事的內心是崩潰的。。。。。每次從他身後經過,看到他的電腦桌面永遠是window7默認桌面,重要的是,他說他是某培訓機構(該培訓機構很出名,在美國已上市)的JAVA老師,從他手裡出來了不知道多少禍害企業的JAVA程序員。。。。。。
多不多要看供需,技術人才的短缺與否看招聘和薪酬就能反映出來。
來騰訊面產品經理的同學多的不要不要的,但是我們還是會特別希望每年提前從高校招一些技術比較好的程序員
我的看法是隨著全社會信息化和互聯網化程度的加深整個社會對短期來看對初中級程序員的需求會增長不少,但是長期來看技術骨幹這一層次的人才會更缺,主要的原因在於技術的演講將會釋放掉之前不少初級程序員的Ctrl C+Ctrl V的工作。
技術演進:
雲計算Iaas、Paas--幹掉運維Baas---幹掉後端開發開源組件--幹掉搬磚的雲服務、中間件和Baas服務需要更多資深的技術大牛來維護、研發,就像「微信小程序」一樣對於小白們而言,編程的門檻會越來越低,會寫CSS+HTML+Javascript就可以快速實現一個應用。
至於說災備、HA、可擴展性、微服務這些本身屬於架構師知識領域的東西,會越來越多的被包裝成基於Restful-API就可以調用的服務,未來產品經理自己就能寫代碼可能性還是很大的。
比如說,其實現在的前端程序員有不少是設計師妹子轉行的,你看到了么?最近我們騰訊雲佈道師團隊在招人,面試了30多位研發背景的候選人(第2級-第4級的都有),發現大多數程序員一輩子的技術水平就卡在第3級和第4級之間,甚至於更多的程序員是在30多歲出頭的時候就轉行了。
我心目中程序員的分級:
1.首席科學家:Tim Berners-Lee WWW的發明人、James Gosling Java之父、Gordon 孫國政 OCR技術發明人2.BAT這類大型互聯網企業的CTO: 億級在線架構,管理過1000人以上的研發團隊。
3.技術專家、大公司技術總監: 整個中國互聯網界,需要用到千萬級級用戶在線的相關技術的不會超過100家,他們當中不少人有著100-1000人技術團隊的管理經驗。
4.技術骨幹、小公司CTO:關注與功能和產品的快速實現,有十萬-百萬級用戶同時在線的系統的研發經驗,10-100人的技術團隊管理
5.合格程序員,能夠快速實現產品研發和功能,編寫技術框架、debug,能進行資料庫調優。
6.小白程序員,能搬磚實現業務邏輯,缺少實際項目經驗,部分能夠調用成熟技術框架,但不了解底層技術細節。
btw:提一下我們騰訊雲在找第3級、第4級的技術佈道師,歡迎合格程序員私信我...低端搬運工太多。中級以上的少得可憐……
是否過多你看一個指標:行業平均工資水平。
從業人員供大於求了,價格肯定會降下來的。而實際情況是,這個行業的平均工資水平遠高過其他傳統行業。
中國真正過多的是農民。中國一個普通農民,每年種地收成1萬斤折算成人民幣才1萬多,平均每月1000塊算不錯了。而中國依靠種地為生的農民有多少?至少兩三億。這才是從業人員過剩的行業。
知乎上的人不覺得,其實相對來說,程序員是一個準入門檻很高的行業:至少大學畢業,會英語,會計算機軟體。這三條,每條都可以刷掉幾百萬想進入而不能進的人。
你拿農民的視角看程序員准入門檻:我就小學畢業,村裡才幾個上大學。英語?普通話都不會說,哪會什麼英語。計算機軟體,碰都沒碰過,開機都不會,還是算了吧。
你拿高中畢業生的視角看程序員准入門檻:我就高中畢業,想考大專又沒精力。英語?學過,但沒什麼用就忘了。計算機軟體,學過Office,會用360、QQ。
中國互聯網真正爆發才幾年時間,互聯網行業誕生也才20年,相對煤炭鋼鐵這些動輒一兩百年的行業,朝陽得很。所以就別沒事無病呻吟了。
對未來感到迷茫和無所適從?微信搜索未來知識圖譜(ID:futureknowledge),回復「投資未來」獲取《未來五年,這7個行業將爆發性增長》現在中國程序員的總量大約在200多萬的樣子吧,真的多嗎?
下面我胡亂分析下:
胡說八道1:胡說八道2:目前最新數據顯示中國公務員數量是716.7萬,仍然有大批的畢業生和社會人士前赴後繼考公務員。程序員才200多萬真的多嗎?
胡說八道3:在2014年的時候,中國的網站共有350多萬個,這兩年互聯網發展這麼快,粗略估計現在有500萬個吧?
假設有1/3的網站在實際運行的話,就有160多萬個了,算下來200多萬個程序員根本不夠用啊!!
胡說八道4:中國目前大大小小的互聯網企業估計有個10萬家吧?非常不合理的平均計算,一家20個程序員?
胡說八道5:現在互聯網發展的速度就像房價一樣蹭蹭的,互聯網+、雲計算和智能硬體等領域還有很長的路要走,需要大量的程序員。農業領域現在還類似於一個未開墾的「處女地」,等著這一片發展了,對人才的苛求程度不知道會成為什麼樣子。
胡說八道6:講真,現在很多程序員水平都不太行,一瓶子不滿半瓶子晃蕩。幹了3年以上的程序員,月薪還沒過萬的,都要好好反思一下。
真的是牛逼的程序員,真的數量有限,像出名的軟狗 @趙劼 和 @winter 他們都很謙虛的說自己處於前30%,頂多20%的層次。輪子哥 @vczh 前1%,不信你看他頭像2333。
人才都是流動的啊,如果你覺得自己實在是太牛逼了,在中國待不下去了,就去國外啊,有的是缺程序員的地方。
聽我胡說八道完了, 真的覺得程序員很多嗎?
任何一個領域都缺大牛,多的都是普通人。
-------------------------------------------------------我是分割線----------------------------------------------------------------我沒有對輪子哥沒好感啊,我很稀罕輪子哥 @vczh 的啊!之前因為一些在別的回答里收到的不友善評論,說了一些氣話,道個歉,重新答。
程序員固然是不會過多的,題主也說了培訓班都上市了,很火爆,那如果市場上對程序員需求不大的話這些培訓班會有這樣的現狀嗎?當然不會。
而所有答案觀點幾乎是一致的,那就是把程序員分成好多檔次,認為:「高級」的程序員是很少的,而且是永遠招不夠的;而一些「低級」的程序員是很充足的,大批量規模化生產的一批程序員無法滿足企業需求,營造了一種「供大於求」的假象。其中被黑得最慘的當屬培訓班,以及所謂的「培訓班程序員」,我在以往的答案里也不小心黑了一下。
實際上現在想想,這種分法對一部分人是相當不公平的。作為已經入行的程序員來說,我們可能會認為編程學習並不是一件很難的事情,至少沒難到無從下手的地步,心想:這麼簡單的事情都不能自學搞定,要上啥培訓班浪費錢浪費精力,一定是自己懶並不懂得自學方法等等。
這可能就是所謂的倖存者偏差吧。程序員這個職業有其自身的魅力,但並不一定所有人在其還沒走入社會前就能有機會進入這一行,在工作之後希望轉變,用莫大的毅力和勇氣毅然轉行,這點我是相當敬佩和敬仰的,並且我也相信這部分人能成為真正的工程師在一線做出成績。如果批評波及到這部分人,我覺得是不合適也是不公平的。程序員不是一個特殊的職業,他同樣需要毅力、努力加上一點點的天賦,和其他技術性的職業沒有太多區別。
那我們到底在批評什麼呢?我想應該是那類「看得懂代碼但又無法被稱為工程師」的那群人。程序員和其他職業一樣,說到底都是為了解決問題創造價值而存在的,在公司工作不等同於在學校上課考試,評價一個工程師好壞的唯一標準就是他的實際工作結果的好壞,而不是看過多少本書,刷過多少道題,做過多少「練習性的項目」。
為什麼這可以牽連到培訓班被黑?其實我們不是說培訓班不良心,都是騙子(雖然時長聽到被培訓班騙的事情,但是我相信應該也不是全部),而是那種短期內突擊填鴨式教學會帶來的慘痛結果。上培訓班,會有哪些初衷呢?有一小部分人是想得很清楚我要做哪個細分領域,我要從培訓班裡學到哪些技能來解決哪些實際問題;而更多的是為自己迷茫未來而選擇一條可能成功也可能失敗的道路,也許短期內的過量學習能彌補對空虛過去的歉疚,因此能找到安慰。
你不覺得後者和大學期末考試前複習的情景很像嗎?我毫不懷疑抱著這樣的心態在畢業後面對筆試題的時候能夠遊刃有餘,但是又怎麼能奢望一個從沒想過成為工程師的人成為一個有實際工程能力的人呢?
所以,不是培訓班如何如何不好,更不是所謂的「培訓班程序員」有多大的過錯,我相信,無論一個會寫代碼、看得懂代碼的人是自學、科班學習還是培訓班學習,如果他從沒有站在一個實際工程師的角度去看待過問題,解決過問題,我認為都不可能成為一個合格的程序員。為什麼很多行內人推崇自學編程的人?不僅是因為自學會伴隨著整個職業生涯,而是因為自學的過程中自己的思維和目標佔據主導地位,而不是由一個所謂的老師像保姆一樣牽著你走,在自學的過程中往往會更有機會思考所學內容和實際工作的關聯,會不停地拿剛學會的、仍然稚嫩淺薄的技術去解決實際問題,也就更能擁有工程師思維。
野草比之專門花園裡的花朵以及拿催熟劑催熟的瓜果來說,總歸命更硬一點,適應力更強一點。
最後,作為一個已經入行但經驗仍然不是很豐富的行內人,給那些想入行、即將入行或剛剛入行的朋友一點不成熟的小建議:
1. 無論你是自學、科班或是培訓班出身,請堅信在軟體界,衡量你是否優秀的標準永遠只有一條:能否解決問題創造價值;
2. 如果你自認為沒有能力做計算機科學的研究,認為自己更多地是在企業里軟體工程師,那麼請切記自己的身份首先是工程師,其次才是程序員。我們的工作是用工程師思維解決實際工程問題,而不是去做題,或者表演酷炫的編碼技巧。如果你還在學習的路上,請把這一點放在所有學習項之前;3. 如果你出自培訓班,你不用因為知乎上一些行內程序員的看法而感到擔憂,那只是你起跑方式有所不同而已,不代表你不能跑得比別人快。我們程序員大多善良沒有心機也沒有政治頭腦,實際水平決定一切。4. 編程可以速成,但是工程師絕對不可能速成,如果你真的想過上還算舒坦的日子,拿看起來還不錯的薪水,請儘早打消速成的念頭……總之,一切請加油!
跑題跑得很遠,抱歉了。以下每一句都能過濾一大批不靠譜程序員:
- 「會」翻牆。
- 看英文文檔。
- 「會」命令行。
- 完整讀過 XX 入門經典。(或者看 Learn XX The Hard Way 也行)
- 平時對技術有總結(博客)等。
- 學習新技術。
- 有過、貢獻過開源作品。(或者有能拿掉出手得作品。你們程序員真是摳字眼,不開源也行,好了吧。問題是你不開源我怎麼知道你靠不靠譜?Show me the code)
每一句話剔除50%,你覺得還有多少靠譜程序員?
以上也只是基本條件。似乎評論里很多人不知道必要條件和充分條件的區別。
注1:「會」不等於「天天用」。沒人邀,自己玩。
大家看過能理解的笑笑,不能理解的跳過就好。-----------------------------------
職業培訓市場其實選擇很多會計法律想學廚師,汽修,挖掘機技術,請到我山東大藍翔技校,包學包會。然而,你只是關注了計算機技術,忘記了米其林餐廳大廚收入比一個小公司CTO收入要多吧。-----------------------------------
程序員多嗎?目前看程序員的人群基數很大,但是社會發展,導致各行各業需要更多的程序員,製造更多能夠改善社會生產效率的有效編程,所以對於未來全民都會編程的世界而言,目前程序員不多(未來編程真的那麼重要嗎?當然啦!因為我就是程序員啊!!!我們要改變世界的呀!!!)當然,實際情況是因為有了編程可以改進自己的邏輯思考、推導能力,也可以組織高效生產提升效率。這個理論導致我們無法迴避這個大趨勢。你看打車要軟體吧,外賣要吧,買房買車找老婆……是不是細思極恐了?不要怕,因為該來的總會來,世界從原始部落,到農耕時代,工業時代,信息時代,現在已經到了數據時代,未來是否是黑客帝國的樣子,誰有知道呢。扯回來,還有很多行業沒有得到有效開發和提升也有很多的,這麼看你還覺著目前程序員多嗎?大家的問題無外乎是下面的問題了就。-----------------------------------
如何成為稀缺的人才?任何學科只要把握好精專和跨界,這兩個詞語,我相信都是有前景的事業,代碼一樣。
舉個例子講,一個做網頁開發的小公司最期望的人才,技能上說,你最好會切圖,懂css,懂js,新出了xxx框架你能理解會用,最重要你還精專php或者jsp其中一樣。這種人只要意識強,到哪個同類型公司都能拿到差不多高的工資,不怕失業,這人估計還會想著跟誰去創業做點什麼去了,退一步講,你只會用php,php用的很好,那也不怕找不到合適的工作。
代碼工作也細分了很多類型,可以根據具體行業去做規劃,國企下面很多三產做自己的oa、erp、營銷客戶等等系統,這些大型企業看重的是建構、實施、管理等能力,要動要學這些大型企業的業務才能做好事情,這是後面我說的跨界。私企更開中基礎精專能力的條件下後續的創新研發能力,也是必須要懂得跨學科的。
再舉一例,C語言。早期網路熱論學語言學啥語言好的時候,會有一大批老司機說,學C語言,C語言好,應用多,工資高。但是後面是個細思極恐的事情,單純的C語言能做什麼?要做嵌入式還得學單片機,學電路,學信號分析;要是做手機開發,還得學oc,那就涉及內容更多;要是學windows應用開發,那又是mfc、atl,stl,activex一堆東西;最可怕的是縱深進去,還有設計模式,演算法,人工智慧等等輔助學科,這些都是值得深入學習的,自己能消化到哪一步,就可以走多高。
自己從業感想,代碼的人生就是不斷學習和進步的人生,沒有制高點。但是自己構架自己的知識結構,形成自己的知識樹,把有用的信息不斷添加,這個知識體系就日趨強大,所以方法論上說,精專構架強大的知識樹,已經讓你做的好於一般人,如果根據自己的能力,在自己涉及的行業領域跨界,那你就是這個領域的專家,那些說不缺碼農,缺好的頂尖的程序員,所謂的頂尖就是你的知識樹夠精專、同時還有這個同行別人沒有的知識,頂尖不外乎就是這個成長途徑吧。一點都不多,團隊都招不到人,多的是渾水摸魚的人。我有一個高中同學大學學自動化的,在某機構培訓,假簡歷(培訓機構會教如何寫假簡歷,如何寫假項目經歷),直接培訓4個月出來11K。據他說他一起培訓有培訓完要到18K的,但是最終干不下來,辭職了。但是這些濫竽充數的人都是去到那些對互聯網,對技術一竅不通的公司、團隊,之所以他們能進去是因為面試招聘他們的人什麼都不懂。你讓他去BAT試試,看能不能通過。順應互聯網的大潮,每個公司都在互聯網化。所以中國的程序員不是太多了,是優秀的程序員實在是太少了。最近跟BAT團隊一個leader聊天,他們團隊8個人撈簡歷,他自己今年下半年還有6個HC的KPI,但是通過率實在太低了,估計KPI完成不了了。所以優秀的程序員不要擔心,只要你優秀,離過多還早著呢!
看了一下大家的答案,大部分人只是在吐槽,然後在吐槽的同時秀一下自己舉世皆濁我獨清的優美姿態,並沒有幾個人認真地回答樓主的問題。
仔細看樓主的問題,推斷出樓主提這個問題的原因。他是在害怕自己所學習的專業供過於求,以致於失去了市場競爭力,所以,才會有三個疑問。
1、為什麼有那麼多培訓機構在培訓程序員?
2、國內的程序員需求量到底有多大?
3、程序員是否供過於求了?
先回答樓主提出的問題,然後下面詳細論述我的看法。
1、為什麼有那麼多培訓機構在培訓程序員?因為市場需求太大了。
2、國內的程序員需求量到底有多大?大得絕對超乎大家的想像。
3、程序員是否供過於求了?遠遠沒有,並且在未來可預見的十年甚至二十年內,可能都不會供過於求。
不知道樓主有沒有聽過一句話,叫做「軟體吞噬世界」。是網景創始人、矽谷著名的天使投資人馬克?安德森說的,這句話其實很一針見血地描繪出了我們這個時代的真相。
軟體,作為我們人類自己創造的一種東西,正在我們這個物質世界之上肆意生長,並逐漸地滲透到物理世界的每一個角落。所謂互聯網也只是軟體的一種形式。我們看看互聯網發展了二十年,軟體是怎樣一點一點地滲入了我們的衣食住行,想買衣服,直接淘寶;想吃飯,直接定外賣;想租/住房子,網上尋找;想出行,網上訂票,網上叫車;在互聯網時代,軟體所吞噬的還僅僅是信息處理那一部分;到了移動互聯網時代,軟體已經開始滲入很多生活場景;而接下來,我們正在進入萬物互聯、人工智慧、智能製造的時代;現在,在很多場景下,軟體還需要以人為媒介,才能與物理世界接駁;但很快,大部分軟體就會直接操作物理世界了。軟體會成為整個物理世界的靈魂和操作系統。這其實還僅僅是說狹義的,我們能夠直觀感受到的軟體。除此之外,我們的生活里有大量的我們已經習以為常,感受不到的便利都是軟體所賜,比如你打一個客服電話,在電話里選擇人工服務,即使這樣,也是由客服中心的軟體自動幫你分配了坐席;你每月領工資,都是由銀行的軟體完成這個過程;可以不誇張地說,未來軟體會接管你生活的方方面面。想一想你的身邊有哪些東西還需要你費心勞神的來操作物理世界吧,未來這些事情,都會有軟體來完成,所有的物理世界的一切,最終都會有軟體的介面,以方便軟體能夠自由控制。這所有的便利的背後,都站立著一堆苦逼的程序員。這個世界對軟體的需求有多龐大,對程序員的需求就有多龐大。而這個吞噬世界的過程需要多長時間才能完成呢?至少我感覺,幾十年內無法完成,甚至可能永遠都無法完成。程序員將變成這個時代的最基礎的工種,就像農業時代的農民,工業時代的產業工人一樣,因為未來這個世界得以運行的基礎,就是由軟體構建的。
所以,你問,程序員是不是很多,的確很多。特別在上地、西二旗這樣的程序員聚集的區域,真的可能一塊磚頭打死十個人,有9個是程序員。但程序員是不是過多了?不是過多,是遠遠不夠。所以才會有那麼多培訓機構衝出來做程序員的培訓,所以才會有各行各業的人衝進來做程序員。
說一個去年的事情大家感受一下,去年公司因為業務和長遠人才培養的需要,考慮去某一知名的培訓機構招聘幾個剛剛畢業的新人弄到公司來培養。公司的HR和培訓機構聯繫了幾天,終於確定某一天有一期培訓班要畢業了,說我們可以在畢業當天過去,現場招聘。我很高興,特意精心準備了一個路演材料,準備到現場去談談公司的願景,好招納優秀的人加入。去之前我還跟HR說,這次我們過去就是掐尖的,條件不好的我們不要。殊不知過去以後,就傻眼了。培訓機構的介面人跑出來說,哎呀,不好意思,之前剛來了一個公司,已經把這個班上大部分人都要了,現在還剩七八個人,你們趕緊見一見吧,要是不見,這些人很快也沒了。我們也不用路演了,趕緊找了個小房間,挨個兒見,最後選定了幾個,約定後面到我們公司再參觀一下,結果後來就來了一個,參觀完以後,offer都發了,最後還是沒有被人家放了鴿子。這就是去年創業高潮時的程序員就業形勢。巨大的需求量讓早些年的人才儲備完全不夠用了。今年隨著大量的創業公司倒掉,市場供需可能已經沒有那麼誇張了。但我接觸的幾乎所有公司,都跟我吐槽說程序員職位缺口,長期招不到人。大家吐槽的那些從別的行業衝進來的程序員,不懂數據結構,不會寫冒泡排序,但只要認真工作幾年,照樣是汗多公司爭奪的對象。為什麼?因為程序員真的不是大家想像里那麼高大上的智商密集型工作,特別在中國,很多時候早就淪為了勞動密集型工作。大家想像里的程序員的工作是每天研究高大上的演算法,每天構造牛逼的設計模式,而實際上很多程序員的工作是找一個開源的框架,看一下API,實例化一個類,調用個現成的方法,搞定80%的工作,剩下20%,在產品經理和業務部門的要求下反反覆復修改優化,直到吐血。軟體世界的發展早就把程序員變成一個正常工種了,只有極少數人,才是那些深入內核、挖掘底層,創造出全世界程序員都在使用的演算法、語言、框架、引擎的人。
另外,也替非科班出身的程序員們說句話,我身邊有很多優秀的技術人員,都非科班出身。人生不應該被自己的背景所限制,我覺得這世界上很多的行業,所謂隔行如隔山,都是說給不遠改變自己的人的。在這樣一個信息和交流如此順暢的時代,只要付出足夠的努力,我們是可以在一個完全陌生的行業里建立跟別人同樣的成就的。所以,那些沒有計算機背景的朋友,如果你覺得你希望進入這樣一個行業,不要管你的背景,不要管別人的吐槽和嘲笑,進來吧,這個行業需要大量不甘於現狀,願意改變自己命運的人。背景並不重要,關鍵是看你願意為此付出多少的努力。
最後,做個小廣告,如果有猿們對我們公司感興趣,可私信我,虛位以待。
我見過很多程序員的特點:
- 不主動學東西。
- 不想用好的方式解決問題,而是用省事兒的方法解決問題。
- 簡歷上寫做過 A, B, C, D,還是最近的事兒,一問三不知。
- 寫代碼沒節操,簡單到同一個項目基本代碼規範和風格都做不到。更別說設計模式了!
- 亂用版本控制。
- 拿git來說,不會開分支,不會rebase,不會解決衝突,還有push失敗了不看原因就不管了等等。最有趣的一種情況是,一旦衝突就直接用我的版本,別人的版本就算了吧。
- 沒有自己解決問題(我是說搜索答案)的能力,所有的東西都要問別人。
程序員要真是多數是這樣的,那……
當然,我也啥都不會。中國程序員不多,只是碼農太多了,讓別人產生了錯覺。
推薦閱讀:
※IT行業到底是怎麼一回事,是否能科普?如果可以如何科普?
※Unity3D如何有效地組織代碼?
※程序員平常加班嚴重,是怎樣兼顧自己個人能力提升的?
※有哪些迅速提升編程技術的方法或途徑?
※印度的軟體產業為什麼發達?