平時(shí)的工作如何體現(xiàn)一個(gè)人的技術(shù)深度?

測(cè)試是一個(gè)做很簡(jiǎn)單,但想要做好,絕非易事的工種,我在很多場(chǎng)合都強(qiáng)調(diào)過測(cè)試是一個(gè)技術(shù)專業(yè)性極強(qiáng)的工種(那些只追求點(diǎn)點(diǎn)點(diǎn)的人不在此范圍內(nèi))。
下文雖是以程序員的視角都談技術(shù)深度,但同樣也適用測(cè)試(開發(fā))崗位,歡迎讀者細(xì)心品讀。
看到一個(gè)討論帖,原文如下:
平時(shí)的工作如何體現(xiàn)一個(gè)人的技術(shù)深度?
平時(shí)工作中很多時(shí)候需求細(xì)而碎的,如何在工作中積累技術(shù)深度?又如何體現(xiàn)一個(gè)人的技術(shù)深度?
思考:做需求與做需求的差異
再回答問題之前,我想先拋開「技術(shù)深度」這次詞,講講做需求這件事,說說我對(duì)做需求的理解。每一個(gè)程序員都是從剛畢業(yè)做需求開始,為什么有的人逐漸成為大牛,主導(dǎo)大型技術(shù)項(xiàng)目或走向團(tuán)隊(duì)管理崗位,而有的人一直還在做需求。我覺得這里面的差異在于,每一個(gè)對(duì)做需求這件事的理解有所不同。
這里面的差異在于,你是抱著一種什么樣的心態(tài)去完成這個(gè)需求,是把這個(gè)需求做到極致,還是只是當(dāng)做任務(wù)完成這個(gè)需求,達(dá)到產(chǎn)品想要的功能就行。這兩個(gè)表面上看似差不多其實(shí)相差極大,差異在于,你有沒有站在更高的角度,希望這件事做到完美。
從需求角度有沒有思考產(chǎn)品設(shè)計(jì)當(dāng)中的缺陷,能不能反向?yàn)楫a(chǎn)品設(shè)計(jì)提供建議,從技術(shù)角度能不能做到高質(zhì)量高兼容性無bug,以及下次再有類似的需求能不能快速高效率的迭代。
用一句話來描述就是,能不能跳出自己是一個(gè)程序員是一個(gè)被動(dòng)執(zhí)行人的角色,而是將自己當(dāng)做產(chǎn)品當(dāng)做技術(shù)負(fù)責(zé)人的心態(tài)去做這件事。
業(yè)務(wù)需求該怎么做
知易行難,如果一開始做不到,那就先著眼小事,關(guān)注細(xì)節(jié),從需求開始的需求評(píng)審,編寫技術(shù)方案文檔,設(shè)計(jì)文檔,到開發(fā)的代碼注釋,結(jié)構(gòu)設(shè)計(jì),保證高質(zhì)量,完善無漏洞的代碼邏輯,再到異常埋點(diǎn),指標(biāo)監(jiān)控,線上可用性運(yùn)維等等,認(rèn)真對(duì)待一個(gè)需求的每一個(gè)環(huán)節(jié)。
當(dāng)你自認(rèn)為已經(jīng)做好整個(gè)流程的每一件小事之后,接下來可以 通過深入細(xì)節(jié),思考整個(gè)流程是否存在問題。做需求過程中溝通協(xié)作的有沒有問題,流程規(guī)范的有沒有問題,機(jī)制環(huán)節(jié)哪方面問題,代碼公共基礎(chǔ)能力的是否有缺失,開發(fā)過程中你所遇到的問題是不是一個(gè)通用問題,能不能抽象出一個(gè)公共庫解決大家的問題,能不能制定一個(gè)SOP的解決方案流程,亦或是提煉出一個(gè)最佳實(shí)踐在組內(nèi)外分享經(jīng)驗(yàn)。
通過這些一件件小事來鍛煉自己解決問題的能力,以及更深層級(jí)的發(fā)現(xiàn)問題的能力。再通過不斷的發(fā)現(xiàn)問題,思考問題出現(xiàn)的原因,拿出解決方案,最終落地解決了自己或組內(nèi)或協(xié)作方的問題,鍛煉自己的綜合能力逐步慢慢成長(zhǎng)。
再說「技術(shù)深度」
說了這么多,你可能會(huì)說,這跟我問的技術(shù)深度有什么關(guān)系?我想說:拋開業(yè)務(wù)需求談技術(shù)深度都是耍流氓。
舉一個(gè)例子,數(shù)據(jù)可視化方面3D three.js,視頻直播方面的編解碼壓縮,客戶端安全方面的攻防滲透,每一個(gè)都是有技術(shù)深度的事情,但問題是即使你掌握了這些領(lǐng)域擁有了非常高的技術(shù)深度之后呢,不能應(yīng)用于業(yè)務(wù)需求,不能解決產(chǎn)品急迫要解決的問題,不能完成你老板的OKR,達(dá)成部門的戰(zhàn)略目標(biāo),還是英雄無用武之地(當(dāng)然你也可以選擇一個(gè)可以用得上的團(tuán)隊(duì),那是就是另外一回事了)。
由于這些單點(diǎn)的有技術(shù)深度的事情,不能為你帶來直觀和顯而易見的 「回報(bào)」(也就是顏如玉 黃金屋與金榜題名),也就間接的打擊了積極性(當(dāng)然自己對(duì)某門技術(shù)感興趣而鉆研的不再本次討論之列)。
所以提升自己的技術(shù)深度,最好的方式還是在公司業(yè)務(wù)中,發(fā)現(xiàn)有深度的事,然后去在攻克這個(gè)問題的過程中,提升了自己的技術(shù)深度,即跟隨公司業(yè)務(wù)的發(fā)展的同時(shí)自身也獲得了成長(zhǎng),你用技術(shù)能力為公司解決了業(yè)務(wù)發(fā)展過程中的問題,自然也就從公司獲得了該有的回報(bào)。這是一個(gè)ROI投入產(chǎn)出比最高的獲得技術(shù)深度的方式。
獲取做有深度事情的授權(quán)
當(dāng)想明白獲取技術(shù)深度的路徑之后,接下來要解決的就是,如何讓領(lǐng)導(dǎo)給你安排有技術(shù)深度的事情?
業(yè)務(wù)發(fā)展中有很多有技術(shù)深度有技術(shù)難度的事情,為什么領(lǐng)導(dǎo)要安排你來做這件事呢?你憑什么讓領(lǐng)導(dǎo)覺得你 「有能力」 也 「有意愿」 來完成這件事?能力與意愿是作為領(lǐng)導(dǎo)在分配工作當(dāng)中的最重要的兩個(gè)決策項(xiàng)(有機(jī)會(huì)的話我會(huì)再寫一篇,從管理視角是如何做分工的)。
既然你能提問如何積累技術(shù)深度,我相信你一定是有強(qiáng)烈意愿的,那么剩下的就是如何讓領(lǐng)導(dǎo)認(rèn)為你有完成這個(gè)有技術(shù)深度的事情的能力?最簡(jiǎn)單來講就是,你能不能在開發(fā)需求中做到深度思考,追求極致,精益求精,有責(zé)任心,有主人翁意識(shí)與主R意識(shí),在每件小事中能做到 「自閉環(huán)」,之后才會(huì)逐步讓你承擔(dān)更大范圍更高挑戰(zhàn)更大深度的事情,形成正向循環(huán)。
這也是我前面為什么要先重點(diǎn)強(qiáng)調(diào)做好每一件小事的重要性。
技術(shù)深度不是唯一標(biāo)準(zhǔn)
作為一個(gè)程序員,在職業(yè)生涯的初期,確實(shí)是以技術(shù)深度也就是技術(shù)能力作為最大的衡量標(biāo)準(zhǔn)。
但隨著職業(yè)生涯的發(fā)展,職級(jí)從L5到L8,站在從公司角度,對(duì)一個(gè)人的需求,也會(huì)從能完成一個(gè)業(yè)務(wù)需求,變成能帶領(lǐng)一幫人完成一個(gè)更大的維度的需求,能不能為組織解決問題,為事業(yè)部達(dá)成戰(zhàn)略目標(biāo),對(duì)人的要求的重心也會(huì)慢慢發(fā)生變化,這種變化可以參考公司的職級(jí)能力模型體系的雷達(dá)圖。
所以一味的追求積累技術(shù)深度就跑偏了,但不是說技術(shù)深度不重要,技術(shù)能力是作為程序員的安身立命之本,但是在積累技術(shù)深度的同時(shí),也需要學(xué)習(xí)鍛煉技術(shù)深度以外的能力。具體到底是什么其他能力,這就夠再展開好幾篇文章的篇幅了,今天在這就不細(xì)說了,有機(jī)會(huì)可以談?wù)勎覍?duì)這方面的理解。
最后
故不積跬步無以至千里,不積小流無以成江海。先從做好每一件小事開始,把每個(gè)業(yè)務(wù)需求做到120分,深度思考,發(fā)現(xiàn)問題,解決問題,逐步建立起靠譜有責(zé)任心技術(shù)牛的人設(shè),逐步負(fù)責(zé)有技術(shù)難度的事情,跟隨公司業(yè)務(wù)發(fā)展積累自己的業(yè)務(wù)領(lǐng)域經(jīng)驗(yàn)與技術(shù)深度,從而獲得雙贏的回報(bào)。
這是我對(duì)如何積累技術(shù)深度這件事的理解,或許會(huì)有一些片面和偏激,畢竟不是誰都有一個(gè)能知人善任的好領(lǐng)導(dǎo),不是誰都能遇到一個(gè)快速發(fā)展的業(yè)務(wù),不是誰都能遇到有技術(shù)難度與技術(shù)挑戰(zhàn)的場(chǎng)景,無論我怎么說,都會(huì)有幸存者偏差的存在。
作者:滄海月明
https://juejin.cn/post/7073001183123603470
推薦閱讀:
END

長(zhǎng)按二維碼/微信掃碼 添加作者
