程序员的能力拓展模型
聽人說了一個(gè)詞兒,叫作“Comfirtable Zone”,中文是“舒適區(qū)”。
這個(gè)詞兒讓我瞬間聯(lián)系到程序員的能力邊界問題,我畫了能力拓展模型圖。如下:
我覺得這個(gè)能力拓展模型,適用于一個(gè)人的方方面面,但這次我打算只拿程序員來扯一下。
能力拓展模型
圖中左側(cè)是我們的現(xiàn)狀,最內(nèi)層的原型是我們感到舒適的區(qū)域,我稱之為“舒適區(qū)”。
以程序員為例,當(dāng)程序員的技術(shù)能力和解決問題的能力達(dá)到一定水平之后,就能夠輕松勝任某些開發(fā)任務(wù),解決特定實(shí)際問題,給用戶帶來某方面的便利。他的能力與他接觸到的問題匹配,此時(shí)程序員處于舒適區(qū)。這個(gè)舒適區(qū)的大小是由他解決問題能力的大小定義和界定的。
當(dāng)問題超出程序員先有技能和經(jīng)驗(yàn)說明,他能看到并了解,但還不能解決。那這些問題就是這個(gè)程序員隨時(shí)可能面對(duì)的挑戰(zhàn)區(qū),也就是圖中的黃色圓型。
圖中的大片的紅色區(qū)域,對(duì)程序員來講,就是未知區(qū)域,未知即迷茫,未知即痛苦。這個(gè)區(qū)域往往是程序員看不清或看不到的,是百慕大三角的一片未知而神秘的區(qū)域,貿(mào)然跳入,可能折戟沉沙鎩羽而歸。
假如一個(gè)程序員愿意跳出舒適區(qū),踏入挑戰(zhàn)區(qū),接受一定的不適,那他就能夠有機(jī)會(huì)拓展他的能力,將自己的舒適區(qū)擴(kuò)展得更大,他的能力模型就變成上圖右側(cè)部分,舒適區(qū)變大,挑戰(zhàn)區(qū)變大,痛苦區(qū)變大,這也是符合人類認(rèn)知規(guī)律的:知道的越多,不知道的也越多。
如果一個(gè)程序員連輕微不適都不愿意接受,那他就會(huì)漸漸固步自封,落后于別人,落后于時(shí)代,漸漸被這個(gè)日新月異的時(shí)代所拋棄,成為一個(gè)別人眼中沒什么用的老家伙。
在開發(fā)過程中擴(kuò)展舒適區(qū)
一個(gè)程序員的能力,是可以通過鍛煉不斷變強(qiáng)的。就像人的肌肉,一段時(shí)間讓鍛煉強(qiáng)度超負(fù)荷一點(diǎn),適應(yīng)了,習(xí)慣了,肌肉變得比原來強(qiáng)了,就再超負(fù)荷一點(diǎn),通過這樣的螺旋式遞進(jìn),肌肉就會(huì)越來越強(qiáng)。程序員也是一樣的,你的學(xué)習(xí)能力、代碼能力、設(shè)計(jì)能力、溝通能力、管理能力等等,都是可以通過鍛煉來加強(qiáng)的(我們得考慮一個(gè)人適合做什么,如果他沒有某方面的才干,雖然通過鍛煉也可以加強(qiáng),但違背天性的事兒通常為事倍功半)。
在軟件開發(fā)過程中,一個(gè)程序員,他會(huì)什么語言懂什么框架水平如何,自己心里有數(shù),項(xiàng)目經(jīng)理通過他的表現(xiàn)也認(rèn)為自己心里有數(shù)。那么在有新的項(xiàng)目要做時(shí),通常的做法是,哪個(gè)程序員熟悉實(shí)現(xiàn)Tx任務(wù)相關(guān)的技術(shù),就讓這個(gè)程序員做Tx任務(wù),這通常又是出于交付期、生產(chǎn)率、成本等各方面的考慮。
在這種情況下,每個(gè)人都做自己駕輕就熟的事情,對(duì)整個(gè)項(xiàng)目來講,自然是最經(jīng)濟(jì)的。可是對(duì)程序員自己來講,卻是不經(jīng)濟(jì)的。因?yàn)槟銦o法接受新的挑戰(zhàn),你的能力邊界的拓展就會(huì)很慢。所以,合理的情況是,項(xiàng)目經(jīng)理在劃分任務(wù)時(shí),要對(duì)程序員負(fù)責(zé),既給一個(gè)程序員能輕松完成的任務(wù),也要給他需要費(fèi)點(diǎn)兒勁兒才能完成的任務(wù),通過具有挑戰(zhàn)性的任務(wù)來鍛煉這個(gè)程序員,讓他更好更快的成長。但是這樣做的管理成本太高,所以,現(xiàn)實(shí)當(dāng)中,很少公司的項(xiàng)目經(jīng)理會(huì)主動(dòng)這么做(沒合適人手take某個(gè)任務(wù)時(shí)會(huì)被動(dòng)這么做)。
鑒于這種現(xiàn)實(shí),作為程序員自己,如果你想更快地成長,就要表現(xiàn)得勇敢一些,主動(dòng)走到挑戰(zhàn)區(qū)域,去搶具有挑戰(zhàn)性的任務(wù)。(如果不好意思主動(dòng),也可以在有挑戰(zhàn)性的任務(wù)落在自己頭上時(shí)屁顛屁顛地接受。)一旦你拿到了對(duì)你來講具有挑戰(zhàn)性的任務(wù),那你就賺到了。沒錯(cuò),我是故意這么說的,你賺到了。雖然你會(huì)為此殫精竭慮,雖然你可能為此加班,雖然你可能為此在別人看不見的地方付出,但是你擁有了機(jī)會(huì)和更多可能性,如果你順利完成了,那你的舒適區(qū)會(huì)擴(kuò)大,你接觸新挑戰(zhàn)的機(jī)會(huì)也會(huì)變大,你就進(jìn)入了良性循環(huán),你會(huì)越來越強(qiáng)大。你終將走上七龍珠中悟空的變身之路,成為賽亞人,超級(jí)賽亞人,超級(jí)賽亞人2,超級(jí)賽亞人3,……直到成為超級(jí)賽亞人之神。
想想看,這是多么美好的事!
So,某個(gè)語言沒學(xué)過?不是問題。某項(xiàng)技術(shù)沒搞過?不是問題。軟件結(jié)構(gòu)太復(fù)雜,一時(shí)掌控不了?不是問題。業(yè)務(wù)不熟悉?不是問題。如果你覺得這些是問題,OK,請(qǐng)坐看云起,等待時(shí)光帶走一切然后把你丟在原地。
在渴望成就自我的程序員眼里,問題即機(jī)會(huì)。只有抓住機(jī)會(huì),我們解決問題的能力才會(huì)在痛苦的歷練中像雪球一樣越滾越大。
總結(jié)
以上是生活随笔為你收集整理的程序员的能力拓展模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: gpu浮点计算能力floaps_基准测试
- 下一篇: JS遍历数组的12种方法