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

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

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

優(yōu)秀程序員有哪些特質(zhì)

工程師人生 ? 來源:工程師吳畏 ? 2019-08-17 11:11 ? 次閱讀

作為一個(gè)程序員,我經(jīng)常會(huì)問自己一個(gè)問題:

優(yōu)秀的程序員都具備哪些特質(zhì)?

我總結(jié)過很多特質(zhì),例如:

有解決問題的能力

有獨(dú)立思考的能力

有好奇心、有探索精神

邏輯清晰,能夠用通俗的語言把技術(shù)問題講清楚

有良好的英文閱讀能力

數(shù)學(xué)好,算法

經(jīng)過一段時(shí)間的觀察,我發(fā)現(xiàn)這上面的所有特質(zhì),都可以由一種行為習(xí)慣衍生出來,也就是如果你有以下習(xí)慣,那么你可能擁有且不限于以上所有的特質(zhì)

觀察大多數(shù)程序員的行為,朝相反的方向走

這句話也可以借用一本書的標(biāo)題(《少有人走的路》)來描述:少有程序員走的路。是的,這句話的邏輯也很明顯,和“優(yōu)秀的人總是少數(shù)一樣”

優(yōu)秀的程序員總是少數(shù)

如果你的行為和大多數(shù)程序員一樣,那么你很可能不會(huì)成為一個(gè)優(yōu)秀的程序員。

所以,如果你想成為一個(gè)優(yōu)秀的程序員,你首先需要拿出一個(gè)本子,記錄一下大多數(shù)程序員的特質(zhì),然后分析下,反向行事是否會(huì)讓自己更有競(jìng)爭(zhēng)力,下面我說幾個(gè)我觀察到的現(xiàn)象:

大多數(shù)程序員都喜歡談?wù)?a href="http://www.wenjunhu.com/v/tag/1315/" target="_blank">編程語言

編程語言是程序員談?wù)摰米疃嗟?a href="http://www.wenjunhu.com/v/tag/" target="_blank">話題,他們喜歡討論哪個(gè)編程語言更有優(yōu)勢(shì),關(guān)注編程語言的排行,正因?yàn)榇?,有一部分人?huì)以不斷學(xué)習(xí)新的編程語言為樂,以此作為區(qū)別于普通程序員的憑證。相反,另一部分人由于經(jīng)驗(yàn)不足,區(qū)分不了具體哪個(gè)語言才是最適合自己的,從而遲遲不肯行動(dòng),陷入無限的糾結(jié)中。有時(shí)不同編程語言的陣營(yíng)間還會(huì)產(chǎn)生口角,這種現(xiàn)象被視為對(duì)各自信仰的捍衛(wèi),進(jìn)而還會(huì)引起大多數(shù)人的圍觀。

大多數(shù)人都把注意力放在編程語言這一層面上,最大的原因可能是因?yàn)榫幊陶Z言是通往程序世界的大門,它也是最實(shí)用的工具,學(xué)會(huì)了一門編程語言,就可以用一種新的方式和計(jì)算機(jī)進(jìn)行交互了。

但這和現(xiàn)實(shí)世界不同,現(xiàn)實(shí)世界中,學(xué)好一門外語,相當(dāng)于打開了一個(gè)新的世界,例如學(xué)好了英語,你便可以自由穿梭在以英語為母語的國家中,了解他們的文化和歷史,掌握第一手外文知識(shí),從而能夠幫助你更好的決策,可以說多掌握一門外語能讓你的認(rèn)知獲得線性增長(zhǎng)。相反,在計(jì)算機(jī)世界,你多學(xué)一門語言,它不會(huì)給你帶來1+1=2的效果,因?yàn)楸举|(zhì)上,我們的目的不是學(xué)更多編程語言,而是利用計(jì)算機(jī),幫助我們完成具體的任務(wù),要知道同樣的一個(gè)任務(wù),甚至可以用好幾種不同的語言來實(shí)現(xiàn)。

曾經(jīng)看過一個(gè)問題,提問人可能是新人,他問:我想學(xué)編程,但不知道先學(xué)Python還是Javascript?;卮鸬娜司透嬖V他:你用來糾結(jié)的這些時(shí)間,說不定早就可以學(xué)會(huì)其中一門了。

是的,優(yōu)秀的程序員不會(huì)把大量的時(shí)間放在編程語言上,因?yàn)樗麄儠?huì)把注意力放在更重要的事情上。

大多數(shù)程序員都不重視基礎(chǔ)

有句話在業(yè)界特別流行,那就是

從小不努力,長(zhǎng)大做IT

這句話的意思是,IT行業(yè)的門檻非常低,任何人只要學(xué)完一門編程語言就可以入行了,更深層次的意思是IT工作都是重復(fù)性的勞動(dòng),并不需要太有創(chuàng)造力的人才。

聊天時(shí)經(jīng)常會(huì)聊到算法的話題,例如“算法在工作中到底重不重要”,很多人給出的答案是不重要,理由是因?yàn)槿粘9ぷ髦谢居貌坏?。這又是一個(gè)典型的實(shí)用主義答案,同時(shí)它也極具迷惑性,因?yàn)椤叭粘9ぷ髦杏貌坏健钡拇_是事實(shí),但這個(gè)事實(shí)并不能推導(dǎo)出算法不重要這個(gè)結(jié)論。

算法很重要,就像數(shù)學(xué)是所有學(xué)科的基礎(chǔ),所以數(shù)學(xué)很重要一樣,算法是一個(gè)系統(tǒng)的靈魂,是不同軟件之間拉開差距的籌碼,最典型的例子就是谷歌搜索引擎,它當(dāng)年就是依靠著名的PageRank算法使其與市場(chǎng)上的其他搜索產(chǎn)品拉開差距的,該算法直接影響的是搜索體驗(yàn),大概率的把人們想要的結(jié)果排在前面。

提升算法能力不僅可以幫軟件提升競(jìng)爭(zhēng)力,而且還可以提升我們的邏輯思維能力,人和人之間的差異其實(shí)就在于思維能力的差異,如果你每天都在敲if 。.. else這類的代碼,你的思維能力不會(huì)有多大的變化,但在人工智能時(shí)代,你時(shí)不時(shí)琢磨一下監(jiān)督學(xué)習(xí),非監(jiān)督學(xué)習(xí)中的算法,我想你的未來一定會(huì)更美好把。

算法只是基礎(chǔ)中的一類,操作系統(tǒng)的原理、TCP/IP協(xié)議、MySQL中的Innodb引擎、Redis實(shí)現(xiàn)原理、Reactor網(wǎng)絡(luò)模型等都屬于基礎(chǔ),你可能覺得這些都很難啃,但據(jù)統(tǒng)計(jì),基礎(chǔ)知識(shí)只占一個(gè)人所學(xué)全部知識(shí)的3-5%,牢牢掌握這些基礎(chǔ)知識(shí),是你在日新月異的知識(shí)海洋中以不變應(yīng)萬變的法寶。

大多數(shù)程序員不重視效率的提升

如果你在一個(gè)互聯(lián)網(wǎng)公司,你可能會(huì)這樣調(diào)侃你的程序員同學(xué):

你工作不飽和啊,bug解完了嗎?

下面的對(duì)話也是常有的:

A:在干嘛呢?

B:苦逼加班解bug呢。

你也許看出來了,大多數(shù)程序員常常受限于解bug的惡性循環(huán)中——以前版本的bug還沒解完,新功能上線又出現(xiàn)一堆bug。解bug是一件特別阻礙生產(chǎn)力的事情,它是一件副產(chǎn)品,理論上員工應(yīng)該把大部分精力都用在開發(fā)上,而大多數(shù)公司卻在維護(hù)軟件的穩(wěn)定性上付出了巨大的成本。

很多員工都抱怨自己工作那么辛苦,工資卻不高,但他們卻沒有想過這個(gè)結(jié)果是怎么造成的,他們可能沒有考慮過自己投入的時(shí)間能給公司帶來多大的收益,如果把大部分時(shí)間都用來解bug,其實(shí)產(chǎn)出不僅是零,還是負(fù)的,你說公司會(huì)給你漲工資嗎。

以我觀察的來看,真的是這樣的現(xiàn)象,開發(fā)過程中我們特別在乎一個(gè)產(chǎn)品的開發(fā)時(shí)間,希望盡可能的完成開發(fā)并發(fā)布產(chǎn)品,例如希望一個(gè)月完成,但卻忽略了產(chǎn)品發(fā)布后,可能需要十個(gè)月甚至更多的時(shí)間來維護(hù)它,這真的是一個(gè)本末倒置的怪圈。

相反,如果每個(gè)人都有意識(shí)提升自己的工作效率,提升自己的出品質(zhì)量,把更多時(shí)間投入到有價(jià)值的事情上,我想公司的業(yè)績(jī)不會(huì)差,公司賺錢了,你的工資也不會(huì)低。你可能會(huì)問如何才能提升工作效率,其實(shí)也很簡(jiǎn)單,做每件事之后,都要反思:

還有更簡(jiǎn)單的方法嗎?

我該如何才能減少bug的數(shù)量呢?

做這件事有通用的解決方案嗎?

大多數(shù)程序員都不利用業(yè)余時(shí)間進(jìn)行探索

探索和人的一個(gè)重要的特質(zhì)相關(guān),就是自主性(initiative),不僅是我,我相信大多數(shù)領(lǐng)導(dǎo)都喜歡和有自主性的下屬一起共事,不僅是因?yàn)樗麄兿∪?,同時(shí)還因?yàn)檫@樣的下屬會(huì)主動(dòng)去解決問題,可以在組織中極大的減少溝通和管理成本。

剛開始工作時(shí),我就發(fā)現(xiàn)公司鮮有人會(huì)利用業(yè)余時(shí)間學(xué)習(xí)了,當(dāng)時(shí)以為換一個(gè)技術(shù)更好的公司會(huì)有所改變,技術(shù)學(xué)習(xí)氛圍會(huì)好一些,誰知道這些都是自己的幻想,糾其原因可能是因?yàn)槿硕枷矚g過得安逸一點(diǎn),或者以平時(shí)已經(jīng)很忙了為借口,在工作之外就不再學(xué)習(xí)了。平時(shí)不學(xué)習(xí)會(huì)造成什么后果呢,最直接的就是解決問題的能力低下,這些人只能解決領(lǐng)導(dǎo)規(guī)定范圍內(nèi)的問題,超出這個(gè)范圍,一旦出現(xiàn)問題,要么掩蓋,要么規(guī)避,反正不會(huì)及時(shí)的從根本上去解決,不是因?yàn)椴幌耄且驗(yàn)閴焊筒粫?huì)。

對(duì)于程序員來說,學(xué)習(xí)包括看書和看代碼,如果你每天抽一個(gè)小時(shí)時(shí)間看書,估計(jì)你可以超過90%的人,同時(shí)你花時(shí)間去研究github上優(yōu)秀的代碼,那么剩下的人群中的90%也會(huì)被你甩在身后。

在這方面,我自己是有切身體會(huì)的,剛參加工作前,我是個(gè)零代碼量的人,由于經(jīng)驗(yàn)非常欠缺,我?guī)缀醢阉袠I(yè)余時(shí)間都用來研究同事寫的代碼上了,看完這些代碼,業(yè)務(wù)邏輯是很清楚了,但仍然無法判斷這些代碼是否寫得足夠好,因?yàn)槲也恢篮玫拇a是怎么樣的,當(dāng)時(shí)還沒有g(shù)ithub這樣好的學(xué)習(xí)環(huán)境,只能從書中找答案。隨后便花了不少時(shí)間讀完了《C++ Primer》、《Unix環(huán)境高級(jí)編程》、《設(shè)計(jì)模式》、《深入淺出MFC》這4本書,最后在第二年,我憑借一己之力在2個(gè)月內(nèi)把部門的核心代碼重構(gòu)了,由于覆蓋了大量的單元測(cè)試,幾乎沒有給我?guī)硎裁碽ug,要知道在這之前這些代碼是4個(gè)人花了2個(gè)季度才完成的,不僅如此,這些成績(jī)還幫我在新的公司收獲了“工資翻倍”。

讀優(yōu)秀的代碼可以讓自己獲得飛速的成長(zhǎng),就像游戲中的打怪升級(jí),優(yōu)秀的代碼是大boss,一次可以讓你提升10個(gè)等級(jí)。這個(gè)過程不可逆,因?yàn)槊客瓿梢淮?,你都非常清楚的知道自己再也不?huì)寫以前那種爛代碼了,這根本就是碾壓過去的自己。當(dāng)你“升級(jí)”后,再回過頭去看公司里大多數(shù)人的代碼,就可以得出和我一樣的結(jié)論——他根本就沒讀過好的代碼。

總結(jié)

“看大多數(shù)程序員的行為,然后朝相反的方向走”,其實(shí)是一個(gè)更為抽象的方法論,能幫你把不同的特質(zhì)聯(lián)系起來,從而可以更方便的不斷提醒自己不要走偏。類似的行為遠(yuǎn)不止這四個(gè),例如大多數(shù)程序員英文都不好,大多數(shù)程序員不擅長(zhǎng)溝通,大多數(shù)程序員不學(xué)他們認(rèn)為的“無用之學(xué)”(例如哲學(xué)、經(jīng)濟(jì)學(xué)、管理學(xué)等),大多數(shù)程序員不寫B(tài)log,大多數(shù)程序員沒有自己的產(chǎn)品等等。

一般擁有自己的產(chǎn)品程序員生活都會(huì)很美好,這里的例子舉不勝舉,例如微信之父張小龍就是以Foxmail一舉成名的,說到這里,我好像也沒做到:)所以,下一次你問我在干嘛,我肯定不會(huì)說我在解bug:我在琢磨自己的產(chǎn)品呢。

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

    關(guān)注

    4

    文章

    953

    瀏覽量

    29825
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    阿里云升級(jí)通義靈碼AI程序員,全面上線

    近日,阿里云宣布其備受矚目的通義靈碼AI程序員已正式全面上線,為開發(fā)者帶來更為強(qiáng)大和便捷的編程輔助工具。 此次上線的通義靈碼AI程序員,在功能上實(shí)現(xiàn)了全面升級(jí)?,F(xiàn)在,它支持VS Code
    的頭像 發(fā)表于 01-09 11:16 ?252次閱讀

    TMS320C6000程序員指南

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

    TMS320C55x DSP CPU程序員參考補(bǔ)充

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

    UCD3138A64/UCD3138128程序員手冊(cè)

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

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

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

    Linux驅(qū)動(dòng)程序程序員指南

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

    AI編程工具會(huì)不會(huì)搶程序員飯碗

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

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

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

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

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

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

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

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

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

    適者生存,程序員最終會(huì)流向哪……

    程序員沒有永遠(yuǎn)的護(hù)城河?。【湍壳暗幕ヂ?lián)網(wǎng)大環(huán)境來看,it行業(yè)已經(jīng)是……
    的頭像 發(fā)表于 03-11 17:11 ?424次閱讀
    適者生存,<b class='flag-5'>程序員</b>最終會(huì)流向哪……

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

    花期太短。技術(shù)迭代快,年齡大容易失業(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èi)下載
    發(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 ?848次閱讀
    2024<b class='flag-5'>程序員</b>的未來方向如何走?還看今朝