提高「程序員」的思維方式,你學(xué)會(huì)幾個(gè)?
?大家好,我是Tom哥。
人和動(dòng)物的最大區(qū)別就是,人具有思維能力,能將大腦里的東西實(shí)現(xiàn)出來(lái)。而動(dòng)物則更多停留在模仿階段,如:鸚鵡學(xué)舌。當(dāng)然,這也是一種進(jìn)化能力。
這里著重提到了思維能力,人與人的思維能力也是有差異的。比如:
- 一線(xiàn)程序員關(guān)心的這個(gè)項(xiàng)目涉及到多少個(gè)接口? 接口的代碼要如何實(shí)現(xiàn)?其他哪些接口可能會(huì)受到影響,需要重點(diǎn) review
- 團(tuán)隊(duì) TL 則關(guān)心的這個(gè)項(xiàng)目的復(fù)雜度有多少?預(yù)計(jì)多少工作量?能不能按時(shí)開(kāi)發(fā)完成?整個(gè)系統(tǒng)的性能、穩(wěn)定性、擴(kuò)展性等方面有什么幫助?會(huì)不會(huì)增加整個(gè)系統(tǒng)的維護(hù)成本?如果掛了,對(duì)業(yè)務(wù)有什么影響。
- 部門(mén)老板則關(guān)心這個(gè)項(xiàng)目要不要做?有沒(méi)有什么風(fēng)險(xiǎn)?對(duì)業(yè)務(wù)和技術(shù)團(tuán)隊(duì)的價(jià)值在哪里?能帶來(lái)多少用戶(hù)量、GMV??jī)?yōu)先級(jí)高不高?如何讓業(yè)務(wù)方滿(mǎn)意?
我們可以發(fā)現(xiàn)基層、中層、高層,不同的職級(jí)的人關(guān)心的內(nèi)容也不太一樣,屁股決定腦袋。
不管是處于哪一個(gè)層級(jí),都是做工作。那么在面對(duì)一件任務(wù),你是如何開(kāi)展工作的?我理解大概分為三個(gè)階段:
- 第一階段:靠「直覺(jué)」,不管是男人女人,當(dāng)面對(duì)一件事情大腦一般都會(huì)有一個(gè)初步解決方案,區(qū)別在于這個(gè)方案的完備性。
- 第二階段:靠「項(xiàng)目經(jīng)驗(yàn)」去解決問(wèn)題。這個(gè)適合有一定工作年限的同學(xué)
- 第三階段:靠「思維能力」去解決。我們不可能所有的事情都經(jīng)歷過(guò),當(dāng)面對(duì)一個(gè)陌生的、棘手的任務(wù),我們希望有一定的方法論、工具包可以指引我們, 使我們可以有條不紊的開(kāi)展工作。
那么如何提高我們的思維能力?
1、無(wú)規(guī)矩不成方圓,首先要有流程意識(shí)
兵法有云,“兵馬未動(dòng)糧草先行”。要想提高思維能力,首先要有「流程意識(shí)」,無(wú)規(guī)矩不成方圓。
我們相信,這個(gè)世間任何事情都是有規(guī)律可循的。我們要善于思考、善于發(fā)現(xiàn),總結(jié)規(guī)律,抽象成流程。其中「使用流程」是基礎(chǔ),「優(yōu)化流程」是進(jìn)階,「制定流程」則是巔峰。
作為研發(fā)人員,我們就以軟件項(xiàng)目開(kāi)發(fā)為例,從客戶(hù)問(wèn)題收集、市場(chǎng)調(diào)研,產(chǎn)品同學(xué)分析整理成需求文檔,業(yè)務(wù)和技術(shù)側(cè)的可行性分析,到開(kāi)發(fā)編碼,系統(tǒng)發(fā)布上線(xiàn)。
面對(duì)這多的環(huán)節(jié),我們?cè)谠O(shè)計(jì)流程時(shí)要注意哪些問(wèn)題呢?
- 首先,我們要確認(rèn)流程包含的所有節(jié)點(diǎn)。并區(qū)分出核心節(jié)點(diǎn)和非核心節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)在流程中的作用、關(guān)鍵物料輸出,以及是否可以缺失等等。核心節(jié)點(diǎn),要投入更多的精力把控。
- 其次,將這些節(jié)點(diǎn)串聯(lián)起來(lái),就需要了解他們的上下游關(guān)系,這個(gè)順序還是很重要的,亂了輩分很容易影響整個(gè)流程的交付。
- 最后,流程的細(xì)化補(bǔ)充。可以叫上相關(guān)同學(xué),大家一起頭腦風(fēng)暴,看看是否有一些異常的場(chǎng)景需要補(bǔ)充進(jìn)來(lái),將整個(gè)流程更加完善。
流程模板的制定非??简?yàn)大家的思維能力,尤其是一個(gè)全新的陌生領(lǐng)域。剛開(kāi)始,有點(diǎn)盲人摸象的感覺(jué),我們不清楚邊界在哪里?哪些是重要的?哪些非核心的?不過(guò)沒(méi)關(guān)系,我們可以嘗試著按照自己的理解,先動(dòng)起來(lái)。隨著對(duì)業(yè)務(wù)逐漸熟悉,再對(duì)流程的各個(gè)細(xì)節(jié)優(yōu)化。
架構(gòu)是一個(gè)逐步衍化的過(guò)程,流程模板也是一樣的道理,沒(méi)有什么生來(lái)就是完美的。
2、流程是模板,說(shuō)話(huà)靠數(shù)據(jù)
“一圖勝千言” ,除了圖之前,人類(lèi)對(duì)數(shù)字也是很敏感的。
比如你要買(mǎi)房,然后你去問(wèn)中介,這套房子什么價(jià)?如果對(duì)方很高,那估計(jì)你要打人,不管有多高,你肯定是想聽(tīng)到一個(gè)具體的數(shù)字, 600萬(wàn)、1000萬(wàn).....
知不知道是一回事,買(mǎi)不買(mǎi)的起是另一回事。
數(shù)據(jù)是理性的,具有很強(qiáng)的客觀性,2大于1 本身就無(wú)法挑戰(zhàn)。
我們?nèi)粘5墓ぷ鲄R報(bào)中,不論是 PPT 還是郵件,能用數(shù)字量化的盡量用數(shù)據(jù)來(lái)表達(dá),比起蒼白的語(yǔ)言,數(shù)據(jù)清爽又讓人無(wú)法反駁,我們要學(xué)會(huì)用數(shù)據(jù)武裝自己,增強(qiáng)自己的說(shuō)服力。
3、定期復(fù)盤(pán),促使自己螺旋式成長(zhǎng)
論語(yǔ)有一句話(huà) “吾日三省吾身”。
工作中你是否經(jīng)常自我反?。恳粋€(gè)項(xiàng)目結(jié)束,你是否會(huì)組織個(gè)復(fù)盤(pán)會(huì),盤(pán)點(diǎn)哪些做的好的,哪些有待改進(jìn)的?
復(fù)盤(pán)有點(diǎn)類(lèi)似上面的流程事件的回顧,我們對(duì)各個(gè)環(huán)節(jié)的成果、失敗背后的原因深度分析總結(jié)。抽取其中有價(jià)值的經(jīng)驗(yàn)和方法。
復(fù)盤(pán)一定要確保相關(guān)的項(xiàng)目人員都要參與進(jìn)來(lái),保證信息能完整的還原,容易得到一個(gè)更佳的復(fù)盤(pán)效果。我們可以采用時(shí)間為主線(xiàn),梳理各個(gè)時(shí)間點(diǎn)的重要事件,并對(duì)事件滿(mǎn)意度評(píng)價(jià),促使后續(xù)能做的更好。
可能有小伙伴會(huì)問(wèn)了,復(fù)盤(pán)的重要性我也知道,但是我不知道怎么復(fù)盤(pán)?
教給你一招,你可以采用 “5W根因分析法”,每一個(gè)環(huán)節(jié)每一個(gè)事件,反問(wèn)自己是否取得了最好的結(jié)果?如果沒(méi)有,那有哪些可以改進(jìn)的點(diǎn)?有哪些優(yōu)化方案?哪些方案是通用性經(jīng)驗(yàn)?哪些方案是針對(duì)具體項(xiàng)目的經(jīng)驗(yàn)?
不要把復(fù)盤(pán)當(dāng)成是一種追責(zé),它能幫我們認(rèn)清自己的不足,短暫的痛苦是為了以后更大的成長(zhǎng)?!叭绻愀械酵纯?,那是因?yàn)槟阍诔砷L(zhǎng)!”