中國的程序員群體是否已經(jīng)過多了
最近知乎上有個問題,中國的程序員群體是否已經(jīng)過多了?[1]
題目描述:本人剛剛計算機(jī)專業(yè)畢業(yè),感覺有好多其他專業(yè)的人會轉(zhuǎn)入計算機(jī)行業(yè),而且不單單大學(xué)學(xué)習(xí)計算機(jī),好多培育機(jī)構(gòu)異?;鸨ㄉ踔僚嘤?xùn)班都上市了,可想其火爆程度),可為什么就沒聽過其他專業(yè)有培訓(xùn)班呢?然而國內(nèi)對于程序員的需求又有多大呢?就現(xiàn)階段而言,程序員會不會已經(jīng)過多了?
相信尚在學(xué)校的同學(xué)和想轉(zhuǎn)行的同道多少都會有類似的擔(dān)心。下面僅就我自己的一些經(jīng)驗和觀察來簡單聊聊。
首先說下我自己的經(jīng)歷——待過國內(nèi)大公司(bat 之一),獨角獸(cv方向的),外企(做操作系統(tǒng)和辦公軟件的那個)和創(chuàng)業(yè)公司。就我這些年的求職和招聘觀察來說,企業(yè)的核心崗位在招人時都存在一個巨大的 gap ——一方面能拿到特別多的簡歷,一方面又老招不到合適的人。
是因為 bar 太高了嗎?有,但并不算太高:
學(xué)歷:好學(xué)校的非計算機(jī)專業(yè)和一般學(xué)校的計算機(jī)專業(yè)。
代碼算法:leetcode 前兩三百道好好做過兩三遍。知道常見的數(shù)據(jù)結(jié)構(gòu),寫的代碼比較干凈。
基礎(chǔ)知識:操作系統(tǒng)進(jìn)程線程、文件系統(tǒng)、內(nèi)存管理,計算機(jī)網(wǎng)絡(luò)五層模型、常見協(xié)議,數(shù)據(jù)庫的一般概念。
項目經(jīng)歷:說清楚,不欺騙,交流順暢即可。
領(lǐng)域知識:在一個方向工作幾年后,只要有歸納有積累,不是工作做完就算,而能稍微追一下背后原理。
基本上五條都滿足絕對能找到大公司的核心崗位。這五條要求高嗎?可能有人會說高?但其實只要你對計算機(jī)稍微有一些自己的堅持,積累幾年,也都能達(dá)到。
所以,不要怕這個行業(yè)人多,只要你喜歡編程,保持好奇心和求知欲,很多事情都能順其自然,水到渠成。但你若不喜歡,只是來混口飯吃,那的確混飯的人很多,多到每招一個人都要過上百份簡歷,面十幾個人,發(fā)幾個offer,卷到看不到希望。
所以,歸根結(jié)底還是看興趣,但也不用到那種媒體里渲染的 geek 的地步,只需不時有思考即可。
知乎評論區(qū)對刷 leetcode 爭議比較大,其實刷題只是學(xué)算法思路、學(xué)代碼組織(leetcode評論區(qū))的一種手段。但在有的公司機(jī)械的考leetcode情況下,容易刷著刷著就混淆了目的和手段,這是人之常情。但我們自己要明白這兩者區(qū)別,還可以有很多其他手段可以提升這種代碼和算法能力。比如多看優(yōu)秀開源項目、上算法公開課、看相關(guān)書籍等等,當(dāng)然最重要的事自己多寫,多思考,不斷凝練自己的代碼。
那為什么我還推薦 leetcode 呢?因為他實踐性最強,反饋最快,討論區(qū)里還有很棒的的奇思妙想。但再次強調(diào),這只是一種手段。錯的是機(jī)械的考leetcode題的面試官,不是我們。
最后的最后,不做點什么怎么能是我的風(fēng)格呢?
為了給彌補這種 gap 做一點微不足道的貢獻(xiàn),我建了一個 github 的 repo[2]。能以提 issue 的方式發(fā)布內(nèi)推職位,并且可以打上各種有特色的 label,比如可遠(yuǎn)程、balance 等等,使求職者容易過濾。此外,職位 JD 下一般都有資深員工的微信供勾搭,可以了解工業(yè)界一線用人需求,當(dāng)前僅限分布式系統(tǒng)、數(shù)據(jù)庫、存儲、計算相關(guān)職位~ 閱讀原文可直達(dá),歡迎來撩。
題圖故事

參考資料
[1]中國的程序員群體是否已經(jīng)過多了?: https://www.zhihu.com/question/51359754/answer/2269661548
[2]在 github 上以提 issue 打 label 的方式發(fā)布職位: https://github.com/DistSysCorp/jobs/issues
