程序員是救火隊(duì)嗎?
領(lǐng)導(dǎo)告訴我,客戶的一個(gè)軟件(MySQL)無(wú)法啟動(dòng),需要研發(fā)支援解決。這個(gè)項(xiàng)目,我從來(lái)沒(méi)有跟過(guò)?,F(xiàn)在出現(xiàn)了問(wèn)題,領(lǐng)導(dǎo)是拉我來(lái)救火的。簡(jiǎn)單交代一下背景。我們公司有研發(fā)部、產(chǎn)品部、生產(chǎn)部等等部門(mén)。一般來(lái)說(shuō),產(chǎn)品部負(fù)責(zé)與客戶直接對(duì)接,完成諸如安裝、演示、升級(jí)等功能。我司的產(chǎn)品部,(在我們軟件部的耳濡目染下),技術(shù)水平還不錯(cuò),Linux玩得很溜。一般的技術(shù)他們都能解決。也就是說(shuō),轉(zhuǎn)到研發(fā)部的問(wèn)題,都會(huì)稍微有一點(diǎn)“棘手”。因?yàn)槭侵睂兕I(lǐng)導(dǎo)下派,沒(méi)有任何推諉,放下其他工作,直接接手。接下來(lái),看一下我當(dāng)時(shí)的調(diào)試環(huán)境。客戶電腦使用的是公司內(nèi)部網(wǎng)絡(luò),無(wú)法實(shí)施遠(yuǎn)程連接調(diào)試。這就比較麻煩。一般來(lái)說(shuō),有問(wèn)題遠(yuǎn)程連接一下,就能比較快速地解決和定位問(wèn)題?,F(xiàn)在只能依靠對(duì)方工程師手敲代碼,返回結(jié)果。不僅效率低下,而且不確定性增多:對(duì)方工程師,可能是技術(shù)高手,也可能是技術(shù)小白。溝通群里有七、八個(gè)人,包括我的領(lǐng)導(dǎo)、產(chǎn)品部同事、對(duì)方工程師、對(duì)方的領(lǐng)導(dǎo)等。所有的指令,都在大家的監(jiān)控之下。所以說(shuō),指令必須是有目的的、精確的。任何一點(diǎn)差錯(cuò),都會(huì)增加溝通的成本,拉低客戶心中我方的技術(shù)水平和公司形象。如何正確地裝逼成為重中之重。我深吸一口氣,開(kāi)始我的裝逼之旅。第一步,一個(gè)明知故問(wèn)的重要問(wèn)題:“做了什么改動(dòng)?”得到的回答,不出所料,程序員聽(tīng)了一千遍的:“什么都沒(méi)改。”沒(méi)有關(guān)系。不管對(duì)方回答什么,基本不影響我們的調(diào)試過(guò)程。因?yàn)橛袝r(shí)候,即使改動(dòng)了什么,也是因?yàn)橐l(fā)了別的問(wèn)題才導(dǎo)致出現(xiàn)問(wèn)題。但是這句話是一定要問(wèn)的。這句話的底層意思是:“我司的產(chǎn)品都經(jīng)過(guò)嚴(yán)格測(cè)試沒(méi)有任何質(zhì)量問(wèn)題的,一定是做了什么改動(dòng)才導(dǎo)致現(xiàn)在的問(wèn)題。”開(kāi)天辟地“定調(diào)”第一步,完成。第二步,發(fā)送明確的指令給對(duì)方,等待對(duì)方的結(jié)果。這一步,有幾個(gè)點(diǎn)要注意:1、能用指令描述的,不要用文字描述。比如,不要說(shuō)“打開(kāi)xx文件,讓我看下里面的內(nèi)容”,直接發(fā)指令“cat 文件”,對(duì)方照著寫(xiě)就行。再比如,需要較高權(quán)限的操作,“不要說(shuō)先切換到root,再執(zhí)行指令”,直接發(fā)指令“sudo 指令”。因?yàn)椴磺宄?duì)方的技術(shù)水平,所以步驟盡量傻瓜化。2、指令一定要絕對(duì)正確。特別是路徑、參數(shù),不要出現(xiàn)錯(cuò)誤。可以的話,先在自己的電腦上實(shí)驗(yàn)一下。3、能用一條指令解決的,不要分成兩個(gè)指令。這樣會(huì)增加步驟,提高溝通成本。比如,使用絕對(duì)路徑,而不要先“cd 目錄;ls”,直接“l(fā)s 目錄”。4、盡量讓對(duì)方拍照回復(fù)。如果出現(xiàn)拼寫(xiě)錯(cuò)誤或者其他低級(jí)錯(cuò)誤,能及時(shí)發(fā)現(xiàn)。具體調(diào)試過(guò)程這里不寫(xiě)。其實(shí)問(wèn)題并不難,只是比較少見(jiàn),某度也搜索不到。反正在一步一步的排查之下,問(wèn)題解決了。第三步,總結(jié)陳詞。當(dāng)我想要松口氣的時(shí)候,對(duì)方領(lǐng)導(dǎo),在群里發(fā)了這樣一個(gè)消息:@我 @對(duì)方工程師 請(qǐng)分析一下是什么原因?qū)е碌模緻我方產(chǎn)品同事 ?以后的產(chǎn)品還會(huì)不會(huì)出現(xiàn)同樣的問(wèn)題?雖然我心里知道,這個(gè)問(wèn)題是升級(jí)導(dǎo)致的,但是直接這樣說(shuō)的話,會(huì)很有問(wèn)題:如果是我方升級(jí)的,對(duì)我方形象和人員不利;如果是對(duì)方升級(jí)的,對(duì)對(duì)方工程師不利。大家都是干活的,要惺惺相惜,不能落井下石。我斟酌了一下,這樣回復(fù)的:我看到的現(xiàn)象是:配置文件更改導(dǎo)致無(wú)法啟動(dòng)。懷疑是在升級(jí)軟件的過(guò)程中,操作人員/操作系統(tǒng)出于系統(tǒng)保護(hù)的目的,僅升級(jí)了核心程序(mysqld運(yùn)行沒(méi)有問(wèn)題),而對(duì)配置文件進(jìn)行了改名、備份(而不是刪除)。恢復(fù)配置文件后啟動(dòng)成功。輕描淡寫(xiě)地說(shuō)明問(wèn)題原因和解決方法(也顯得自己很牛),著重強(qiáng)調(diào)操作人員成功的地方,說(shuō)明操作人員的好意,同時(shí)不排除是系統(tǒng)的問(wèn)題。對(duì)方?jīng)]有再繼續(xù)追問(wèn)。救火成功。總結(jié):1、能當(dāng)救火隊(duì),是你的價(jià)值所在。每一次救火,都是一次展示專業(yè)度的機(jī)會(huì)。抓住機(jī)會(huì),好好表現(xiàn)。2、不要相信任何人的“什么都沒(méi)改”。END
敬請(qǐng)大家星標(biāo)關(guān)注公眾號(hào)《朱老師IT充電站》。
每天了解一些新技術(shù),每天辯一些真道理!
轉(zhuǎn)發(fā)收藏點(diǎn)贊在看