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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

怎樣成為頂尖的程序員

工程師人生 ? 來源:簡書網(wǎng) ? 作者:易懂程序猿 ? 2019-11-06 16:12 ? 次閱讀

在IT行業(yè)飛速發(fā)展的時代,有過的程序員,有些成為程序員心中的大神,那么那些成為大神的程序員們是因為什么成為大神的呢?今天小編就和大家說說,希望那些想要進入程序員界的小白或者剛學編程的伙伴們認真看看。

在《The Effective Engineer》的作者在寫書的過程中,為了了解那些頂級程序員和普通程序員的區(qū)別,采訪了很多硅谷頂級科技公司的頂尖軟件工程師。他發(fā)現(xiàn)這些給世界帶來巨大影響的的工程師們至少有以下5個共同的思維模式:

1.精通代碼調試(debug)

很多人在寫代碼的過程中,經(jīng)常會有的一個問題就是:為什么我寫出來的代碼不能運行?為什么運行的結果不是我想要的?

幾乎所有的程序員寫代碼都不是一遍就能寫好的。但是頂尖的程序員非常快的就明白自己代碼的問題可能是什么。這是一個很重要的能力,但是偏偏學校里不教,面試的時候考官也不經(jīng)常提及。

那么怎么去調試代碼呢?其實核心就是以下幾個方法:

1、不妨先猜測一下到底發(fā)生了什么。2、假設你的猜測是對的,想想你的猜測會導致程序有什么結果。3、試著觀察這些結果有沒有異常的地方。4、如果你沒有發(fā)現(xiàn)異樣,那么說明你的猜測就是對的。5、如果你發(fā)現(xiàn)了異樣,那么說明你的猜測是錯的,接下來換一個猜測試試。

對于頂尖程序員來說,這個過程在腦海中就是電光火石的一瞬間。只要你解決的問題足夠多,你做出來的猜測就會越準確。

至于如何發(fā)現(xiàn)異樣?你就需要有一套自己的工具或者方法論了。最簡單的就是在代碼里輸出日志來判斷。但是這是比較笨的辦法,你需要去接觸一些高級的工具或者直接帶有Debug功能的編輯器。

2.優(yōu)化你的迭代速度

假設你要花12秒鐘去搜索某個函數(shù)是在哪里定義的。再假設你每天做這個動作60次,那么你每天就要花12分鐘去搜索函數(shù)定義。

如果你用一個好一點的編輯器,每次找到函數(shù)定義只要2秒鐘,那么你每天就會節(jié)約10分鐘。每年你就可以節(jié)約40個小時。

如果你能找到3個這樣的場景去優(yōu)化一下,那么你每年可以節(jié)約一個月的時間。想想這一個月你可以做多少有意義的事情。

再假如你在調試一個App的bug的時候,改完一次代碼都需要重啟一下App,然后點擊4、5次才能看到bug有沒有改好。那么你是不是可以先花幾分鐘設置以下,讓App一啟動就轉到顯示Bug的頁面呢?

千萬不要小看這些瑣碎的細節(jié),改善它們的回報是巨大。

3.系統(tǒng)性的思考方式

當你在寫代碼的時候,你很容易就認為只要你按照需求實現(xiàn)了指定的功能,你的代碼就寫完了。但是這其實只是冰山一角。任何沒有發(fā)布到生產(chǎn)環(huán)境的代碼都不會產(chǎn)生任何價值。

如果想寫出真正有影響力的代碼,你需要從整個系統(tǒng)去理解你的工作:

1、你的代碼和其他人寫的代碼在功能上是什么關系?2、你有沒有好好測試你的代碼?或者其他人是否很容易測試你的代碼?3、為了部署你的代碼,線上生產(chǎn)環(huán)境的代碼是不是需要改動?4、新的代碼會不會影響到已經(jīng)運行的代碼?5、在新的功能下,你的目標用戶的行為是不是你期望的?6、你的代碼有沒有產(chǎn)生商業(yè)上的影響?

這些問題都不是很容易就能回答的,但是在寫代碼的時候,你需要明白你的代碼最后會不會得到最好的結果。

4.重視能夠節(jié)約時間的工具

最近打敗人類的AlphaGo每天可以進行上百萬局的下棋訓練,我們人類一萬個小時的訓練卻需要10年之久。也就是說,電腦運行幾分鐘,可能就等于人類工作好幾年。

曾經(jīng)在Facebook擔任技術總監(jiān)的Bobby Johnson描述過,高效率的程序員都把時間花在制作工具上。

很多人也認為工具是很重要的,但是他們并沒有花時間去制作、整合自己的工具。但是,Jonson團隊最出色的員工耗費了他們1/3的時間在工具制作上,這些工具可以用來發(fā)布代碼,監(jiān)控系統(tǒng),以及能讓他們花更少的時間去做更多事情。

總之,不要花時間去做機器可以代替你去做的事情。

5.勇于去研究你不懂的代碼

一般人都不愿意去研究自己不曾接觸過的代碼,很多人都沒有嘗試就放棄了。如果你經(jīng)常去研究你沒有接觸過的代碼,你就會越來越熟悉不同的代碼結構和設計模式?,F(xiàn)在人們很容易就接觸到優(yōu)秀的開源代碼資源,你可以很方便的就下載下來做一些改動或者調試,去研究為什么代碼可以這么寫。

除了代碼之外,很多人對于陌生的工作內容也會感到恐懼。每次換工作的時候,你可能都會遇到新公司的工作內容和以前工作的內容不一樣的情況,以至于剛開始的時候工作效率沒有以前那么高。很多人甚至覺得,他們是不是騙了面試官。

其實,大家都是在學習的過程中。在一個陌生的領域,沒有人從一開始就是大神。如果你想變得越來越好,無論是寫代碼,與人溝通或者其它的技能,都是需要投入時間去學習的。
責任編輯:wv

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

    關注

    4

    文章

    952

    瀏覽量

    29817
收藏 人收藏

    評論

    相關推薦

    TMS320C6000程序員指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000程序員指南.pdf》資料免費下載
    發(fā)表于 12-24 17:19 ?0次下載
    TMS320C6000<b class='flag-5'>程序員</b>指南

    TMS320C55x DSP CPU程序員參考補充

    電子發(fā)燒友網(wǎng)站提供《TMS320C55x DSP CPU程序員參考補充.pdf》資料免費下載
    發(fā)表于 12-21 11:36 ?0次下載
    TMS320C55x DSP CPU<b class='flag-5'>程序員</b>參考補充

    UCD3138A64/UCD3138128程序員手冊

    電子發(fā)燒友網(wǎng)站提供《UCD3138A64/UCD3138128程序員手冊.pdf》資料免費下載
    發(fā)表于 12-09 14:42 ?0次下載
    UCD3138A64/UCD3138128<b class='flag-5'>程序員</b>手冊

    機械革命發(fā)布CODE AI程序員

    近日,英特爾新質生產(chǎn)力技術生態(tài)大會在成都舉行,機械革命作為重要參展商帶來了多款明星產(chǎn)品引爆全場!其中更是在AI PC軟件生態(tài)產(chǎn)品發(fā)布分論壇上,Intel、智譜、機械革命三方聯(lián)合發(fā)布了專為程序員設計的CODE AI程序員本,成為
    的頭像 發(fā)表于 11-30 10:34 ?426次閱讀

    Linux驅動程序程序員指南

    電子發(fā)燒友網(wǎng)站提供《Linux驅動程序程序員指南.pdf》資料免費下載
    發(fā)表于 11-22 15:53 ?0次下載
    Linux驅動<b class='flag-5'>程序</b><b class='flag-5'>程序員</b>指南

    AI編程工具會不會搶程序員飯碗

    AI編程工具可輔助編程,減少手動編碼,提升效率,對程序員有積極影響也有挑戰(zhàn)。程序員需深化技能、拓寬知識應對。長遠看,AI與人類程序員將共生共榮。
    的頭像 發(fā)表于 11-08 10:17 ?187次閱讀

    第五屆長沙·中國1024程序員節(jié)開幕

    據(jù)官方媒體報道,10月24日;? 第五屆長沙·中國1024程序員節(jié)在湖南湘江新區(qū)開幕;本次中國1024程序員節(jié)以“智能應用新生態(tài)”為主題。設置有岳麓對話、技術英雄會、主題峰會及賽事、展覽等活動,一場
    的頭像 發(fā)表于 10-25 15:42 ?211次閱讀

    京東上萬程序員都AI用它!

    對大模型生成代碼進行智能修復,為程序員開啟代碼漏洞修復的“自動駕駛”模式,不但減少人工接入、提高工作效率,更為企業(yè)抵御內外部各種攻擊構建起一道堅固的安全屏障,確保業(yè)務的連續(xù)性和穩(wěn)定性。 JoyCoder是京東云自主研發(fā)的一款輔助開發(fā)人員
    的頭像 發(fā)表于 07-17 16:29 ?275次閱讀
    京東上萬<b class='flag-5'>程序員</b>都AI用它!

    程序員節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎

    10月24日,程序員專屬的節(jié)日里,我們盛大開啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動!這不僅是一場視覺的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠摯邀請每一位程序員及編程愛好者,拿起你的鏡頭,記錄下那些平凡日子中的不凡瞬間,讓編程的魅力與
    的頭像 發(fā)表于 07-08 10:38 ?72次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎

    程序員節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    10月24日,程序員專屬的節(jié)日里,我們盛大開啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動!這不僅是一場視覺的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠摯邀請每一位程序員及編程愛好者,拿起你的鏡頭,記錄下那些平凡日子中的不凡瞬間,讓編程的魅力與
    的頭像 發(fā)表于 07-04 09:00 ?67次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    適者生存,程序員最終會流向哪……

    程序員沒有永遠的護城河??!就目前的互聯(lián)網(wǎng)大環(huán)境來看,it行業(yè)已經(jīng)是……
    的頭像 發(fā)表于 03-11 17:11 ?419次閱讀
    適者生存,<b class='flag-5'>程序員</b>最終會流向哪……

    薪資高、青春飯,是不是程序員=青樓?

    花期太短。技術迭代快,年齡大容易失業(yè)。 就這幾年的互聯(lián)網(wǎng)環(huán)境而言,不管是前端、Java、Android開發(fā)等等行業(yè)。已經(jīng)感受到程序員不是太卷就是工作難找,薪資過低。以前高工現(xiàn)在拿著中低程序員薪資
    發(fā)表于 03-06 21:32

    瑞薩Flash程序員V3 發(fā)布說明

    電子發(fā)燒友網(wǎng)站提供《瑞薩Flash程序員V3 發(fā)布說明.pdf》資料免費下載
    發(fā)表于 02-19 09:37 ?1次下載
    瑞薩Flash<b class='flag-5'>程序員</b>V3 發(fā)布說明

    2024程序員的未來方向如何走?還看今朝

    這幾年的IT行業(yè)想必大家已經(jīng)感受到了,Android、Java、前端等等程序員都經(jīng)歷了大廠……
    的頭像 發(fā)表于 02-02 09:45 ?836次閱讀
    2024<b class='flag-5'>程序員</b>的未來方向如何走?還看今朝

    1月18號“純鴻蒙”千帆啟航,程序員預備!

    。 如何正確看待鴻蒙? 我作為程序員來說,首先是看鴻蒙的發(fā)展、市場開發(fā)崗位、薪資以及前景。 這幾年對鴻蒙的發(fā)展情況來分析,從2019年開始鴻蒙的出來今天,華為鴻蒙取得了很大的成就。從“不兼容
    發(fā)表于 01-16 22:13