91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

10倍效率程序員是否真的存在

工程師人生 ? 來源:網(wǎng)絡(luò)整理 ? 作者:工程師吳畏 ? 2018-10-30 11:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

編程神話中,一個 10 倍效率的程序員可以完成一個普通程序員 10 倍的工作量?!钙胀ǔ绦騿T」就是指,善于完成工作但沒有 10 倍效率程序員那神奇能力的人。實際上,為了更好地描述普通程序員,我們可以這樣認(rèn)為,就是在專業(yè)程序員之中,代表那些可以輸出平均編程成果的程序員。

是否存在 10 倍效率的程序員,在這件事上編程社區(qū)內(nèi)是嚴(yán)重的兩極分化:有人說根本沒有這樣的人,也有人說事實上不僅存在這種人,如果你知道到哪里去尋找,甚至還存在 100 倍效率的程序員。

如果你認(rèn)為編程是一個“線性”的學(xué)科,那存在 10 倍效率的程序員這件事看起來幾乎是不可能的。一個跑步的人怎么可能跑得比另一跑步的人快10倍?在相同的時間內(nèi),一個建筑工人怎么可能建造東西的速度比另一個建筑工人快 10 倍?然而編程是一門設(shè)計學(xué)科,并以一種非常特殊的方式。即使程序員不參與實際的程序的架構(gòu)設(shè)計,實施它的行為仍然需要一個實施策略上的子設(shè)計。

因此,如果一個程序的設(shè)計和實現(xiàn)不是線性能力,像經(jīng)驗、編碼能力、知識和識別等無用之物,在我看來,不僅僅是線性的優(yōu)勢,當(dāng)這些事物作用在一起時,它們的效果就遠(yuǎn)不是一加一這么簡單了。當(dāng)然,當(dāng)程序員可以同時處理程序的設(shè)計和實現(xiàn)時,這種現(xiàn)象發(fā)生得更多。如果越以“目標(biāo)導(dǎo)向”為任務(wù),那么擁有10倍效率潛力的程序員為了輕松地達(dá)到目標(biāo)就越可以開拓她/他的能力。

當(dāng)手頭有非常剛性的任務(wù)時,這個任務(wù)有具體的指南:必須使用哪些工具和如何實現(xiàn)事物。那么 10 倍效率的程序員在更短的時間內(nèi)執(zhí)行大量工作的能力就被削弱了:他仍然可以開拓“局部”上設(shè)計的潛能,但卻不能以更意義深遠(yuǎn)的方式去實現(xiàn)目標(biāo),這也許包括,可能、甚至完全從項目中刪除部分規(guī)范,即便需要達(dá)到的目標(biāo)幾乎看起來相同但需要付出的努力程度由于一個大因素被減少了。

在作為程序員工作的二十年中,我觀察著與我一起工作的其他由我指導(dǎo)的程序員同事,我下發(fā)指定的目標(biāo),他們則給 Redis 和其他項目提供補丁。期間,很多人告訴我,他們相信我是一個非常高效的程序員??紤]到我根本不是一個工作狂,我也把自己當(dāng)作快速編碼的一類人。

以下這些品質(zhì),我認(rèn)為將引發(fā)程序員生產(chǎn)力高低截然不同:

純粹的編程能力:完成子任務(wù)

程序員最顯著的限制或優(yōu)勢之一就是處理實際執(zhí)行程序部分的一個子任務(wù):一個函數(shù),一個算法等。令人驚訝的是,根據(jù)我的經(jīng)驗,非常有效地使用基本的命令式編程結(jié)構(gòu)來實現(xiàn)某些功能的能力,并不像人們想象的那么普遍。在一個團(tuán)隊中,有時我觀察到非常無能的程序員,甚至不知道一個簡單的排序算法,和在理論上非常有能力、但實施解決方案的實踐非常不足的剛畢業(yè)程序員相比,他們的工作往往事倍功半。

經(jīng)驗:模式匹配

通過使用經(jīng)驗:我的意思是一系列已經(jīng)探索完成的用于大量重復(fù)的任務(wù)解決方案。有經(jīng)驗的程序員最終知道如何處理各種子任務(wù)。這既避免了很多的設(shè)計工作,也是針對設(shè)計錯誤的非常強大的武器,但反過來卻又是簡潔的最大敵人之一。

專注:實際時間 VS 虛假時間

如果不考慮時間質(zhì)量,那么評價花費多少時間來編寫代碼是不恰當(dāng)?shù)摹?nèi)部和外部因素都可能導(dǎo)致專注度下降。內(nèi)部因素是拖延,對手邊的項目缺乏興趣(你不能做好你不喜歡的事情),缺乏運動/福祉,不好的睡眠質(zhì)量或者睡眠不足。外部因素是頻繁的會議,沒有實際辦公室的工作環(huán)境,同事經(jīng)常打擾等等。很自然的是,嘗試改善專注度和減少中斷對編程生產(chǎn)率將產(chǎn)生非邊際影響。有時為了變得專注,需要采取極端措施。例如,我只會偶爾閱讀電子郵件,并且不回復(fù)他們中的大多數(shù)。

設(shè)計上的犧牲:刪減 5%,獲得 90%

當(dāng)不愿意認(rèn)識到一個項目的非基本目標(biāo)占據(jù)了很大的設(shè)計復(fù)雜性,或者正在使另一個更重要的目標(biāo)難以實現(xiàn)時,往往會產(chǎn)生復(fù)雜性,因為在基本特征和非基本特征之間有設(shè)計張力。設(shè)計師認(rèn)識到設(shè)計中所有不容易實現(xiàn)的部分是非常重要的,即在努力和優(yōu)勢之間沒有絕對的比例。為了最大限度地實現(xiàn)產(chǎn)出而執(zhí)行的一個項目,將完全地集中在可以在合理的時間內(nèi)實現(xiàn)的方面。例如,當(dāng)設(shè)計Disque(一個消息的代理工具)時,在某些時候,我意識到通過為消息提供性能最好的順序,項目的所有其他方面都可以大大提升:可用性、查詢語言和客戶端交互、簡潔性和性能 。

簡潔性

設(shè)計時保持簡潔性,這個明顯的觀點意味著一切。為了理解什么是簡潔性,核查復(fù)雜性大多數(shù)時候是如何產(chǎn)生的是值得做的。我認(rèn)為復(fù)雜性的兩個主要驅(qū)動因素:不愿意進(jìn)行設(shè)計上的犧牲以及在設(shè)計活動中累積的錯誤。

如果在設(shè)計過程中,每次都追求錯誤的路徑,我們將離最優(yōu)解決方案越來越遠(yuǎn)。一個初始設(shè)計錯誤,在不好的方面,不會導(dǎo)致該系統(tǒng)重新設(shè)計。為了應(yīng)對初始設(shè)計錯誤,卻會導(dǎo)致另一個復(fù)雜的解決方案被設(shè)計。因此,項目在每個錯誤的步驟之后將變得更加復(fù)雜和效率低下。

實現(xiàn)簡潔性的方式是以“概念證明”來推敲,從看起來最可行和直接的解決方案開始工作,以便大量簡單的設(shè)計能在程序員腦中被探索。之后,經(jīng)驗和個人設(shè)計能力將有助于改進(jìn)設(shè)計,并為需要解決的子設(shè)計找到合理的解決方案。

然而,每次需要實現(xiàn)一個復(fù)雜的解決方案時,重要的是要長時間地推敲如何避免復(fù)雜性,只有在沒有更好的可能性的、即使考慮到完全不同的替代方案情況下,才繼續(xù)這個方向。

完美主義,或者如何扼殺你的生產(chǎn)力和影響你的設(shè)計

完美主義有兩種變體:在程序中達(dá)到最佳可衡量的性能的工程文化,以及作為一種人格特征。 在這兩種情況下,我認(rèn)為這是程序員快速交付事情的最大障礙之一。 完美主義和外部帶有偏見的觀點的恐懼帶入了一種設(shè)計偏差,導(dǎo)致僅根據(jù)心理或簡單可衡量的參數(shù)來改進(jìn)設(shè)計時可選擇項較少,其中諸如健壯性、簡潔性、及時交付的能力往往不被考慮。

知識:一些理論將會有所幫助

在處理復(fù)雜任務(wù)時,有關(guān)數(shù)據(jù)結(jié)構(gòu)的知識、計算的基本限制和非常適合于模擬某些任務(wù)的非平凡算法將對找到合適設(shè)計的能力產(chǎn)生影響。 成為一切事物的超級專家不是必需的,但是至少,知道一個問題的潛在解決方案是必需的。例如,應(yīng)用設(shè)計犧牲(接受一些誤差百分比)和清楚概率集合基數(shù)估計器可以組合在一起,以避免復(fù)雜、緩慢和記憶效率低下的用于統(tǒng)計整個流程中唯一的項目的解決方案。

底層:了解核心

即使使用高級語言,程序中的一些問題也是由于對計算機如何執(zhí)行給定任務(wù)的誤解而產(chǎn)生的。 這甚至可能導(dǎo)致需要從頭開始重新設(shè)計和重新實現(xiàn)項目,因為在使用的工具或算法中存在著根本問題。良好的 C 語言能力,了解 CPU工作原理以及關(guān)于內(nèi)核如何運行以及系統(tǒng)調(diào)用如何實現(xiàn),這些可以避免糟糕的后期意外。

調(diào)試技巧

有時候為了發(fā)現(xiàn)那些 bug 會花費大量的工作時間。善于獲取一個bug的狀態(tài)、一系列合理的解決問題的步驟、以及編寫不太可能包含太多錯誤的簡單代碼的態(tài)度,這三點對程序員的工作效率有很大的影響。

看到程序員的上述品質(zhì)如何能夠?qū)敵霎a(chǎn)生 10 倍的影響,我并不奇怪。 結(jié)合起來講,從可行的模式開始,它們允許良好的設(shè)計實現(xiàn),可以比替代方法簡單幾倍。 有一種方法可以用來強調(diào)簡潔性,我喜歡稱之為“機會主義編程”。 基本上在每個開發(fā)步驟中,選擇一系列要實施的功能,用最少的付出,以最大程度地影響程序的用戶基礎(chǔ)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編程
    +關(guān)注

    關(guān)注

    90

    文章

    3716

    瀏覽量

    97178
  • 程序員
    +關(guān)注

    關(guān)注

    4

    文章

    956

    瀏覽量

    30940
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    變頻器是否真的省電?

    變頻器作為一種電力電子設(shè)備,在現(xiàn)代工業(yè)生產(chǎn)和民用領(lǐng)域中廣泛應(yīng)用,其核心功能是通過調(diào)節(jié)電機工作頻率來實現(xiàn)轉(zhuǎn)速控制。關(guān)于“變頻器是否真的省電”這一問題,需要從技術(shù)原理、應(yīng)用場景以及實際效果三個維度綜合分析,才能得出客觀結(jié)論。
    的頭像 發(fā)表于 02-27 17:00 ?284次閱讀

    堆棧的原理揭秘

    百度百科試圖傳遞的信息翻譯為人話: 2. 為什么需要堆棧?首先,為什么需要堆棧?真的是搞計算機的那幫宅男吃飽了撐的嗎? 【編者注:必須不是!魯迅曾經(jīng)說過:“不想偷懶的程序員不是好程序員”,就算是吃
    發(fā)表于 01-23 07:08

    芯盾時代SDP助力企業(yè)應(yīng)對核心機密泄露危機

    無論你是程序員、文案、財務(wù),無論你想擼代碼、出海報、做報表,各式各樣的AI總能滿足你的需求,讓你的工作更加輕松。
    的頭像 發(fā)表于 12-26 11:49 ?664次閱讀

    大理的AI野心藏不住了——風(fēng)花雪月中千名程序員探討人工智能

    2025 年12月4日至6日第二屆CCF程序員大會暨大理人工智能與應(yīng)用國際開發(fā)者大會在大理圓滿落幕。
    的頭像 發(fā)表于 12-24 17:45 ?715次閱讀
    大理的AI野心藏不住了——風(fēng)花雪月中千名<b class='flag-5'>程序員</b>探討人工智能

    程序員最常見謊言

    了。 28我已經(jīng)測試過了,這個功能沒問題,可以上線了。 29別擔(dān)心,這個問題很快就能解決。 30代碼快寫完了,已經(jīng)完成 90% 了 。 希望大家對程序員多一些容忍以及諒解! 各位程序員你們都被我說中了哪些?說說你們的觀點
    發(fā)表于 12-10 08:24

    AI算法開發(fā),SpeedDP打輔助!不止10效率

    。而那些能夠帶來10工作效率的AI自然能夠輕松取代人類。當(dāng)然這也是相對的,不是每個領(lǐng)域都適用,廚師再快,也無法讓實物快10熟;醫(yī)生再優(yōu)秀
    的頭像 發(fā)表于 11-20 18:09 ?629次閱讀
    AI算法開發(fā),SpeedDP打輔助!不止<b class='flag-5'>10</b><b class='flag-5'>倍</b><b class='flag-5'>效率</b>

    鴻蒙是否存在可以調(diào)用中斷的API。

    當(dāng)前想要測試一下高精度定時器中斷響應(yīng)時間,沒有找到相關(guān)的API,或者是否存在API可以調(diào)用其他中斷?
    發(fā)表于 11-01 11:13

    奔赴熱AI,碼力全開!Talkweb House@1024程序員日系列活動圓滿收官

    1024程序員日”系列活動至此劃上了一個圓滿句號。本屆1024程序員節(jié)以“AI構(gòu)建世界,智能引領(lǐng)未來”為主題,廣邀技術(shù)大咖、產(chǎn)業(yè)領(lǐng)袖、企業(yè)代表與全球開發(fā)者齊聚星城
    的頭像 發(fā)表于 10-27 18:59 ?764次閱讀
    奔赴熱AI,碼力全開!Talkweb House@1024<b class='flag-5'>程序員</b>日系列活動圓滿收官

    開鴻智谷“以賽促學(xué)、以賽選才”|1024程序員節(jié)暨開源鴻蒙構(gòu)建大會圓滿落幕!

    10月24日,由開鴻智谷聯(lián)合主辦的長沙1024程序員節(jié)暨開源鴻蒙構(gòu)建大會在長沙圓滿落幕。本次活動以“湘聚長沙,共赴熱AI”為主題,通過技術(shù)分享與實戰(zhàn)競賽相結(jié)合的方式,著力培養(yǎng)“開源鴻蒙+AI”領(lǐng)域
    的頭像 發(fā)表于 10-27 17:58 ?702次閱讀
    開鴻智谷“以賽促學(xué)、以賽選才”|1024<b class='flag-5'>程序員</b>節(jié)暨開源鴻蒙構(gòu)建大會圓滿落幕!

    干擾可以提高測量精度,是真的嗎?

    ,干擾是測量的天敵,干擾會降低測量精度,嚴(yán)重情況會導(dǎo)致測量不能正常進(jìn)行,就這個角度而言,干擾可以提高測量精度,是假的! 然而,是否總是如此呢?是否存在一種情況,干擾不但不會降低測量精度,反而會提高測量精度呢? 答案是肯定
    的頭像 發(fā)表于 08-04 09:28 ?700次閱讀
    干擾可以提高測量精度,是<b class='flag-5'>真的</b>嗎?

    程序設(shè)計與數(shù)據(jù)結(jié)構(gòu)

    的地址)出發(fā),采用推導(dǎo)的方式,深入淺出的分析了廣大C程序員學(xué)習(xí)和開發(fā)中遇到的難點。 2. 從方法論的高度對C語言在數(shù)據(jù)結(jié)構(gòu)和算法方面的應(yīng)用進(jìn)行了深入講解和闡述。 3. 講解了絕大多數(shù)C程序員開發(fā)
    發(fā)表于 05-13 16:45

    解鎖智能制造:PLC遠(yuǎn)程下載如何讓設(shè)備運維效率提升10?

    解鎖智能制造:PLC遠(yuǎn)程下載如何讓設(shè)備運維效率提升10? 一、202 5 年遠(yuǎn)程運維的三大變革驅(qū)動力 政策強制: 歐盟CE新規(guī)要求:2025年起工業(yè)設(shè)備必須具備遠(yuǎn)程審計接口 中國等保2.0:工業(yè)
    的頭像 發(fā)表于 04-17 16:42 ?571次閱讀
    解鎖智能制造:PLC遠(yuǎn)程下載如何讓設(shè)備運維<b class='flag-5'>效率</b>提升<b class='flag-5'>10</b><b class='flag-5'>倍</b>?

    計算機網(wǎng)絡(luò)排錯思路總結(jié)

    明人不說暗話,這篇文章我們來聊一個非常有用,同時也是程序員必備的技能,那就是網(wǎng)絡(luò)排錯思路大總結(jié)。
    的頭像 發(fā)表于 04-01 17:32 ?886次閱讀
    計算機網(wǎng)絡(luò)排錯思路總結(jié)

    如何在 樹莓派 上編寫和運行 C 語言程序?

    ,一本很好的書是BrianKernighan和DennisRitchie所著的《TheCProgrammingLanguage》。這本書對經(jīng)驗豐富的程序員和想學(xué)習(xí)C語
    的頭像 發(fā)表于 03-25 09:28 ?1155次閱讀
    如何在 樹莓派 上編寫和運行 C 語言<b class='flag-5'>程序</b>?

    零基礎(chǔ)入門:如何在樹莓派上編寫和運行Python程序?

    是一種非常有用的編程語言,其語法易于閱讀,允許程序員使用比匯編、C或Java等語言更少的代碼行。Python編程語言最初實際上是作為Linux的腳本語言而開發(fā)的。Py
    的頭像 發(fā)表于 03-25 09:27 ?2026次閱讀
    零基礎(chǔ)入門:如何在樹莓派上編寫和運行Python<b class='flag-5'>程序</b>?