警到可持續(xù)生存的工程化方案)
今天早上打開微信好幾個(gè)開發(fā)者的群都在轉(zhuǎn)發(fā)同一條消息。又一位程序員離開了29歲妻子懷二胎七個(gè)月父親體弱多病。消息在群里發(fā)酵了一陣從最初的震驚到后面漫長的沉默最后有人說了一句這不就是我們身邊的人嗎這句話戳中了很多人。因?yàn)?9歲的程序員大概率正處在一個(gè)停不下來的階段——工作六七年手上握著幾個(gè)項(xiàng)目家里有房貸妻子懷著二胎老父親身體已經(jīng)開始走下坡路。他可能是你旁邊工位的同事也可能是你自己。程序員這個(gè)身份背后是一群常年久坐、高負(fù)荷、以項(xiàng)目周期為生活刻度的人而這類新聞每隔一陣子就會(huì)出現(xiàn)在視野里每次都能引起圈內(nèi)一陣心照不宣的恐慌。這篇文章不打算消費(fèi)一個(gè)逝者的故事。我想認(rèn)真聊聊為什么這樣的悲劇總在程序員群體里反復(fù)出現(xiàn)那些看不見的消耗是如何日積月累地逼近臨界點(diǎn)的以及作為一個(gè)同樣在寫代碼、同樣背著家庭責(zé)任的從業(yè)者我們還能做點(diǎn)什么自救、什么防患于未然。我會(huì)盡量寫得具體、可執(zhí)行不講空話。因?yàn)樵谶@個(gè)行業(yè)里待得越久越明白一個(gè)道理代碼可以重構(gòu)身體沒有撤銷鍵。1. 那條被刷屏的消息為什么我們都在里面看到了自己1.1 一個(gè)典型的上有老下有小的樣本幾乎是身邊人的翻版我先把這個(gè)新聞里的信息拆開看。29歲妻子懷二胎七個(gè)月父親年邁體弱。這三個(gè)信息放在一起描繪出來的是一個(gè)非常典型的中年門檻階段——雖然29歲還算青年但在職場(chǎng)和家庭的雙重刻度上他已經(jīng)提前站到了責(zé)任最重、彈性最小的位置。程序員這個(gè)職業(yè)有它特殊的生命周期。很多人25歲前后入行經(jīng)過四五年高強(qiáng)度的項(xiàng)目歷練到28-32歲這個(gè)區(qū)間往往同時(shí)面臨三件事技術(shù)上要扛事團(tuán)隊(duì)里要帶人家里要開銷。房貸可能剛批下來大寶剛上幼兒園二胎還在肚子里。夫妻雙方如果都上班老人幫忙帶孩子身體本來就不好醫(yī)療支出也在增加。這個(gè)時(shí)候的人心理上是不敢停的因?yàn)樗晕⒂?jì)算一下就會(huì)發(fā)現(xiàn)自己被各種剛性賬單鎖死了。從IT行業(yè)的組織形態(tài)看項(xiàng)目制、版本迭代、上線窗口、線上事故響應(yīng)這些機(jī)制決定了程序員的工作量天然不是均勻分布的。趕版本的時(shí)候連續(xù)沖刺兩三周是常態(tài)線上出故障半夜爬起來也稀松平常。如果一個(gè)人長期處在這種節(jié)奏里他身體里的負(fù)債會(huì)一點(diǎn)點(diǎn)堆積而這些負(fù)債不會(huì)因?yàn)榘l(fā)版成功而清零。1.2 過勞不是玄學(xué)是能被拆解的壓力鏈條很多人聽到過勞死三個(gè)字第一反應(yīng)是這人工作太拼了。但把太拼換成工程化的視角去拆解你會(huì)發(fā)現(xiàn)它是一根完整的因果鏈條。第一個(gè)環(huán)節(jié)是睡眠剝奪。程序員群體里晚睡是結(jié)構(gòu)性常態(tài)不是因?yàn)榇蠹覒卸瓒且驗(yàn)榘滋斓臅r(shí)間被會(huì)議、溝通、評(píng)審切得稀碎只有晚上整塊時(shí)間能寫代碼。久而久之入睡時(shí)間越來越晚睡眠時(shí)長越來越短。睡眠不足會(huì)導(dǎo)致交感神經(jīng)持續(xù)興奮血壓失去正常的晝夜節(jié)律心臟的負(fù)荷在夜間也降不下來。第二個(gè)環(huán)節(jié)是久坐。別小看這個(gè)看似無害的習(xí)慣。連續(xù)幾個(gè)小時(shí)保持坐姿下肢血液回流變慢血液黏稠度升高深靜脈血栓的風(fēng)險(xiǎn)隨之上升。如果血栓脫落并隨血流卡進(jìn)肺動(dòng)脈就是致命的肺栓塞。很多在工位上猝死的案例尸檢結(jié)果并不都是心梗相當(dāng)一部分是肺栓塞或惡性心律失常。第三個(gè)環(huán)節(jié)是精神壓力。需求變更、版本延期、線上故障、績效溝通每一個(gè)都是隱性的應(yīng)激源。長期焦慮會(huì)讓皮質(zhì)醇水平異常影響代謝、免疫和心血管系統(tǒng)還會(huì)讓人下意識(shí)地用高油高鹽的外賣填飽自己。時(shí)間一長體重、血脂、血糖、尿酸這些指標(biāo)全線飄紅。第四個(gè)環(huán)節(jié)是運(yùn)動(dòng)缺失。連接幾天班周末只想躺平。但心肺功能的退化是悄無聲息的等到某一次爬樓、某一次沖刺后發(fā)現(xiàn)心臟怦怦跳半天緩不過來其實(shí)已經(jīng)積累了相當(dāng)長的時(shí)間。這四個(gè)環(huán)節(jié)不是孤立存在的它們還會(huì)互相加強(qiáng)。睡眠不好第二天情緒就差工作效率低只好加班加班又進(jìn)一步壓縮睡眠。久坐讓身體僵硬運(yùn)動(dòng)更難堅(jiān)持運(yùn)動(dòng)少了睡眠質(zhì)量進(jìn)一步惡化。很多人在這個(gè)循環(huán)里待了三五年身體從有點(diǎn)累發(fā)展到總是累再到說不出哪里不對(duì)最后在某一個(gè)普通的工作日突然撐不住。2. 日積月累的隱形殺手久坐、熬夜與停不下來的大腦2.1 心源性猝死為什么盯上年輕人先說清楚一個(gè)概念猝死不是突然得了一個(gè)病而是一個(gè)長期積累的危險(xiǎn)因素組合在某些誘因的觸發(fā)下突破了最后的臨界點(diǎn)。臨床上最常見的是心源性猝死也就是心臟這個(gè)泵突然停工。年輕人、中年人發(fā)生心源性猝死常見的病理基礎(chǔ)包括冠狀動(dòng)脈粥樣硬化你以為這是老年病但長期熬夜、高脂飲食、肥胖、吸煙的人二三十歲出現(xiàn)斑塊的并不少、肥厚性心肌病、心肌炎后遺癥、先天性離子通道病等等。而觸發(fā)因素往往是一些看起來不起眼的瞬間持續(xù)熬夜后的某個(gè)清晨、劇烈運(yùn)動(dòng)或情緒激動(dòng)的一刻、一次大量飲酒之后、甚至一次用力排便。這些瞬間讓交感神經(jīng)突然興奮心率加快血壓飆升原本處于代償期的心臟在這個(gè)沖擊下發(fā)生惡性心律失常比如心室顫動(dòng)幾分鐘之內(nèi)得不到除顫人就沒了。程序員這個(gè)群體為什么特別容易成為這類悲劇的主角因?yàn)樯厦嬲f的危險(xiǎn)因素幾乎全占了肥胖或超重比例高高血壓、高血脂、高尿酸的檢出率逐年上升熬夜是日常運(yùn)動(dòng)是真的少年度體檢能拖就拖。換句話說不是命運(yùn)不公平而是生活方式把危險(xiǎn)因素的清單一項(xiàng)一項(xiàng)勾滿了。2.2 那些行業(yè)常態(tài)如何一點(diǎn)點(diǎn)透支身體我去過很多互聯(lián)網(wǎng)公司的辦公區(qū)見到的景象高度一致下午兩三點(diǎn)工位上坐滿了人每個(gè)人的屏幕前都是一堆打開的窗口鍵盤聲此起彼伏外賣袋堆在角落飲水機(jī)旁的咖啡機(jī)永遠(yuǎn)在運(yùn)轉(zhuǎn)。這個(gè)場(chǎng)景里藏著幾件不容易被察覺的事情。第一長時(shí)間保持靜態(tài)姿勢(shì)會(huì)讓頸椎和腰椎出問題。很多人以為頸椎病只是脖子疼但嚴(yán)重時(shí)它會(huì)影響椎動(dòng)脈供血讓人頭暈、惡心甚至有肢體麻木的癥狀。腰椎間盤突出更麻煩疼起來坐不住嚴(yán)重了還要手術(shù)。這些雖然不是直接致命的病但會(huì)讓整體生活質(zhì)量斷崖式下跌也會(huì)讓你徹底失去運(yùn)動(dòng)的意愿。第二視力和眼睛的負(fù)擔(dān)。程序員的工作性質(zhì)決定了每天要盯著屏幕很久即使午休也常常是繼續(xù)刷手機(jī)。干眼癥、視疲勞、眼壓升高、視網(wǎng)膜病變?cè)诔绦騿T群體里的發(fā)生率遠(yuǎn)高于普通白領(lǐng)。第三代謝系統(tǒng)的全面失控。長期外賣、含糖飲料、夜宵加上運(yùn)動(dòng)不足脂肪會(huì)優(yōu)先堆積在內(nèi)臟。內(nèi)臟脂肪多了胰島素抵抗就來了2型糖尿病、高血脂、脂肪肝就找上門。很多人看到體檢報(bào)告上的輕度脂肪肝滿不在乎但輕度到重度之間往往只隔著一兩年的時(shí)間。第四免疫系統(tǒng)的慢性消耗。長期睡眠不足、精神壓力大會(huì)讓免疫功能下降反復(fù)感冒、口腔潰瘍、帶狀皰疹。帶狀皰疹在程序員群體里相當(dāng)常見一個(gè)項(xiàng)目上線后去查體三十歲出頭的人一排排地中招這就是免疫系統(tǒng)在發(fā)出求救信號(hào)。2.3 精神高壓比熬夜更隱蔽的消耗身體上的透支還能通過體檢數(shù)據(jù)感知精神上的消耗卻更加隱蔽也更危險(xiǎn)。寫代碼這件事本質(zhì)上是一項(xiàng)高強(qiáng)度腦力勞動(dòng)。它要求你持續(xù)進(jìn)入深度專注狀態(tài)而深度專注是非常消耗能量的。更消耗人的是它常常被打斷需求不明確、產(chǎn)品改方案、測(cè)試提bug、線上告警響起來。一天下來你的大腦像一臺(tái)頻繁切換進(jìn)程的服務(wù)器上下文切換損耗極大人會(huì)覺得明明沒做什么體力活卻累得像被掏空一樣。這種腦力疲勞如果長期得不到恢復(fù)就會(huì)滑向職業(yè)倦怠再嚴(yán)重一點(diǎn)就是焦慮和抑郁。很多在辦公室看著風(fēng)平浪靜的人回到家什么都不想干對(duì)家人沒有耐心晚上躺在床上腦子里還在過第二天的排期。這種狀態(tài)下人更容易用垃圾食品、游戲、刷短視頻來短暫逃避又進(jìn)一步壓縮了睡眠和運(yùn)動(dòng)時(shí)間。精神壓力對(duì)心血管的影響是有明確生理機(jī)制的。長期過量的應(yīng)激激素會(huì)讓血管內(nèi)皮功能受損增加斑塊不穩(wěn)定的風(fēng)險(xiǎn)還會(huì)讓心率變異性降低——心率變異性是衡量心臟自主神經(jīng)調(diào)節(jié)能力的重要指標(biāo)它越低心臟應(yīng)對(duì)突發(fā)狀況的能力就越差。3. 身體發(fā)出的求救信號(hào)有些預(yù)警真的不能扛3.1 容易被誤判的五個(gè)身體異常我見過不少同行的習(xí)慣是小病靠忍大病靠百度然后自我診斷成沒什么大事。但以下這些信號(hào)如果反復(fù)出現(xiàn)就不要再用最近太累了來解釋。第一個(gè)是間歇性胸悶或胸痛。注意間歇性和壓榨感這兩個(gè)關(guān)鍵詞。如果胸口有壓迫感、發(fā)緊像被什么東西壓著活動(dòng)或情緒激動(dòng)時(shí)更明顯休息幾分鐘能緩解就要高度警惕心絞痛。很多年輕人心梗前一個(gè)月就有這種癥狀但因?yàn)槊看沃怀掷m(xù)幾分鐘就錯(cuò)過了就醫(yī)窗口。第二個(gè)是突然的心慌、心跳過速。偶爾因?yàn)榭Х纫蚧蚓o張心跳加速很正常。但如果它在安靜狀態(tài)下突然發(fā)作頻率很快伴隨頭暈、出冷汗、黑蒙就要考慮心律失常。做個(gè)24小時(shí)動(dòng)態(tài)心電圖是排查這類問題最直接的手段。第三個(gè)是不明原因的持續(xù)疲憊。睡夠了8小時(shí)起來還是像沒充滿電白天注意力渙散情緒低落。這種疲憊如果持續(xù)兩周以上要么是內(nèi)分泌出問題比如甲狀腺功能減退要么是心血管功能儲(chǔ)備已經(jīng)下降要么是心理層面的透支。無論哪種都不該被簡單歸為懶惰。第四個(gè)是活動(dòng)耐量的明顯下降。以前能連續(xù)爬五六層樓現(xiàn)在爬兩層就要停下來喘以前騎車通勤沒問題現(xiàn)在騎一段就覺得心慌氣短。這種變化背后可能是心肺功能的退化也可能是貧血、甲狀腺問題需要去看醫(yī)生而不是繼續(xù)硬扛。第五個(gè)是腹脹、惡心、食欲不振與反復(fù)的胃部不適。程序員很容易把這些問題歸結(jié)為胃不好但心臟下壁缺血時(shí)疼痛信號(hào)是放射到上腹部的跟胃病的感覺非常接近。如果胃藥吃了很多天還是反復(fù)發(fā)作建議做個(gè)心電圖排除一下心臟問題別省這幾百塊錢。3.2 什么樣的檢查才能真正發(fā)現(xiàn)問題很多公司的年度體檢都流于形式項(xiàng)目看著多但核心問題查不出來。程序員做體檢有幾個(gè)項(xiàng)目要額外關(guān)注。心電圖是基礎(chǔ)但它只能捕捉檢查當(dāng)下那一分鐘的心律情況。如果平時(shí)有心慌、胸悶的癥狀就算心電圖正常也要去醫(yī)院加做一個(gè)24小時(shí)動(dòng)態(tài)心電圖把日常狀態(tài)下心臟的電活動(dòng)完整記錄下來。心臟彩超建議三十歲以后每一到兩年做一次。它能看清楚心臟的結(jié)構(gòu)、瓣膜、室壁運(yùn)動(dòng)情況對(duì)心肌病、心功能不全的篩查非常有價(jià)值。如果家里有親人年紀(jì)輕輕就心源性猝死或確診過心肌病的一定要把這個(gè)項(xiàng)目加上而且建議去心內(nèi)科詳細(xì)咨詢。血液方面除了常規(guī)的血脂四項(xiàng)還可以關(guān)注同型半胱氨酸、超敏C反應(yīng)蛋白這兩個(gè)指標(biāo)和血管內(nèi)皮損傷、動(dòng)脈粥樣硬化有關(guān)系。有高血壓家族史的加做頸動(dòng)脈彩超看看血管壁有沒有斑塊其實(shí)這個(gè)檢查便宜無創(chuàng)信息量很大。另外別忘了頭顱核磁或腦血管MRA如果你的頭痛經(jīng)常反復(fù)發(fā)作。年輕人群里腦動(dòng)脈瘤、動(dòng)靜脈畸形并不算罕見這類問題一旦破裂就是顱內(nèi)出血平時(shí)則可能只表現(xiàn)為不明原因的頭痛。3.3 給自己定一條就醫(yī)紅線我知道程序員是最不愛去醫(yī)院的人群之一總覺得時(shí)間寶貴、麻煩、流程繁瑣。但在這件事上我強(qiáng)烈建議每個(gè)人給自己畫幾條不容妥協(xié)的紅線到了就一定要去。胸痛或胸悶超過15分鐘不緩解直接打120不要自己開車。如果胸悶伴隨大汗淋漓、惡心、瀕死感這就是急性心梗的典型表現(xiàn)黃金救治時(shí)間非常短拖延的每一分鐘都是心肌壞死。短時(shí)間內(nèi)反復(fù)心慌或者心跳突然超過120且持續(xù)不降去做動(dòng)態(tài)心電圖。頭暈到站立不穩(wěn)、眼前發(fā)黑、暈厥哪怕只有幾秒鐘都必須就醫(yī)。暈厥是一個(gè)很有價(jià)值的診斷線索它往往提示心臟泵血能力突然下降。另外如果你的身體已經(jīng)連續(xù)向你發(fā)出幾個(gè)信號(hào)比如胸悶加疲憊加活動(dòng)耐量下降別一個(gè)個(gè)去查了直接掛心內(nèi)科或者全科門診讓醫(yī)生幫你系統(tǒng)性地捋一遍。4. 可持續(xù)的程序員生存方案從工位到作息的硬核調(diào)整4.1 工作節(jié)奏把人當(dāng)人來看待很多人問過我不加班怎么可能項(xiàng)目就擺在眼前。我的回答是加班和持續(xù)超負(fù)荷運(yùn)轉(zhuǎn)是兩件事。真正的項(xiàng)目沖刺有明確的截止日結(jié)束后應(yīng)該有一段時(shí)間恢復(fù)最傷人的是那種沒有終點(diǎn)的、以加班為常態(tài)的運(yùn)轉(zhuǎn)方式。我現(xiàn)在給自己的紅線是深夜代碼不解決問題。如果在晚上十點(diǎn)之后發(fā)現(xiàn)一個(gè)bug還弄不清楚或者方案越想越亂我會(huì)立刻停下來。因?yàn)榻?jīng)驗(yàn)反復(fù)告訴我疲憊狀態(tài)下寫出來的代碼質(zhì)量很難保證第二天還要花費(fèi)更多時(shí)間返工。倒不如回家睡覺第二天早起一兩個(gè)小時(shí)腦子清醒了半小時(shí)就能搞定。另一個(gè)實(shí)用的方法是把時(shí)間切成塊。上午到公司先不碰消息用第一個(gè)90分鐘處理最重要的編碼任務(wù)。這個(gè)時(shí)段頭腦最清醒干擾最少。下午留給會(huì)議和溝通傍晚再安排一段用腦強(qiáng)度不那么高的工作比如review代碼、寫文檔、整理任務(wù)。這樣的安排能減少白天精神被打斷的次數(shù)也減少晚上加班的必要。4.2 工位與身體的物理和解工位環(huán)境的調(diào)整是成本最低、見效最快的一件事。我建議每個(gè)程序員認(rèn)真對(duì)待自己的工位因?yàn)槟阋谀抢锒冗^一天中超過三分之一的時(shí)間。顯示器要墊高到與視線平齊避免長時(shí)間低頭。鍵盤鼠標(biāo)的擺放要保證手腕自然伸直避免長期打字導(dǎo)致的腱鞘炎。椅子必須有腰部支撐預(yù)算允許的話人體工學(xué)椅是值得的投資。重點(diǎn)說說坐椅與起身的節(jié)奏。我給自己定了一個(gè)番茄鐘增強(qiáng)版每坐45分鐘必須站起來3-5分鐘去接水、去窗邊遠(yuǎn)眺、做幾個(gè)伸展動(dòng)作。手機(jī)設(shè)了定時(shí)提醒沒什么不好意思的你對(duì)自己的身體負(fù)責(zé)別人怎么看是別人的事。午休的時(shí)候盡量離開工位哪怕只是在樓下走十五分鐘。這個(gè)習(xí)慣能極大緩解下午的困倦和頸椎僵硬。如果公司有條件升降桌也非常推薦。一天里站兩三個(gè)小時(shí)坐五六個(gè)小時(shí)對(duì)腰椎和代謝都有明顯好處。站著的半個(gè)小時(shí)里看看代碼、回回信息完全沒有障礙。4.3 一套不挑時(shí)間、能堅(jiān)持的運(yùn)動(dòng)方案說到運(yùn)動(dòng)我知道大家最大的障礙不是不知道運(yùn)動(dòng)的好處而是沒時(shí)間、沒精力、堅(jiān)持不下來。所以我分享的是一套務(wù)實(shí)方案不追求訓(xùn)練量只追求可持續(xù)。每周至少三次力量訓(xùn)練每次三十分鐘就夠。深蹲、俯臥撐、平板支撐、引體向上這些自重動(dòng)作完全夠用。買一對(duì)可調(diào)節(jié)啞鈴放在工位或家里每天午休或晚上抽出25分鐘。力量訓(xùn)練對(duì)保護(hù)關(guān)節(jié)、提升代謝、改善胰島素敏感性非常有幫助尤其對(duì)久坐人群它比單純的有氧更重要。有氧運(yùn)動(dòng)不必追求跑步五公里。每周兩次每次二十分鐘到三十分鐘的中高強(qiáng)度運(yùn)動(dòng)比如快走、騎車、跳繩、游泳都可以。關(guān)鍵指標(biāo)是心率達(dá)到一定水平感覺呼吸明顯加快但還能說出完整句子。我個(gè)人的體會(huì)是運(yùn)動(dòng)這件事最難的是前兩周。為了熬過這個(gè)坎可以給自己設(shè)置最低目標(biāo)哪怕加班到很晚也要在睡前做五分鐘的拉伸和二十個(gè)深蹲。這個(gè)目標(biāo)低到不會(huì)失敗一旦建立連續(xù)性身體就會(huì)開始給你正反饋然后你自然會(huì)想增加強(qiáng)度。千萬別一開始就定每天跑步一小時(shí)這種目標(biāo)它注定會(huì)在第一次加班之后破碎然后變成自我否定。5. 職業(yè)環(huán)境里的保命心法加班、KPI與向上管理5.1 別讓產(chǎn)出變成健康透支的代名詞程序員的工作量評(píng)估在整個(gè)行業(yè)里一直是個(gè)難題。沒有工廠那樣的計(jì)件標(biāo)準(zhǔn)產(chǎn)出往往用需求完沒完成bug多不多項(xiàng)目上線沒有來衡量。這種模糊的評(píng)價(jià)體系容易被某些不健康的文化利用看你加班時(shí)間多不多看你響應(yīng)消息快不快看你敢不敢拒絕需求。我工作這幾年最大的認(rèn)知轉(zhuǎn)變是超長工時(shí)并不能帶來真正的產(chǎn)出。人腦的深度工作能力每天就是有限的幾個(gè)小時(shí)超過這個(gè)限度寫出來的代碼bug率高設(shè)計(jì)出來的方案考慮不周反而制造更多的返工和線上問題。真正高效的團(tuán)隊(duì)拼的是節(jié)奏管理、清晰的優(yōu)先級(jí)和合理的資源分配而不是誰更能熬。所以面對(duì)不合理的工作安排學(xué)會(huì)用工程的語言向上溝通非常重要。當(dāng)排期明顯不夠時(shí)不要只是說做不完而是拆解工作量給出一個(gè)理性的預(yù)案哪些功能可以砍掉、哪些可以分期、哪些必須保住然后讓決策者來做選擇題。這比熬夜硬撐然后質(zhì)量翻車、再被問責(zé)要好得多也是專業(yè)性的體現(xiàn)。5.2 識(shí)別危險(xiǎn)環(huán)境的幾個(gè)信號(hào)有些環(huán)境對(duì)健康的消耗是加速的如果長期身處其中身體很難有好結(jié)果。我總結(jié)了幾個(gè)危險(xiǎn)信號(hào)如果你所在團(tuán)隊(duì)或公司中了三條以上真的要認(rèn)真考慮換一個(gè)地方。一以加班時(shí)長作為績效評(píng)價(jià)標(biāo)準(zhǔn)嘴上說結(jié)果導(dǎo)向?qū)嶋H排名靠前的都是出勤時(shí)間最長的人。二長期安排不可能的截止日期周五下午提需求、要求下周一上線而且是常態(tài)而非偶發(fā)。三領(lǐng)導(dǎo)公開或暗示年輕人要多拼某某身體不舒服還扛著把帶病工作當(dāng)成值得表揚(yáng)的行為。四應(yīng)急響應(yīng)沒有邊界半夜兩點(diǎn)線上告警要到明天早上才知道但你的私人時(shí)間無法被尊重。五團(tuán)隊(duì)里已經(jīng)有人因健康問題倒下但管理層面沒有任何反思反而讓大家引以為戒提高抗壓能力。人在年輕的時(shí)候容易把這些環(huán)境當(dāng)成錘煉覺得撐過去就好了。但如果你觀察那些真正走到管理崗的人你會(huì)發(fā)現(xiàn)他們很少有人長期維持極端的加班狀態(tài)他們往往會(huì)給自己留恢復(fù)空間。用透支的方式換一個(gè)職級(jí)最終可能連換來的東西都來不及享受。5.3 技術(shù)學(xué)習(xí)也要設(shè)定止損點(diǎn)程序員行業(yè)的技術(shù)焦慮是出了名的高。AI來了要學(xué)AI框架更新了要學(xué)框架身邊的人都在開源、寫博客、搞副業(yè)、做知識(shí)付費(fèi)好像不學(xué)就會(huì)被淘汰。很多人的非工作時(shí)間都被這種焦慮驅(qū)動(dòng)著繼續(xù)消耗自己。我的建議是給學(xué)習(xí)設(shè)定明確的目標(biāo)和邊界。不要陷入無差別的什么都學(xué)一點(diǎn)的漩渦而是圍繞當(dāng)前工作需要的、或者你真正想深耕的方向建立一條清晰的路徑。學(xué)一個(gè)東西之前先問自己它對(duì)解決我今年要面對(duì)的問題有沒有幫助如果沒有就先放下就算很多人都在討論它。學(xué)習(xí)時(shí)間也最好有上限比如每天不超過45分鐘把它當(dāng)休閑而不是壓在自己身上的第二份工作。技術(shù)上我更信任用進(jìn)廢退的邏輯。與其焦慮地囤積課程和資料不如把手頭項(xiàng)目里最核心的那塊東西徹底吃透。把你正在用的框架、引擎、系統(tǒng)的源碼真正讀進(jìn)去把線上問題的排查經(jīng)驗(yàn)總結(jié)成自己的排查手冊(cè)這些積累是任何新技術(shù)浪潮都帶不走的。6. 家人需要的不只是你拼命賺錢保障與托付的務(wù)實(shí)清單6.1 家庭支柱的保險(xiǎn)配置思路這個(gè)標(biāo)題里最讓人難受的不是當(dāng)事人離世本身而是他身后那個(gè)家庭懷著二胎的妻子、年邁體弱的父親。程序員作為家庭主要收入來源如果倒下了整個(gè)家的現(xiàn)金流會(huì)瞬間斷裂。這也是我堅(jiān)持建議每個(gè)家庭支柱認(rèn)真考慮保險(xiǎn)配置的原因。它不是咒自己出意外而是一份給家人留出的底線保障。配置的思路其實(shí)很簡單不必買一堆花里胡哨的產(chǎn)品。定期壽險(xiǎn)是這個(gè)階段最應(yīng)該配的。它的邏輯很樸素在你還工作的這段時(shí)間里萬一你人不在了保險(xiǎn)公司會(huì)一次性賠付一筆錢幫家人還房貸、供孩子上學(xué)、給老人養(yǎng)老。費(fèi)率在年輕的時(shí)候非常低每年幾千塊就能買到幾十萬甚至上百萬的保額這筆錢杠桿非常高。重疾險(xiǎn)解決的是活著但沒法工作的情況。一旦確診重大疾病比如惡性腫瘤、急性心梗一次性賠付一大筆錢覆蓋醫(yī)療開銷之外還能彌補(bǔ)幾年內(nèi)無法正常工作的收入損失。醫(yī)療險(xiǎn)則負(fù)責(zé)報(bào)銷實(shí)際發(fā)生的醫(yī)療費(fèi)用和重疾險(xiǎn)搭配使用。意外險(xiǎn)的費(fèi)率最低建議順帶配上。買保險(xiǎn)有幾個(gè)原則先給家庭經(jīng)濟(jì)支柱買再給孩子和老人買保額要覆蓋房貸余額加三到五年的家庭支出健康告知一定要如實(shí)填寫否則將來理賠的時(shí)候會(huì)被拒。不要盲目迷信貴的就是好的保障型產(chǎn)品核心看條款里對(duì)高發(fā)重疾的定義和賠付條件。6.2 把萬一寫下來資產(chǎn)與信息交接清單很多人忌諱聊這個(gè)話題但我認(rèn)為恰恰是忌諱讓很多家庭在遭遇變故后陷入困境。我自己在幾年前就做了一份家庭信息交接清單放在一個(gè)只有家人能拿到的地方并且每年更新一次。里面包含哪些內(nèi)容所有銀行卡、支付寶、微信支付賬號(hào)的清單和大致金額證券賬戶、基金賬戶、數(shù)字貨幣錢包的存在和位置還有持有的房產(chǎn)、房貸剩余金額、車貸、其他債務(wù)所有保險(xiǎn)保單的保險(xiǎn)公司、保單號(hào)、保障內(nèi)容和理賠聯(lián)系方式。另外手機(jī)鎖屏密碼、常用軟件密碼、社交賬號(hào)的登錄方式、還有那些只有自己知道的訴求比如遺體捐獻(xiàn)意愿、葬禮安排之類的。這份清單不是為了預(yù)算死亡它本質(zhì)上和代碼庫要寫README一樣你需要讓接手的人能快速理解整個(gè)系統(tǒng)而不是等你失聯(lián)了之后家人面對(duì)一堆不知道密碼的賬戶和無人知曉的保單抓瞎。這很諷刺我們寫代碼時(shí)那么重視文檔對(duì)自己的生活卻常常毫無文檔意識(shí)。6.3 讓家人進(jìn)入你的真實(shí)健康狀態(tài)最后想講一個(gè)更柔軟但很重要的事讓家人知道你的真實(shí)狀態(tài)。很多程序員在家人面前是報(bào)喜不報(bào)憂的——項(xiàng)目忙、情緒差、身體不舒服都不說。長期下來家人不知道你承受著什么也不知道要怎么幫你。我開始改變這個(gè)習(xí)慣是因?yàn)橐淮紊钜刮竿赐吹阶约喝旒痹\第二天早上跟家里輕描淡寫說了一句昨晚沒睡好。事后想想這樣是不對(duì)的。不定期的頭痛、胸悶、失眠這些如果你不跟身邊的伴侶或父母說就沒有人能在你狀態(tài)明顯異樣時(shí)提醒你或者陪你去醫(yī)院。家人的意義從來不只是在事后的悲傷里更重要的是日常的監(jiān)督和支持。試著每周和家人聊十分鐘說說這周的工作強(qiáng)度、身體哪里不舒服、有沒有按時(shí)睡覺。這種交流看起來簡單但它會(huì)讓關(guān)注健康從你一個(gè)人咬牙堅(jiān)持的事變成一家人共同維護(hù)的事。讓妻子提醒你定期體檢讓父母督促你別熬夜這可能比任何養(yǎng)生方案都有用。我在這個(gè)行業(yè)待了十多年見過太多體檢報(bào)告一年比一年厚的人也見過突然從工位上消失不再回來的人。每次這樣的新聞刷屏大家會(huì)唏噓、感慨、轉(zhuǎn)發(fā)然后繼續(xù)回到工位打開編輯器生活照舊。我寫這篇文章不是想販賣焦慮也不是想教你養(yǎng)生雞湯。我只想說代碼沒了可以git revert項(xiàng)目黃了可以重新規(guī)劃但人是沒有回滾操作的。在那條天塌了的新聞底下別只當(dāng)看客至少把自己手上的這支代碼先跑通健康這條主線。最后分享一個(gè)我堅(jiān)持了很多年的小習(xí)慣每天晚上下班時(shí)我會(huì)問自己三個(gè)問題——今天有沒有長時(shí)間盯著屏幕超過兩小時(shí)沒起身今天有沒有吃一頓像樣的飯今天有沒有和家人說過超過十句話如果三個(gè)回答里有一個(gè)否第二天我就會(huì)下意識(shí)地調(diào)整。這聽起來很簡單但在我見過的無數(shù)個(gè)突然倒下的案例里都是這些最基礎(chǔ)的細(xì)節(jié)先丟掉的。希望大家都不會(huì)走到需要用教訓(xùn)來學(xué)習(xí)的那一步。