我是一個(gè)著迷于產(chǎn)品和運(yùn)營的技術(shù)人交播,樂于跨界的終身學(xué)習(xí)者。歡迎關(guān)注我的個(gè)人公眾號「跨界架構(gòu)師」
每周五11:45 按時(shí)送達(dá)~
我的第「187」篇原創(chuàng)敬上
大家好践付,我是Z哥秦士。
這篇是前陣子寫的《如何提升Debug效率》的姊妹篇。
相信不少人都聽說過“10x程序員”的說法永高。最初的出處是「布魯克斯法則」的提出者在他的文章《沒有銀彈》中提出的隧土。
在普通設(shè)計(jì)師(程序員)和優(yōu)秀設(shè)計(jì)師(程序員)之間,有著 10 倍多的差異命爬。
——《沒有銀彈》
優(yōu)秀者和普通人之間的差距真的有這么大嗎曹傀?根據(jù)我這么多年的職場觀察,還真有饲宛,而且其中最大的差距可能不還不止10倍皆愉。
但是單單從coding的速度上,肯定不可能將差距拉得那么大艇抠。拉開差距的往往是“工作模式”上的不同幕庐。這和“人與人之間的最大差距是認(rèn)知能力,而不是努力的程度”是類似的道理家淤。
我不敢說自己就是10x程序員异剥,但是回頭看這些年,我的編程水平和效率相比剛?cè)胄械哪菚泻脦妆兜奶嵘匀皇怯械模ㄔ谥暗囊恍┪恼轮行踔兀乙蔡岬竭^自己曾經(jīng)效率巔峰的例子[害羞臉])冤寿。同時(shí),在這個(gè)成長的過程中青伤,我也見到過身邊不少快速成長的小伙伴督怜,他們在一年之內(nèi)的效率變化大到判若兩人。當(dāng)然潮模,也見到過“發(fā)揮很穩(wěn)定”的小伙伴亮蛔,他們的效率幾乎一直沒有什么變化過。
從這些經(jīng)歷和觀察中擎厢,我總結(jié)了一些經(jīng)驗(yàn)究流,我想它們對你提高開發(fā)效率或多或少會有些幫助,下面我來分享給你动遭。當(dāng)然芬探,也歡迎你在留言區(qū)分享你覺得好用的方法。
我想厘惦,沒有人不愿意成為10倍程序員吧偷仿?肯定都希望自己變得更牛逼哩簿,是吧?
我們程序員的日常工作主要涉及到以下三件事酝静。
????■?功能迭代開發(fā)
????■?溝通
????■?修復(fù)bug
提升效率的關(guān)鍵自然也藏在這三件事里节榜。
/01? 功能迭代開發(fā)/
01?設(shè)計(jì)
在中小型公司里,功能迭代開發(fā)所花費(fèi)的時(shí)間應(yīng)該是最多的吧别智。但是宗苍,恰恰也正因?yàn)槭侵行⌒凸荆_發(fā)任務(wù)時(shí)的自由度相對較高薄榛,所以讳窟,很多人不太重視coding之前的設(shè)計(jì)工作。
有些同學(xué)看完一個(gè)需求文檔后敞恋,撩起袖子就開始寫代碼丽啡、建數(shù)據(jù)表。說實(shí)話硬猫,這個(gè)效率看起來的確是杠杠滴补箍,閃電般的高效。但是很多這種看上去勤快的同學(xué)最終的整體效率往往并沒有比別人高浦徊,甚至還不如那些看起來“慢吞吞”的人馏予。
之所以會這樣,是因?yàn)椴粔蛑匾暻捌诘脑O(shè)計(jì)工作盔性,也就是心里沒有「軟件工程」這個(gè)概念霞丧。
雖說「軟件工程」是一個(gè)比較抽象的概念,很多名人給出過不同的定義冕香。但是他們都一個(gè)共同點(diǎn)蛹尝,就是眼里不能只有coding,coding應(yīng)該只是最后的“臨門一腳”而已悉尾。
只有前期規(guī)劃到位突那,才能減少后續(xù)的返工,甚至是避免返工构眯。如此愕难,你的整體開發(fā)效率自然就上去了。
另外惫霸,在設(shè)計(jì)這件事上猫缭,除了比較宏觀的架構(gòu)設(shè)計(jì)思維外,熟練掌握23種設(shè)計(jì)模式也是很重要的壹店,因?yàn)樗鼈冏钊菀子玫讲碌ぃ沧畛S谩T趯懘a的時(shí)候硅卢,有意識地考慮一下有什么設(shè)計(jì)模式可以套用射窒,并且隨時(shí)重構(gòu)藏杖,保證代碼的整潔。
02?專注
有些復(fù)雜的脉顿、有難度的任務(wù)往往需要耗費(fèi)比較長的時(shí)間才能完成蝌麸,這個(gè)時(shí)候如果你能保持專注,將會對提高效率非常有幫助弊予。而且祥楣,有些棘手的問題开财,如果你不夠?qū)W⒆厮铮屪约哼M(jìn)入到深度思考的狀態(tài)炫掐,可能都無法想到解決方案。
讓人專注的方法其實(shí)很簡單,把手機(jī)丟到你眼睛看不到的地方就行弯院。
/02? 溝通/
關(guān)于溝通效率的問題,我在2018年有寫過一篇文章《就簡單聊聊溝通效率問題》闡述我的觀點(diǎn)坞淮,在這里就不多說了当纱,感興趣的話可以點(diǎn)擊文末的推薦閱讀鏈接去看。
不過恤溶,有一點(diǎn)可以補(bǔ)充一下乓诽。文檔對于提高溝通效率的作用被大多數(shù)人給忽略了。
互聯(lián)網(wǎng)新貴字節(jié)跳動(dòng)內(nèi)部的協(xié)作咒程,就是以文檔為核心開展的鸠天。以共享文檔為基準(zhǔn),人跟著共享文檔走帐姻。就是以這樣的機(jī)制稠集,他們才得以在不到一個(gè)月的時(shí)間內(nèi),順利補(bǔ)位拼多多放棄的春晚紅包活動(dòng)饥瓷。
想把文檔做好剥纷,其實(shí)很簡單——多用。只要工作都是基于文檔來開展呢铆,那么維護(hù)文檔就是一個(gè)必須要做的事情晦鞋。
很多文檔之所以吃灰,就是因?yàn)楹罄m(xù)的變更沒有持續(xù)更新到文檔里棺克,導(dǎo)致文檔逐漸與現(xiàn)實(shí)脫節(jié)悠垛,進(jìn)一步導(dǎo)致文檔不但起不到應(yīng)有的效果,反而還會帶來誤導(dǎo)逆航。慢慢地鼎文,文檔這個(gè)東西就變成人人唾棄的東西。
但是如果有了一份靠譜的文檔因俐,可以大大降低對溝通的需求拇惋,因?yàn)榇蟛糠中畔⒍伎梢詮倪@份共享文檔中獲取周偎。這樣一來,做其他事情的時(shí)間不就多了么撑帖,整體的開發(fā)效率不就上去了么蓉坎。
/03? 修復(fù)bug/
01?重視單元測試
其實(shí)大家也都明白,bug越晚被發(fā)現(xiàn)胡嘿,修復(fù)的代價(jià)越大蛉艾。而能發(fā)現(xiàn)bug最早的環(huán)節(jié)莫過于單元測試了。
對于這點(diǎn)之前也寫過一篇《聊聊單元測試》衷敌,這里就不贅述了勿侯。
02?會用搜索引擎
坦白說,目前我們國內(nèi)還是很難成為新技術(shù)的風(fēng)向標(biāo)缴罗,所以當(dāng)我們開始運(yùn)用某項(xiàng)技術(shù)的時(shí)候助琐,往往在老美那邊已經(jīng)用了一段時(shí)間了。因此面氓,我們遇到的大多數(shù)與某個(gè)技術(shù)框架相關(guān)的問題兵钮,google一下,往往已經(jīng)有解決方案了舌界。不過掘譬,需要你有一些基礎(chǔ)的英語知識,方便更準(zhǔn)確地通過關(guān)鍵字找到需要的內(nèi)容呻拌。(比如葱轩,萬能的how to + ……)
如果是一些國內(nèi)已經(jīng)普及的技術(shù)框架,直接百度也能解決大多數(shù)的問題柏锄。
除了以上三個(gè)方面酿箭,還有一件能通過發(fā)揮我們程序員長處來提高效率的事情,就是將重復(fù)的事情盡可能的自動(dòng)化趾娃。比如缭嫡,自己寫一個(gè)小工具,讓它可以批量完成一些任務(wù)抬闷,或者是一個(gè)自動(dòng)運(yùn)行的服務(wù)妇蛀,又或者是給你常用的工具寫一個(gè)插件等等。
其實(shí)你會發(fā)現(xiàn)這些點(diǎn)都很普通笤成,沒什么奇技淫巧评架,但如果真能做好其中的每一點(diǎn),恰恰是成就10x程序員的奧秘所在炕泳。
好了纵诞,總結(jié)一下。
這篇呢培遵,Z哥與你分享了我對10x程序員這件事的看法浙芙,以及自己對提高開發(fā)效率的一些經(jīng)驗(yàn)登刺。主要分為三個(gè)部分。
? ? 1.功能迭代開發(fā)嗡呼。在這個(gè)環(huán)節(jié)纸俭,主要要做好「設(shè)計(jì)」工作和保持「專注」。
? ? 2.溝通南窗。在這個(gè)環(huán)節(jié)揍很,主要是要把「文檔」用起來。
? ? 3.修復(fù)bug万伤。在這個(gè)環(huán)節(jié)窒悔,主要是「重視單元測試」和「會用搜索引擎」。
希望對你有所啟發(fā)壕翩。
推薦閱讀:
如果你喜歡這篇文章蛉迹,可以點(diǎn)一下右下角的「愛心」,支持我的創(chuàng)作~
定期發(fā)表原創(chuàng)內(nèi)容:架構(gòu)設(shè)計(jì)丨分布式系統(tǒng)丨產(chǎn)品丨運(yùn)營丨一些深度思考放妈。