寫(xiě)了 15 年代碼,我終于總結出提升 10 倍效率的三件事

發(fā)布時(shí)間:2017-10-27 09:48    發(fā)布者:聯(lián)璧港
關(guān)鍵詞: 聯(lián)璧港
幾乎每個(gè)軟件開(kāi)發(fā)人員或程序員都見(jiàn)過(guò)其他人編寫(xiě)的代碼,說(shuō)明了“任何人都可以編碼”。但你有沒(méi)有遇到過(guò)所謂的神話(huà)般的“10倍效率的開(kāi)發(fā)人員”?作為一個(gè)10倍效率的開(kāi)發(fā)人員,在編寫(xiě)代碼方面做得很少, 更多的是知道要寫(xiě)什么代碼。
我們許多人開(kāi)始編程的時(shí)候都有特定的目的。比如,我開(kāi)始編程的時(shí)候,是讓我能在睡覺(jué)和在學(xué)校的時(shí)候自動(dòng)玩那個(gè)文字版的MUD游戲。我那時(shí)候是個(gè)寫(xiě)腳本的13歲小孩,甚至不知道什么是編程。我可能有一個(gè)想法,然后就寫(xiě)代碼并測試 - 全部靠我自己。
當我們?yōu)槠渌碎_(kāi)發(fā)軟件時(shí)就變得很困難,因為我們常常缺乏相同類(lèi)型的動(dòng)機和興奮感,而它們驅使我們追求自己的愿望。我們沒(méi)有自己的想法,而是花幾個(gè)小時(shí)在會(huì )議中嘗試了解這些想法,然后我們大部分時(shí)間都在修改別人的代碼 - 或者提交自己的代碼。這導致一定程度的隔閡,進(jìn)而降低了生產(chǎn)率。
要成為一名10倍效率的開(kāi)發(fā)人員,你必須學(xué)會(huì )在這種環(huán)境中脫穎而出,甚至創(chuàng )立自己的公司來(lái)領(lǐng)導這項工作。
任何人都可以是一個(gè)10倍效率的開(kāi)發(fā)人員,至少在每一天的某個(gè)時(shí)刻。我相信所有開(kāi)發(fā)人員都應該專(zhuān)注于提高生產(chǎn)力和團隊合作的三件事。
三件事


要成為一名10倍效率的開(kāi)發(fā)人員,你需要幾年的工作經(jīng)驗,無(wú)論使用哪種編程語(yǔ)言和工具集。你必須善于解決問(wèn)題和編寫(xiě)代碼;這是必須的。
重要的是你要明白,如何編寫(xiě)代碼并不能讓你成為10倍效率的開(kāi)發(fā)人員,10倍效率的工程師,10倍效率的程序員,或其他任何你想要的名字。
你知道5W:“誰(shuí)(Who),什么(What),在哪里(Where),為什么(Why),什么時(shí)候(When)”。雖然這些都適用于軟件開(kāi)發(fā),我想關(guān)注那三個(gè)定義了10倍效率的開(kāi)發(fā)人員的特點(diǎn)。這三項把普通開(kāi)發(fā)人員與10倍效率的開(kāi)發(fā)人員區別開(kāi)來(lái):
·     是什么(What)
·     為什么(Why)
·     什么時(shí)候(When)


知道做什么


在企業(yè)界,開(kāi)發(fā)人員經(jīng)常從事他們不太感興趣和不理解的項目。對于大多數開(kāi)發(fā)人員來(lái)說(shuō),這不是一個(gè)大問(wèn)題,只要他們收到了很好的指令,并且也得到了明確的輸出定義。
問(wèn)題是開(kāi)發(fā)人員通常沒(méi)有得到足夠的指令。相反,我們使用一種叫做“敏捷開(kāi)發(fā)” 的東西。我們收到一個(gè)記事帖,上面有幾個(gè)字,并指望我們知道到底需要做什么。
軟件開(kāi)發(fā)就是溝通。開(kāi)發(fā)人員需要知道我們在做什么,我們試圖解決什么問(wèn)題,以及到底需要什么樣的結果。我們知道的越多,就可以更快的完成。最重要的是,知道工作的目的和什么會(huì )使工作成功是很關(guān)鍵的。
水平差的開(kāi)發(fā)者會(huì )在一個(gè)項目的錯誤方向上花幾個(gè)小時(shí)而不問(wèn)任何問(wèn)題。他們就是我所說(shuō)的負10倍效率的開(kāi)發(fā)人員,因為他們一事無(wú)成,浪費了所有同事的時(shí)間。幾乎每個(gè)人都遇到過(guò)這些開(kāi)發(fā)人員,與他們一起工作會(huì )讓人感到沮喪。你一定要小心,不要養成他們的習慣!
有些開(kāi)發(fā)人員即使沒(méi)有很多細節也能很好地工作。他們有大量的創(chuàng )造力,并提出正確的問(wèn)題。這些獨角獸可能是10倍效率的開(kāi)發(fā)人員。他們知道如何解決問(wèn)題,并經(jīng)常提升整個(gè)團隊的水平。
最重要的是,10倍效率的開(kāi)發(fā)人員真的很擅長(cháng)快速地確定需要完成什么和問(wèn)什么問(wèn)題。
理解為什么


也許軟件開(kāi)發(fā)的最大障礙就是理解為什么。如果你不明白你要解決的問(wèn)題,那就很難解決了。
為什么我在睡覺(jué)和上學(xué)的時(shí)候把幾個(gè)終端腳本放在一起玩MUD游戲?當然是我想在比賽中達到最高級別。我清楚地知道為什么,我盡我所能來(lái)實(shí)現目標。
同樣的方法也適用于任何軟件開(kāi)發(fā)項目。了解他們所在的垂直行業(yè)和他們試圖解決的問(wèn)題將會(huì )使開(kāi)發(fā)人員更有效率。了解為什么和理解垂直行業(yè)也有助于防止不必要的工作,騰出時(shí)間專(zhuān)注于那些會(huì )使產(chǎn)品或功能對用戶(hù)更有價(jià)值的事情。
問(wèn)題是知道為什么還不夠。作為一個(gè)真正的10倍效率的開(kāi)發(fā)人員,你必須對這個(gè)問(wèn)題有熱情,并從里到外地了解它。我相信,大多數10倍效率的開(kāi)發(fā)人員本質(zhì)上也是產(chǎn)品人,具有良好的產(chǎn)品愿景。
知道什么時(shí)候做什么


時(shí)間對于軟件開(kāi)發(fā)項目非常重要。確定項目任務(wù)的處理順序看似容易,但卻非常關(guān)鍵。你的工作可以幫助公司獲取一個(gè)新客戶(hù)或者或清理掉舊的技術(shù)債務(wù)?
作為開(kāi)發(fā)團隊,我們必須不斷地選擇我們要做什么和什么時(shí)候做。
所有軟件開(kāi)發(fā)工作項目都屬于以下三類(lèi):
·     我們必須做的事情
·     我們需要做的事情
·     我們想要做的事情


我們必須為客戶(hù)完成新功能。我們需要修復軟件中的 bug。我們想減少些技術(shù)債務(wù)或開(kāi)發(fā)一些酷的新產(chǎn)品功能。這些都需要平衡取舍。
我們應該同時(shí)開(kāi)展所有三個(gè)維度的工作項目。我們不能把所有的時(shí)間都花在技術(shù)債務(wù)上,但也許我們應該花一小部分時(shí)間在這上面。
開(kāi)發(fā)人員還必須知道何時(shí)在其代碼中構建復雜的體系結構。我寧愿保持代碼盡可能簡(jiǎn)單,直到不添加架構就會(huì )死的時(shí)候我才會(huì )添加架構。
開(kāi)發(fā)者也必須知道什么時(shí)候避免追逐時(shí)髦的東西。他們傾向于使用新的工具和技術(shù),但是這些東西可能只會(huì )減慢一個(gè)項目,而不是更快地完成它。
10倍效率的開(kāi)發(fā)人員擅長(cháng)于優(yōu)先級排序,并了解何時(shí)將時(shí)間投入到架構中,而不是使用一坨意大利面條般的代碼來(lái)實(shí)現某種工作。請記住,你的用戶(hù)并不關(guān)心你的軟件是如何工作的,也不管該架構有多花哨。他們只想它能解決問(wèn)題。10倍效率的開(kāi)發(fā)人員理解這一點(diǎn)。
掌握是什么(What),為什么(Why),什么時(shí)候(When)成為10倍效率的開(kāi)發(fā)人員


現在讓我們來(lái)談?wù)劤蔀?0倍效率的開(kāi)發(fā)人員的重要技能:掌握是什么(What),為什么(Why),什么時(shí)候(When)。
從為什么(Why)開(kāi)始
成為10倍效率的開(kāi)發(fā)人員的第一步是對你要解決的軟件和問(wèn)題變得充滿(mǎn)熱情。你需要從里到外完全理解它。這首先是要對你工作的公司及其使命充滿(mǎn)激情。
不要因為別人告訴你要寫(xiě)一個(gè)按鈕(button),然后你就只寫(xiě)一個(gè)按鈕。努力在更高層次上去理解為什么(Why)。如果你持續關(guān)注為什么,你對你的團隊和公司會(huì )有更大的價(jià)值。
做一個(gè)好的開(kāi)發(fā)者和優(yōu)秀的問(wèn)題解決者,而不是最好的程序員
我會(huì )把自己描述成一個(gè)黑客開(kāi)發(fā)者。我是那種能很快把一些丑陋的代碼拼湊起來(lái)并解決幾乎任何問(wèn)題的人。我的代碼很少是美麗的,但它能解決問(wèn)題。這才是最重要的。
你不必編寫(xiě)完美的代碼與單元測試來(lái)成為一個(gè)10倍效率的開(kāi)發(fā)人員。你需要知道什么時(shí)候要做和什么時(shí)候不做這些事情。
一個(gè)10倍效率的開(kāi)發(fā)人員擅長(cháng)解決特定的問(wèn)題,并通過(guò)代碼滿(mǎn)足業(yè)務(wù)需求。你能做的最聰明的事情就是在你把項目交給其他人(他們更善于最后敲定一些架構和其他一些細節)之前就知道它能走多遠。
什么時(shí)候(When)在你的內心,或者不在

知道什么時(shí)候要建立一個(gè)復雜的架構,而不是拼湊一些東西,需要經(jīng)驗和你蜘蛛俠般的感官。你要么有這種感覺(jué),要么你根本不知道。
我曾與一些最聰明的開(kāi)發(fā)者共事過(guò),他們總是很糟糕的優(yōu)先考慮模式和架構,而不是功能和排期。他們總是過(guò)度實(shí)現或者一遍遍重構,爭取“完美的代碼”,而不是 “可交付的代碼”。
10倍效率的開(kāi)發(fā)人員必須利用他們的經(jīng)驗和本能來(lái)知道什么時(shí)候要專(zhuān)注于架構和完美,什么時(shí)候就是把事情搞定。
知道該做什么(What to Do)和該問(wèn)什么(What to Ask)
許多軟件開(kāi)發(fā)歸結于溝通技巧?上У氖,在我們要工作的項目上許多注釋和要求都不是很詳細。一個(gè)10倍效率的開(kāi)發(fā)人員知道如何閱讀這些,應用他們知道的業(yè)務(wù)里的 “為什么”,并提出相關(guān)的問(wèn)題。
最好的開(kāi)發(fā)者知道在尋求幫助之前要在某件事情上花多少時(shí)間。他們也知道要問(wèn)什么問(wèn)題,以闡明需求來(lái)推進(jìn)項目。
結論


我已經(jīng)寫(xiě)了超過(guò)15年的代碼?梢哉f(shuō)我是一個(gè)10倍效率的開(kāi)發(fā)人員,或者至少我能。我知道我擅長(cháng)什么,當我做我擅長(cháng)的事情時(shí),我可以很快地完成大量的工作。
如果你想做一個(gè)新產(chǎn)品的原型,我就是你要找的人。如果你需要尋求Angular,React或其他一些 前端的幫助,我絕對不是你要找的家伙。在這些任務(wù)上我將是一個(gè)負10倍效率的開(kāi)發(fā)人員。
10倍效率的開(kāi)發(fā)人員不是一個(gè)神話(huà)。他們確實(shí)存在。他們很可能是開(kāi)發(fā)經(jīng)理、架構師、首席開(kāi)發(fā)人員或公司創(chuàng )始人。如果他們不是的話(huà),他們應該轉變。我后來(lái)成為了公司的創(chuàng )始人,到現在為止都兩次了。
當然,沒(méi)有人能在每一天的每個(gè)時(shí)候都是一個(gè)10倍效率的開(kāi)發(fā)人員。我們沒(méi)有精力或專(zhuān)注力每天以這樣的速度工作。我們不是機器人。
如果你理解軟件開(kāi)發(fā)的“是什么(What),為什么(Why),什么時(shí)候(When)”,你就可以是一個(gè)更有效率和更好的團隊成員–甚至是一個(gè)每天幾個(gè)小時(shí)內的10倍效率的開(kāi)發(fā)人員。這會(huì )有很大的不同。
聯(lián)璧港,免費SaaS平臺,提供SDK、API海量資源,歡迎免費入駐SaaS平臺
官網(wǎng):http://lbp.lincomb.com/

本文地址:http://selenalain.com/thread-518548-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页