我真傻,招了一堆只會(huì)“谷歌”的程序員!
整理 | 鄭麗媛 ,出品 | CSDN(ID:CSDNnews)
Hollis的新書(shū)限時(shí)折扣中,一本深入講解Java基礎(chǔ)的干貨筆記!
不同于幾十年前曾經(jīng)尚在起步的互聯(lián)網(wǎng)時(shí)代,現(xiàn)在我們可以借助網(wǎng)絡(luò)解決各類問(wèn)題:從生活瑣粹到專業(yè)技術(shù),只要耐心,就一定能找到答案。
一如國(guó)內(nèi)大多習(xí)慣于“百度一下,你就知道”,谷歌也是多數(shù)國(guó)外用戶首選的搜索引擎——按理說(shuō),這并沒(méi)有什么不好。
然而,國(guó)外有位程序員老歌 @nmivan 曾分享過(guò)一則他被“谷歌”坑了的故事:“我這個(gè)白癡,招到了一堆只會(huì)‘谷歌’的程序員!”
以下是 @nmivan 的親身經(jīng)歷(為更具代入感,本文將以第一人稱敘述)。
自負(fù)如我,決定把“筆試”變?yōu)椤皺C(jī)考”
我是一名技術(shù)面試官,一直都在負(fù)責(zé)公司的技術(shù)面試,有一套雖非原創(chuàng)、但簡(jiǎn)約有效的招聘流程:先對(duì)應(yīng)聘者進(jìn)行一輪面試,再讓其做一些編程筆試——是真的“筆”試,就像在大學(xué)里考試一樣,應(yīng)聘者需要在紙上寫(xiě)下解決問(wèn)題的代碼。
事實(shí)證明,這個(gè)招聘流程很合理:我們所聘用的所有程序員都成為當(dāng)?shù)?IT 社區(qū)的重要專家,其中一半以上還在各個(gè)領(lǐng)域建立了自己的 IT 業(yè)務(wù)。
這般成績(jī)令我有些“迷失”了。在我看來(lái),能招到這些優(yōu)秀人才完全歸功于我這個(gè)技術(shù)面試官所制定的招聘流程,而為了跟上時(shí)代發(fā)展,我決定在原本基礎(chǔ)上進(jìn)行一點(diǎn)改變。
“為什么要讓他們?cè)诩埳蟻y寫(xiě)亂畫(huà),這方式仿佛停留在古代?!笨紤]到我自己也快忘了在沒(méi)有 IDE、上下文代碼、調(diào)試等現(xiàn)代開(kāi)發(fā)工具的幫助下編寫(xiě)代碼是什么感覺(jué),我改變了技術(shù)面的方式:從“筆試”變?yōu)椤皺C(jī)考”,即應(yīng)聘者無(wú)需再手“寫(xiě)”代碼,改為在電腦上敲代碼。
最初,他們的表現(xiàn)確實(shí)不負(fù)期望
我的做法是,跟應(yīng)聘者說(shuō)明編程任務(wù)后,給他/她一臺(tái)電腦,要求其在半個(gè)小時(shí)到一個(gè)小時(shí)內(nèi)完成——在此期間,我會(huì)離開(kāi)處理一些其他工作。
等我回來(lái)后,迎接我的就是一個(gè)現(xiàn)成且完整的解決方案,不僅代碼漂亮,性能優(yōu)化得也很好。天真如我的第一反應(yīng)是:當(dāng)代人竟如此熱愛(ài)技術(shù),編寫(xiě)代碼對(duì)他們來(lái)說(shuō)就像呼吸一樣簡(jiǎn)單!
因此毫無(wú)疑問(wèn),我雇用了這些人,他們最初也確實(shí)不負(fù)期望。
對(duì)新員工來(lái)說(shuō),一般入職的頭幾個(gè)月是一個(gè)挑戰(zhàn),因?yàn)樗麄兠τ趯W(xué)習(xí)任務(wù)編碼,無(wú)法獨(dú)自承擔(dān)工作。意外的是,我在那批通過(guò)“機(jī)考”招聘進(jìn)來(lái)的程序員身上,完全沒(méi)有看到這類問(wèn)題。
他們總是輕而易舉地完成我下達(dá)的簡(jiǎn)單任務(wù),甚至還在沒(méi)有尋求幫助的情況下獨(dú)自處理了復(fù)雜任務(wù)——那時(shí)我再次天真地感慨:看看這正在成長(zhǎng)的一代,多么美好??!
當(dāng)時(shí),我以為永遠(yuǎn)都會(huì)這樣,他們將一直保持著目前生產(chǎn)力的增長(zhǎng)速度持續(xù)提升??蓭讉€(gè)月之后,我逐漸意識(shí)到不對(duì)勁。
3-6 個(gè)月后,他們集體達(dá)到了一個(gè)“平臺(tái)期”
準(zhǔn)確來(lái)說(shuō),應(yīng)該是 3-6 個(gè)月后,他們的生產(chǎn)力集體達(dá)到了一個(gè)“平臺(tái)期”,再也無(wú)法增長(zhǎng)。更不幸的是,疫情也在那時(shí)爆發(fā)了,所有人都開(kāi)始遠(yuǎn)程辦公。
在那段遠(yuǎn)程辦公的日子里,他們的生產(chǎn)力從未提高,始終停留在實(shí)習(xí)生水平,導(dǎo)致我一直在群里瘋狂催進(jìn)度。
在我看來(lái),這個(gè)問(wèn)題應(yīng)該歸咎于遠(yuǎn)程辦公,他們可能缺乏動(dòng)力、缺乏現(xiàn)場(chǎng)交流,隔著屏幕我也無(wú)法施展我的個(gè)人魅力。
因此當(dāng)我的上司向我質(zhì)問(wèn)“因?yàn)檫h(yuǎn)程工作,導(dǎo)致了生產(chǎn)力的增長(zhǎng)停滯不前?”時(shí),我十分篤定地回答:是的,只要我們一回到辦公室,生產(chǎn)力就會(huì)飆升!
打臉的是,等到八月份回辦公室工作后,我絕望地發(fā)現(xiàn):生產(chǎn)力還是完全沒(méi)有增長(zhǎng)??!為了解決這個(gè)問(wèn)題,我親自下場(chǎng),嘗試對(duì)他們提供幫助:這個(gè)任務(wù)不會(huì)處理?你看好,我來(lái)給你演示一遍,下次你要記住……
但很快,我就意識(shí)到這個(gè)方法效率太低,所以我決定回到處理問(wèn)題的根源:技術(shù)面試。依舊還是“機(jī)考”,但不同的是,這一次我不會(huì)離開(kāi)了,而是坐在他們旁邊。
本來(lái)我的打算是,對(duì)他們進(jìn)行一系列測(cè)試,先從基礎(chǔ)開(kāi)始,再逐步提高難度。
離譜的是,這個(gè)計(jì)劃在基礎(chǔ)階段就結(jié)束了——他們之中,只有十分之一的人了解如何使用基本實(shí)體、類型;更糟糕的是,甚至只有 2-3 人在使用內(nèi)置幫助和上下文代碼補(bǔ)全的情況下才勉強(qiáng)完成得不錯(cuò)。
我對(duì)這個(gè)結(jié)果十分震驚:他們根本就找不到屬性和方法,更別說(shuō)使用了,他們甚至連最基本的任務(wù)都做不了,可之前的優(yōu)越表現(xiàn)是怎么回事?
直到有一個(gè)人在測(cè)試期間問(wèn)了我一句:“我能谷歌一下嗎?”——那個(gè)瞬間,我這個(gè)“白癡”終于頓悟了。
破案了:一堆只會(huì)“谷歌”的程序員
在得到問(wèn)題答案后,我大約用了兩天時(shí)間進(jìn)行消化,越想越生氣:
他們?cè)诔醮螒?yīng)聘時(shí)交給我的漂亮代碼來(lái)自互聯(lián)網(wǎng); 入職后的最初幾個(gè)月,他們生產(chǎn)力的爆炸式增長(zhǎng)也來(lái)自互聯(lián)網(wǎng)上找到的解決方案; 他們?cè)诓涣私饣窘Y(jié)構(gòu)的情況下進(jìn)行編碼……不對(duì),或許應(yīng)該說(shuō)是下載或復(fù)制了代碼,反正他們一點(diǎn)都不知道怎么寫(xiě)。
講道理,我可以理解他們想上網(wǎng)了解一些技術(shù)的工作原理,也可以理解他們想快速查找一些針對(duì)性資料,可讓我最不能接受的是:你怎么可以從網(wǎng)上復(fù)制一些作為程序員來(lái)說(shuō)最基本的東西?!
面對(duì)我的質(zhì)問(wèn),他們顯得非常不以為然:“這有什么大不了的?”他們的態(tài)度讓我感到非常無(wú)力,我冷靜了幾天,開(kāi)始思考這個(gè)問(wèn)題的罪魁禍?zhǔn)住艺J(rèn)為,答案應(yīng)該是我。
是我傻,我沒(méi)有看清他們這一代人習(xí)慣遵循的行為方法,也沒(méi)有意識(shí)到這些習(xí)慣存在所導(dǎo)致的“膚淺”及其嚴(yán)重性。
對(duì)我來(lái)說(shuō),他們真是非常糟糕的混蛋
我還記得,在我上大學(xué)的第一天,一位副院長(zhǎng)曾告訴我們:“大學(xué)不是給你知識(shí)的,而是教你如何靠自己獲取知識(shí)的?!?/p>
能在 2000 年代初學(xué)習(xí),我覺(jué)得我很幸運(yùn),我因此養(yǎng)成了從書(shū)本中找到問(wèn)題答案的習(xí)慣——一切問(wèn)題,想要解決就必須看書(shū)。相比之下,“谷歌”程序員就顯得沒(méi)那么幸運(yùn)了,因?yàn)樗麄冸S時(shí)隨地都可以獲取任何信息。
書(shū)上曾說(shuō):“大腦形成最重要的是,它精確加強(qiáng)了一個(gè)人使用的那些神經(jīng)連接?!边@句話也就是說(shuō),如果你不斷地編寫(xiě)代碼,你就會(huì)做得越來(lái)越好;如果你經(jīng)常在網(wǎng)上尋找信息,你就可以掌握這項(xiàng)技能;如果你一直從網(wǎng)上復(fù)制代碼,你就會(huì)成為這方面的大師。
可惜,并非所有代碼都是開(kāi)源的,此時(shí)這類“谷歌”程序員的平臺(tái)期也就到了——他們的生產(chǎn)力不是體現(xiàn)在編寫(xiě)代碼上,而是從互聯(lián)網(wǎng)上復(fù)制代碼的效率。
或許在某些情況下,“谷歌”程序員會(huì)超越普通程序員,尤其在解決標(biāo)準(zhǔn)任務(wù)方面。但對(duì)我來(lái)說(shuō),他們真是非常糟糕的混蛋。
網(wǎng)友:“工作就是場(chǎng)開(kāi)卷考試”
至此,@nmivan 分享的這個(gè)故事就結(jié)束了。
但我們?cè)趪?guó)內(nèi)外許多平臺(tái)上都可以發(fā)現(xiàn)類似提問(wèn):“程序員寫(xiě)代碼時(shí)用百度/谷歌搜索,會(huì)被其他人鄙視嗎?”
部分人認(rèn)為,工作就是場(chǎng)開(kāi)卷考試,借助互聯(lián)網(wǎng)無(wú)傷大雅:
“個(gè)人覺(jué)得,工作就是開(kāi)卷考試,關(guān)鍵知識(shí)混個(gè)臉熟,能通過(guò)手冊(cè)、搜索、Stackoverflow 等找到就行。那種要敲一天代碼、千篇一律的項(xiàng)目要少做,與其敲代碼得累個(gè)半死,不如在項(xiàng)目結(jié)束時(shí)多總結(jié)一下,把共通的地方抽象出來(lái),做好封裝或記錄下來(lái),下次直接調(diào)用或復(fù)制粘貼。”
“能利用好身邊資源的人,總不會(huì)太差?!?/p>
也有部分人認(rèn)為,新人通過(guò)這種途徑可以理解,但程序員要想提升自己,還是不能只用現(xiàn)成的解決方案:
“想要成為一個(gè)好的程序員,不能只用別人現(xiàn)成的解決方案,一定要自己也能輸出解決方案。雖然都說(shuō)不要重復(fù)造輪子,但這是針對(duì)公司來(lái)說(shuō)的。對(duì)個(gè)人來(lái)說(shuō),提高能力的途徑,其中一條就是重復(fù)造輪子?!?/p>
“小公司可能需要這種程序員,但作為在大公司專攻一個(gè)領(lǐng)域的大牛,確實(shí)不太行。”
那么,你對(duì)于這個(gè)現(xiàn)象有什么看法?歡迎在評(píng)論區(qū)留言。
參考鏈接:https://habr.com/en/post/521104/
完
我的新書(shū)《深入理解Java核心技術(shù)》已經(jīng)上市了,上市后一直蟬聯(lián)京東暢銷榜中,目前正在6折優(yōu)惠中,想要入手的朋友千萬(wàn)不要錯(cuò)過(guò)哦~長(zhǎng)按二維碼即可購(gòu)買~
長(zhǎng)按掃碼享受6折優(yōu)惠
往期推薦

去 OPPO 面試, 被問(wèn)麻了。。。

寫(xiě)一本暢銷書(shū)是怎樣的一種體驗(yàn)

阿里 Seata 新版本終于解決了 TCC 模式的冪等、懸掛和空回滾問(wèn)題
