程序員容易焦慮,普遍的原因是:技術(shù)、社會(huì)在發(fā)展,害怕自己的“成長(zhǎng)”速度趕不上。那么如何有效成長(zhǎng)呢,尤其是對(duì)于普通程序員來(lái)說(shuō)?
目前我們看到的文章多是從“技術(shù)”的角度分析程序員成長(zhǎng)路徑,最近阿里巴巴技術(shù)專家李建(甫田)在“技術(shù)瑣話(ID:TheoryPractice)”發(fā)文,嘗試用邏輯分析“普通程序員如何成長(zhǎng)”,以下是他的方法:
分析問題JTBD(Job to be done)是一個(gè)非常好的用于分析問題的方法。需要明確用戶在特定場(chǎng)景下必須解決的問題或完成的任務(wù),也就是目標(biāo)用戶(Who)、在什么場(chǎng)景(Job context)以及完成什么任務(wù)(Jobs)。回到“普通程序員如何成長(zhǎng)”的問題:任務(wù)很清楚,就是“成長(zhǎng)”;而目標(biāo)用戶呢,普通程序員是誰(shuí)?還有用戶場(chǎng)景也不清晰。
普通程序員是誰(shuí)?這里采用的方法是“典型用戶”,用一個(gè)人來(lái)描述一群人,就像用中間值(median)描述一組數(shù)一樣。不同點(diǎn)是典型用戶在現(xiàn)實(shí)世界上不存在,只是為了理解和交流的方便故意把描述寫得很真實(shí)。
普通程序員的典型用戶是:小明,大學(xué)畢業(yè),在 IT 企業(yè)上班。小明每天工作很忙碌,朝九晚十,像很多在一線城市奮斗的年輕人一樣,小明面臨著房貸、養(yǎng)家糊口等壓力。IT 技術(shù)發(fā)展很快,已有經(jīng)驗(yàn)過(guò)時(shí)也很快,小明很困擾,每天瞎忙碌,成長(zhǎng)卻不多。如何才能擺脫眼前的茍且,獲得理想的成長(zhǎng)?
從用戶場(chǎng)景找“矛盾”假設(shè)小明 9:30 到公司,打開電腦,處理郵件;10:00 開會(huì)匯報(bào)進(jìn)度或是其他會(huì)議;11:00 線上出現(xiàn)緊急事故,需要修復(fù) Bug;15:00 繼續(xù)開會(huì),到了 19:00 開始寫代碼,做需求;忙到第二天 0 點(diǎn)才睡覺。從場(chǎng)景中發(fā)現(xiàn)用戶訴求和現(xiàn)狀間的矛盾:成長(zhǎng)的訴求與“瞎”忙的現(xiàn)狀之間的矛盾。具體來(lái)說(shuō)就是:朝九晚十,日常工作已經(jīng)占滿了小明的時(shí)間,如何才能“擠”出時(shí)間,做能讓自己“成長(zhǎng)”的事情?
有邏輯地解決問題邏輯框架能幫助我們系統(tǒng)地思考問題,尋找解決方案。這里使用的邏輯框架是:從“問題”出發(fā),提出假設(shè),明確度量目標(biāo),過(guò)程中不斷總結(jié)、迭代,解決問題。
回到“程序員如何成長(zhǎng)”的問題:
問題:繁瑣的日常工作占用大量時(shí)間,卻沒有獲得想要的成長(zhǎng);假設(shè):如果成長(zhǎng)了,可以承擔(dān)更有挑戰(zhàn)的工作,擺脫低水平的重復(fù),也能獲得組織認(rèn)可;度量:度量和目標(biāo)相關(guān),成長(zhǎng)的目標(biāo)可拆解成各個(gè)階段性目標(biāo),例如:掌握 DDD、提升提問水平、某個(gè)時(shí)間內(nèi)達(dá)到目標(biāo)職業(yè)層級(jí)等;認(rèn)知:在過(guò)程中不斷總結(jié)原因 / 經(jīng)驗(yàn),進(jìn)行相應(yīng)調(diào)整。用影響地圖尋找解法影響地圖是一種結(jié)構(gòu)化拆解目標(biāo)達(dá)成路徑的有效方法:需要明確目標(biāo)是什么(Why)、為了達(dá)成目標(biāo)需要哪些人(Who)、為此需要做什么(What)去(How)影響這些人。使用影響地圖拆解“普通程序員如何成長(zhǎng)”的達(dá)成路徑:
用戶故事地圖組織優(yōu)先級(jí)用戶故事地圖就是通過(guò)組織寫有“用戶故事”的卡片,幫助分析需求核心價(jià)值和成本,從整體視角規(guī)劃需求優(yōu)先級(jí)。用一句話描述用戶故事就是:某角色,通過(guò)完成用戶需求,實(shí)現(xiàn)了什么價(jià)值。基于影響地圖梳理出來(lái)的用戶需求,根據(jù)價(jià)值進(jìn)行分類:
效率是第一優(yōu)先級(jí),提高效率才能擠出時(shí)間。做正確的事情是第二優(yōu)先級(jí),方向?qū)α瞬趴赡艹晒Α_@需要提高判斷能力,有正確的思考方法等。正確做事情是第三優(yōu)先級(jí),學(xué)習(xí)并掌握正確的流程和方法,結(jié)果才能保證。持續(xù)學(xué)習(xí)了解了“普通程序員”如何成長(zhǎng)的達(dá)成路徑和優(yōu)先級(jí),可是要怎樣實(shí)現(xiàn)具體的事項(xiàng)?
例如:有哪些提升效率的方法?怎樣才能快速提高判斷正確與否的能力?回答這些問題,需要不斷學(xué)習(xí),提升認(rèn)知水平,因?yàn)閷W(xué)習(xí)是最高效的成長(zhǎng)方法。
推薦使用學(xué)習(xí)三步法:
學(xué):明確學(xué)習(xí)目標(biāo),收集資料,堅(jiān)持“系統(tǒng)”學(xué)習(xí);練:熟能生巧,掌握一門技藝需要反復(fù)練習(xí);教:通過(guò)把自己所學(xué)內(nèi)容教給他人,既是檢查學(xué)習(xí)熟練度的標(biāo)準(zhǔn),也能獲得反饋發(fā)現(xiàn)不足進(jìn)行彌補(bǔ)。此外,唯有持續(xù)學(xué)習(xí),多學(xué)多知,不斷提升認(rèn)知水平,才能獲得成長(zhǎng),擺脫焦慮。以上就是今天的內(nèi)容,希望對(duì)你有所幫助。