作者丨Tom哥來源 |微觀技術
大家好,我是小c。
人和動物的最大區別就是,人具有思維能力,能將大腦里的東西實現出來。而動物則更多停留在模仿階段,如:鸚鵡學舌。當然,這也是一種進化能力。
這裡着重提到了思維能力,人與人的思維能力也是有差異的。比如:
一線程序員關心的這個項目涉及到多少個接口? 接口的代碼要如何實現?其他哪些接口可能會受到影響,需要重點 review團隊 TL 則關心的這個項目的複雜度有多少?預計多少工作量?能不能按時開發完成?整個系統的性能、穩定性、擴展性等方面有什麼幫助?會不會增加整個系統的維護成本?如果掛了,對業務有什麼影響。部門老闆則關心這個項目要不要做?有沒有什麼風險?對業務和技術團隊的價值在哪裡?能帶來多少用戶量、GMV?優先級高不高?如何讓業務方滿意?我們可以發現基層、中層、高層,不同的職級的人關心的內容也不太一樣,屁股決定腦袋。不管是處於哪一個層級,都是做工作。那麼在面對一件任務,你是如何開展工作的?我理解大概分為三個階段:第一階段:靠「直覺」,不管是男人女人,當面對一件事情大腦一般都會有一個初步解決方案,區別在於這個方案的完備性。第二階段:靠「項目經驗」去解決問題。這個適合有一定工作年限的同學第三階段:靠「思維能力」去解決。我們不可能所有的事情都經歷過,當面對一個陌生的、棘手的任務,我們希望有一定的方法論、工具包可以指引我們, 使我們可以有條不紊的開展工作。兵法有雲,「兵馬未動糧草先行」。要想提高思維能力,首先要有「流程意識」,無規矩不成方圓。我們相信,這個世間任何事情都是有規律可循的。我們要善于思考、善於發現,總結規律,抽象成流程。其中「使用流程」是基礎,「優化流程」是進階,「制定流程」則是巔峰。作為研發人員,我們就以軟件項目開發為例,從客戶問題收集、市場調研,產品同學分析整理成需求文檔,業務和技術側的可行性分析,到開發編碼,系統發布上線。面對這多的環節,我們在設計流程時要注意哪些問題呢?首先,我們要確認流程包含的所有節點。並區分出核心節點和非核心節點,每個節點在流程中的作用、關鍵物料輸出,以及是否可以缺失等等。核心節點,要投入更多的精力把控。其次,將這些節點串聯起來,就需要了解他們的上下游關係,這個順序還是很重要的,亂了輩分很容易影響整個流程的交付。最後,流程的細化補充。可以叫上相關同學,大家一起頭腦風暴,看看是否有一些異常的場景需要補充進來,將整個流程更加完善。流程模板的制定非常考驗大家的思維能力,尤其是一個全新的陌生領域。剛開始,有點盲人摸象的感覺,我們不清楚邊界在哪裡?哪些是重要的?哪些非核心的?不過沒關係,我們可以嘗試着按照自己的理解,先動起來。隨着對業務逐漸熟悉,再對流程的各個細節優化。架構是一個逐步衍化的過程,流程模板也是一樣的道理,沒有什麼生來就是完美的。「一圖勝千言」 ,除了圖之前,人類對數字也是很敏感的。比如你要買房,然後你去問中介,這套房子什麼價?如果對方很高,那估計你要打人,不管有多高,你肯定是想聽到一個具體的數字, 600萬、1000萬.....數據是理性的,具有很強的客觀性,2大於1 本身就無法挑戰。我們日常的工作匯報中,不論是 PPT 還是郵件,能用數字量化的儘量用數據來表達,比起蒼白的語言,數據清爽又讓人無法反駁,我們要學會用數據武裝自己,增強自己的說服力。工作中你是否經常自我反省?一個項目結束,你是否會組織個復盤會,盤點哪些做的好的,哪些有待改進的?復盤有點類似上面的流程事件的回顧,我們對各個環節的成果、失敗背後的原因深度分析總結。抽取其中有價值的經驗和方法。復盤一定要確保相關的項目人員都要參與進來,保證信息能完整的還原,容易得到一個更佳的復盤效果。我們可以採用時間為主線,梳理各個時間點的重要事件,並對事件滿意度評價,促使後續能做的更好。可能有小夥伴會問了,復盤的重要性我也知道,但是我不知道怎麼復盤?教給你一招,你可以採用 「5W根因分析法」,每一個環節每一個事件,反問自己是否取得了最好的結果?如果沒有,那有哪些可以改進的點?有哪些優化方案?哪些方案是通用性經驗?哪些方案是針對具體項目的經驗?不要把復盤當成是一種追責,它能幫我們認清自己的不足,短暫的痛苦是為了以後更大的成長。「如果你感到痛苦,那是因為你在成長!」
好啦,今天的內容分享就到這,感覺不錯的同學記得分享點讚哦!
PS:工作日早8:30,CSDN 企業招聘持續分享程序員學習、面試相關乾貨,不見不散!