最強(qiáng)意識攻城獅養(yǎng)成記

我不是一個偉大的程序員,我只是一個具有良好習(xí)慣的程序員。 ―Kent Beck
只有足夠強(qiáng)的“個人品牌意識”,才能幫助程序員養(yǎng)成良好的習(xí)慣。--魯迅

看似只有kent beck這種不世出的程序員才講究“個人品牌”,其實(shí)作為勞苦大眾碼農(nóng)更應(yīng)該講究。

雖然我們不及kent beck那樣有廣泛的影響力,但是在有限的團(tuán)隊(duì)中被認(rèn)可,也絕對是對個人的有力激勵;繼而成為一個正向約束,使自己不斷精進(jìn)。相反,一個不具備“個人品牌意識”的程序員,“寫三天,修三天,推到重來又三天”,很快會給人產(chǎn)生一種“不靠譜”的印象。這種“壞印象”通常比“好印象”更容易讓人留下印象。雖然它短時間內(nèi)不見的會斷送你的職業(yè)生涯,但缺乏“個人品牌意識”而慢慢養(yǎng)成的壞習(xí)慣,對一個程序員來說,卻絕對是致命的。

就在前兩天,團(tuán)隊(duì)內(nèi)一個小兄弟問我:“飛哥,我一直在努力的學(xué)習(xí)新技能,但是要學(xué)的實(shí)在太多,反而搞得自己很焦慮,我該怎么辦?”。他問的很真誠,我一下子不知道如何作答。但我很肯定的告訴他:“沒有捷徑,只能慢慢積累”。一以貫之的堅(jiān)持個人品牌,慢慢積累,量變一定會引起質(zhì)變。

下面我要分享的,雖然沒有太多具體可以操作的行為準(zhǔn)則,但是通過強(qiáng)化一些意識,對正在快速成長的程序員絕對有益(應(yīng)該可以籠統(tǒng)的說:個人品牌意識是目的,以下幾個意識是手段)。同時,我認(rèn)為勞苦大眾碼農(nóng)往往是抱團(tuán)成事,一個團(tuán)隊(duì)只有擁有了同樣的意識,才能擰成一股繩,形成合力,提高生產(chǎn)效率。

第一:產(chǎn)品經(jīng)理意識

這個是很大一部分程序員所不具備的,甚至是以“技術(shù)”自我標(biāo)榜的程序員所排斥的。但其實(shí),除了極少數(shù)的程序員能以技術(shù)立身,絕大多數(shù)程序員都是在做業(yè)務(wù)、做項(xiàng)目。我們強(qiáng)調(diào)這個意識,是因?yàn)椤爱a(chǎn)品經(jīng)理”在一個項(xiàng)目中承擔(dān)了至關(guān)重要的角色。業(yè)務(wù)邏輯和流程設(shè)計(jì)上的合理性,比技術(shù)實(shí)現(xiàn)要重要的多的多。一個項(xiàng)目要做什么、什么能做、什么不能做,沒有技術(shù)背景的產(chǎn)品經(jīng)理,往往把握不到位。此時,如果研發(fā)唯“產(chǎn)品經(jīng)理的需求”是從,不做任何質(zhì)疑和建議,那很有可能陷入修來修去的泥潭,處于被動地位。

第二:設(shè)計(jì)先行意識

年輕的程序員較多缺乏這個意識。對于他們,往往是在“時間緊、任務(wù)重”的感覺中度過;本身設(shè)計(jì)能力的欠缺,又進(jìn)一步加劇了這個意識的缺失。于是,他們一邊寫,一邊想,一邊copy,一邊粘貼。這種情況,我建議年輕的程序員一定要有“靜氣”,不要慌著動手;也一定要矯正設(shè)計(jì)能力慢慢會有的錯誤認(rèn)知——任何能力都不是無中生有的,都需要有機(jī)會不斷去嘗試去鍛煉。試著在反復(fù)梳理需求的過程中,拆解、匯總,再學(xué)習(xí)幾種常用的UML建模工具,我相信對于編碼的質(zhì)量和效率都會有很大幫助。
第三:主動承擔(dān)意識
這個意識分兩個場景來具體說明。首先是跨團(tuán)隊(duì)協(xié)作的場景,接口的定義不見的一定是服務(wù)端提供,如果服務(wù)端遮遮掩掩不想提供,我們大可主動站出來,掌握先機(jī),搶占主動權(quán)。其次是在接口報文定義上,能不讓客戶端傳遞的字段,盡量在接口服務(wù)里自己封裝,因?yàn)槿绻?wù)端能獲取到的參數(shù),你讓客戶端傳值進(jìn)來,你往往需要進(jìn)行校驗(yàn),工作一點(diǎn)都不會少。當(dāng)然,主動承擔(dān)不僅僅限于我列舉的這兩個場景。這種意識的養(yǎng)成,會很大程度上潤和協(xié)作關(guān)系,提升自己的品牌影響力。
第四:防御編程意識
這也是年輕程序員容易缺乏的意識。隨著工作經(jīng)驗(yàn)的增加,你會越來越發(fā)現(xiàn),實(shí)現(xiàn)文檔中明文規(guī)定的需求,只是一個合格程序員的最基本素質(zhì);那些文檔之外的工作,才能見真章。比如異常情況的考量,日志的合理記錄,甚至必要的一些審計(jì)功能的開發(fā)。因?yàn)檫@些工作不但能提高程序的健壯性,更能在發(fā)生生產(chǎn)問題時,提供一手的資料,幫助我們快速定位問題、恢復(fù)生產(chǎn)。
第五:窮其究竟意識
我們在開發(fā)、運(yùn)維工作中往往會碰到一些不常見的問題,我們當(dāng)然可以換一種實(shí)現(xiàn)方式來解決。但是,如果我們能通過閱讀源碼、查閱資料、知其所以然,我相信這種成就感一定更強(qiáng)烈,而且這個過程往往會帶來意想不到的收獲。還有就是面對一些常見的問題,不要每每都用“粗心、大意”搪塞過去,要認(rèn)真復(fù)盤,要多問自己幾個為什么,要多想想以后如何避免。不然,這種低級錯誤就像一個定時炸彈,會讓你身邊的人在“靠譜”后面打上問號。
以上是我自己的一點(diǎn)淺見,也是我這幾年在團(tuán)隊(duì)中堅(jiān)持傳遞的經(jīng)驗(yàn)。最后,希望大家都能強(qiáng)化這些意識,樹立自己的“個人品牌”,日益精進(jìn)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容