
在面對(duì)自己廣泛的愛好時(shí),我從來都是鼓勵(lì)自己去學(xué)去了解,從來不會(huì)在這些方面給自己定下死的要求,但是面對(duì)自己的專業(yè),賴以生存的技能,還仍采取這樣的簡(jiǎn)單態(tài)度的話,勢(shì)必會(huì)為帶來嚴(yán)重后果。一個(gè)開發(fā)者所持有技術(shù)的熟悉程度,其重要性無庸贅述,大概分為以下幾層:查、寫和說。在對(duì)技術(shù)不熟悉的情況下,出現(xiàn)問題,要能夠自己解決,也就是能夠查詢問題的原因找出正確的解決方案,這是最基本的素質(zhì);在看到一個(gè)需求的時(shí)候就能夠大概知道如何實(shí)現(xiàn),并且按照思路走下去走得通,沒有大bug,這是更高的層次;最高的層次在于,不論看到什么樣的技術(shù)現(xiàn)象,都可以用精確的語言來闡述其原理。
仔細(xì)想了下,自己所處的位置當(dāng)然只是到「寫」的階段,還不能夠很好的闡述自己從事的技術(shù)其中大多原理。而且已經(jīng)很長(zhǎng)時(shí)間處于這種停止進(jìn)步的狀態(tài),到底是什么阻礙了我在技術(shù)上的成長(zhǎng)?
作為一個(gè)開發(fā)者而言,常常會(huì)在親手完成第一個(gè)項(xiàng)目之后從結(jié)果獲得自信和安全感,將大腦當(dāng)中唯一那份自我懷疑給消滅掉,導(dǎo)致將接下來的開發(fā)工作視為重復(fù)的、繁復(fù)的、沒有挑戰(zhàn)的而漸漸變得懶惰,懶惰是一切不思進(jìn)取的根源;長(zhǎng)年累月地在同一水準(zhǔn)線完成工作,甚至?xí)a(chǎn)生一個(gè)「幻覺」,就是「我能夠做到所有事」,不勤于思考再進(jìn)步的方式。
開發(fā)者隸屬于項(xiàng)目組,當(dāng)一個(gè)項(xiàng)目組發(fā)現(xiàn)自己能夠完成某種技術(shù)類別的工作時(shí),會(huì)認(rèn)為自己在這方面工作有經(jīng)驗(yàn),以此為資本,接受更多同質(zhì)工作。比如一個(gè)項(xiàng)目組完成了oa系統(tǒng),當(dāng)看到其他oa項(xiàng)目時(shí),都會(huì)打著「已開發(fā)過xxoa系統(tǒng)」的旗號(hào)去應(yīng)征,拿下另一個(gè)oa系統(tǒng)。因此,掛靠在項(xiàng)目組當(dāng)中的個(gè)人開發(fā)者們會(huì)發(fā)現(xiàn),自己長(zhǎng)年累月接受到的工作內(nèi)容都是大同小異的,這表示只要我能夠開發(fā)其中一個(gè)模塊,就能靠這個(gè)歷史分混很長(zhǎng)時(shí)間,不太需要充電,從而造成不思進(jìn)取。
最后一個(gè)原因是各種api過于智能化。優(yōu)秀的設(shè)計(jì)api原則之一就是模塊化,將大型問題轉(zhuǎn)化為規(guī)模較小的、可單獨(dú)解決的問題。「單獨(dú)解決」就表示作為一個(gè)優(yōu)秀的api,不需要使用者知道我內(nèi)部的運(yùn)作機(jī)制,只需要明白我需要什么和能干什么,肆無忌憚的用,這樣原本是為了簡(jiǎn)化開發(fā)者的工作,沒想也造成了一段潛臺(tái)詞:「開發(fā)者不需要理解api其中的機(jī)制」,導(dǎo)致開發(fā)者對(duì)自己寫出來的程序不求甚解。
我們常常被告知「逼迫自己走出舒適區(qū)學(xué)習(xí)」,但「走出舒適區(qū)」只解決了一個(gè)問題:愿意學(xué)。我們學(xué)習(xí)只要有一個(gè)意愿就足夠了嗎?顯然不夠,比如學(xué)習(xí)本身就意味著要有「考評(píng)」,沒有考評(píng)怎么知道自己學(xué)得怎樣呢?像上面所說的,當(dāng)自己親手完成第一個(gè)項(xiàng)目后,我們會(huì)有那種「考評(píng)結(jié)束」、「有自信」的感覺,但絕大多數(shù)情況下,我們工作的內(nèi)容都是相仿的,也就是說想學(xué)新技術(shù),但沒有那么多新的項(xiàng)目來考評(píng)我們,所以,想達(dá)到學(xué)習(xí)的效果,克服內(nèi)心的自我懷疑,開發(fā)者們得自己給自己找項(xiàng)目做——自己確定需求、設(shè)計(jì)界面、完成功能,這加大了我們學(xué)習(xí)的難度,最終的結(jié)果極可能還沒人用、沒成就感,是一種短期高投資低回報(bào)的行為,這重重障礙生生將自我學(xué)習(xí)變成遙遙無期的爛尾工程。