|
I will learn it when I need it – 我會(huì)在我需要的時(shí)候再學(xué)!我聽(tīng)到這句已經(jīng)很多年了。這對(duì)于一個(gè)高速變化的軟件行業(yè)環(huán)境來(lái)說(shuō),這似乎是一個(gè)非常實(shí)用的態(tài)度。 在某些方面這的確很實(shí)用主義,不過(guò)在其它的方面,我為這句話感到很不爽。這句話變成了整個(gè)軟件行業(yè)的福音,但卻沒(méi)有讓我們的軟件行業(yè)變得更好。其問(wèn)題在于,這句話偽裝在于其聽(tīng)上去像是一個(gè)智慧的有經(jīng)驗(yàn)的開(kāi)發(fā)者說(shuō)的,但是人們只是以此為借口而隨波逐流。實(shí)在是有太多的東西需要我們?nèi)チ私猓覀円驳拇_需要在工作當(dāng)中來(lái)學(xué)習(xí)這些東西。但是,在工作中學(xué)習(xí)和根據(jù)遇到的問(wèn)題撿知識(shí)這兩者有著巨大的不同。
- 另外,目前整個(gè)軟件行業(yè)越來(lái)越需要一堆多面手,也許現(xiàn)在已經(jīng)是這樣了,只是我還沒(méi)有注意到。當(dāng)然,我也不喜歡這種情。現(xiàn)在,好像沒(méi)有人愿意花更多的時(shí)間來(lái)把某一個(gè)東西學(xué)好學(xué)深學(xué)扎實(shí),比如計(jì)算機(jī)科學(xué)的基礎(chǔ)知識(shí),或是最新的你正在使用的技術(shù),甚至你在最近幾年內(nèi)每天都在使用其編碼的程序語(yǔ)言(參考:Java is passed by value)(譯注:我在如何學(xué)好C++一文的回復(fù)中已經(jīng)看到一些這樣的人)。何苦呢?你會(huì)在你的學(xué)習(xí)路途中看到這些東西被更新,被廢棄,并可能變得小眾化。我和很多不同的人討論過(guò)很多次,但是好像沒(méi)有人意識(shí)到這是一個(gè)問(wèn)題。哥們,做個(gè)實(shí)用主義的人吧。
- 與此同時(shí),我們所有的人都在相互地克隆和模仿(譯注:參看中國(guó)的C2C)。你需要一個(gè)Java程序員,我是一個(gè)Java程序員,你也是一個(gè)Java程序員,我的鄰居也是一個(gè)Java程序員。我們之間有什么差別?其實(shí),基本沒(méi)有差別。好吧,我有一些jQuery的經(jīng)歷,太好,所以,你知道怎么來(lái)做一個(gè)折疊式的菜單?當(dāng)然,我可以Google一下,然后剽竊別人最好的代碼給你。
- 與此同時(shí),你需要招聘到真正的專業(yè)級(jí)的人物(比如,你需要寫一個(gè)很牛的解析程序來(lái)以圖形化展示一下后臺(tái)數(shù)據(jù)),那么你可能需要準(zhǔn)備足夠的啤酒和三明治,因?yàn)槟憧珊苡幸欢螘r(shí)間找不到這樣的人。
好了,其實(shí),是有一些方法來(lái)區(qū)分,比如,我有更好的溝通能力,這就是為什么我可以做得更好。這是相當(dāng)重要的,但是,如果我們用軟能力而不是用技術(shù)能力來(lái)區(qū)分程序員的好壞 – 是不是有那么點(diǎn)反常和變態(tài)。我們所有人都可以溝通得很好,但是我們的代碼亂成一團(tuán)。
該死的,我本不應(yīng)該說(shuō)這事,我也有一點(diǎn)全才的樣子。當(dāng)然,我覺(jué)得我自己是一個(gè)T型人才(譯注:即有深度又有廣度),但是如果我們都非常誠(chéng)實(shí)的話,我們會(huì)發(fā)現(xiàn)更多的人的能力是橫線型或是下劃線型的(譯注:廣度型),其中只有很少數(shù)的人才是有能力的。而我們的T型人才在這些人中就像一個(gè)巨大的鐘乳石。你看上去像一個(gè)專家,但也許你從沒(méi)有做過(guò)專家,這就是專才在滿是全才的世界中的優(yōu)勢(shì)。
投資你的未來(lái)
我不想以說(shuō)教的方式來(lái)告訴你人們應(yīng)該怎么樣來(lái)投資自己未來(lái)的職業(yè)生涯,因?yàn)槊總€(gè)人都知道我們應(yīng)該怎么做。很多人也許認(rèn)為他們正在投資,他們努力奮斗,寫很多的代碼,并也做一些閱讀,當(dāng)然,這樣堅(jiān)持下去,也許十年也可以成為一個(gè)專家,而成為一個(gè)咨深專家可能需要20年(我會(huì)不斷地說(shuō)這些觀點(diǎn),總有一天我會(huì)把這個(gè)事說(shuō)明白)。但是,如果真是這樣的吧,每一個(gè)老家伙都會(huì)成為各個(gè)方面的專家,當(dāng)然,事實(shí)是不會(huì)這樣的。也許是因?yàn)槿藗儾恢廊绾伟l(fā)展他們的專長(zhǎng)(這是事實(shí)),但我私下里卻懷疑,大家缺少的是熱情而不是知識(shí)。我所說(shuō)的這些東西難道不都是這樣的原因嗎?
我完全跑題了。在專業(yè)上投資未來(lái)只是這些流行語(yǔ)中的一個(gè),而重點(diǎn)是那句話 – I will learn it when I need it – 我會(huì)在我需要的時(shí)候再學(xué)。對(duì)我老爸來(lái)說(shuō)這樣做挺好,迄今為止對(duì)我也有效。但是讓我們換一個(gè)角度看看,比如金融方面,如果我們說(shuō):我會(huì)在我需要錢的時(shí)候再去進(jìn)行投資。在這句話上面那個(gè)實(shí)用主義的光環(huán)就不那么漂亮了。
你不知道你不知道的
我們都有過(guò)這樣的時(shí)候,當(dāng)我們痛苦地在解決一個(gè)問(wèn)題的時(shí)候,有人突然告訴你一個(gè)算法或是一個(gè)技術(shù),其把這個(gè)問(wèn)題變得又快又簡(jiǎn)單。是的,有人告訴你一個(gè)容易的方法是一件很幸運(yùn)的事,否則你可能需要花上數(shù)天或數(shù)周才能找到解決方法,并且事情可能會(huì)變得一團(tuán)糟。你不會(huì)因此而被批評(píng),因?yàn)槟悴恢滥闼恢赖臇|西。
對(duì)此,I will learn it when I need it – 我會(huì)在我需要的時(shí)候再學(xué)在這個(gè)時(shí)候就走不通了。因?yàn)椋?strong>你不可能學(xué)習(xí)那些你以為不存在的東西。Google做了很多的工作來(lái)減輕和緩解這樣的問(wèn)題,但并不完美。在一個(gè)陌生的環(huán)境下面對(duì)著一堆陌生的問(wèn)題,會(huì)讓你非常非常地痛苦,除非你知道你所面對(duì)的是什么(例如:如果你對(duì)搜索和約束傳播(constraint propagation)有點(diǎn)了解的話,那你就可能容易地解決數(shù)獨(dú)問(wèn)題,否則的話,這的確是 非常 難的)。你無(wú)法學(xué)習(xí)一種不知道或是你不知道用在哪里的算法。你也不可能去用一個(gè)你以為不存在的技術(shù)去解決一個(gè)問(wèn)題。同樣,你身邊也不可以一直都有一個(gè)高人隨時(shí)在給你指引正確的方向。我敢打賭,這個(gè)世界上有幾十億行代碼可以被 幾百萬(wàn)行更快,更清楚,更簡(jiǎn)單的代碼所取代,因?yàn)闊o(wú)論是誰(shuí)來(lái)寫,他都不可能知道他所不知道的東西。
我想在這里成為這個(gè)觀點(diǎn)的反方,如果我們知道我們有哪些東西我們不知道,那么我們就知道我們需要去關(guān)注哪些東西。粗淺地盡可能的大范圍的知道這些東西,那么,我們就可以在遇到問(wèn)題的時(shí)候明白我們應(yīng)該去更深地學(xué)什么樣的知識(shí)。但是,這樣來(lái)做在實(shí)際上并不有效,因?yàn)椋?strong>這些浮云般的知識(shí)不會(huì)讓你記下來(lái),我們的大腦不是這樣工作的。
如果我們不去強(qiáng)化或是深度挖掘去消化這些概念,我們的大腦會(huì)很快地把這些信息標(biāo)為不重要并換頁(yè)出去,這么做無(wú)非就是在浪費(fèi)時(shí)間(你回頭想一想你那些填鴨式的死記硬背的知識(shí),你今天還記得嗎?)然而,對(duì)于那些你集中精力深度研究過(guò)的東西——并伴隨著你的興趣的東西——你會(huì)收獲到扎實(shí)的知識(shí)(那是你大腦里實(shí)際存下的不會(huì)忘的東西)。
我的爺爺是一個(gè)核物理學(xué)家,數(shù)十年的在工作中獲得這個(gè)領(lǐng)域中更深的知識(shí)讓他今天成為了一個(gè)專家,同時(shí)也讓他成為了一個(gè)優(yōu)秀的數(shù)學(xué)家,不錯(cuò)的化學(xué)家,非常好的地理學(xué)家,還是一個(gè)合格的生物學(xué)家,等等。只需要一些觀察性的證據(jù) 你就知道廣度的知識(shí)是深度研究的副產(chǎn)品。
你學(xué)得足夠快嗎?
有些東西你需要花很長(zhǎng)的時(shí)間才能學(xué)會(huì)。我對(duì)自己有信心不需跳躍性的就能把一個(gè)我從沒(méi)有見(jiàn)過(guò)的ORM框架學(xué)會(huì),因?yàn)槲乙郧坝眠^(guò)相似的東西,它們?cè)诟拍钌鲜窍嗤摹5牵绻阈枰鲆粋€(gè)把演講轉(zhuǎn)成文本的東西呢,這并不簡(jiǎn)單,因?yàn)槟銢](méi)有足夠多的背景知識(shí)。
你可以希望通過(guò)Google給你提供一些東西讓你Copy/Paste,但這是一個(gè)很不好的做法,只有大學(xué)里的做研究的研究員干這種爛事。如果是要?jiǎng)?chuàng)建一個(gè)網(wǎng)站呢,我們都知道怎么去創(chuàng)建一個(gè)網(wǎng)站,但是有多少人會(huì)知道如何架構(gòu)一個(gè)每天有一千萬(wàn)用戶訪問(wèn)的網(wǎng)站?那么我們需要去學(xué)的就是怎么做擴(kuò)容擴(kuò)展,我相信你的用戶需要等你一到兩個(gè)月才能把速度提上去。是的,我太笨了,所有我需要做的就是去招一個(gè)專家,然后……嗯……哦等一下,我們的啤酒和三明治都不夠了。
為什么我應(yīng)該關(guān)心
和高手在一起工作真是超爽無(wú)比。你也許以前經(jīng)歷過(guò),他們每說(shuō)的一件事總是新鮮的,總是有意思的,你能從他們每一行的代碼中學(xué)到很多小技巧,你幾乎可以感覺(jué)到你的大腦在不斷膨脹:)。你想從高手學(xué)習(xí),所以,如果你身邊沒(méi)有高手,那真是太糟糕了。因?yàn)槊恳粋€(gè)人只會(huì)去學(xué)那些需要被學(xué)的東西,所以沒(méi)有人能教給你任何有意思的東西。然而,這些高手也總是想和高手一起工作,所以,你需要做的事就是確定能讓高手想和你一起工作?
按需所學(xué)也許是一個(gè)不錯(cuò)的技能,但其不應(yīng)該成為程序員的價(jià)值觀。是的,這是一個(gè)巨大的行業(yè)你不可能學(xué)習(xí)所有的東西,所以,你需要有所選擇地把其學(xué)精,只要你有足夠的好奇心去跟從你的興趣,你會(huì)發(fā)現(xiàn)最終你會(huì)真正掌握很多很多其它的東西。如果你能把你的工作做好,那么其它的超級(jí)牛人都會(huì)想要和你一起工作,因?yàn)樗麄兛梢詮哪氵@學(xué)到東西,而你又可以從他們那里學(xué)到東西。這樣一來(lái),所有的人都會(huì)是成功者。
it知識(shí)庫(kù):程序員的謊謬之言還是至理名言?,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。