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