成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

那些優(yōu)秀程序員身上的共同特質(zhì)

開發(fā) 后端
你是否發(fā)現(xiàn),在我們身邊的那些優(yōu)秀程序員身上總是能找到一些共同的特質(zhì),這些特質(zhì)并非與生俱來,但卻逐漸在他們身上留下深深的烙印,這也使得他們變得與眾不同,更成為我們心目中的佼佼者。

你是否發(fā)現(xiàn),在我們身邊的那些優(yōu)秀程序員身上總是能找到一些共同的特質(zhì),這些特質(zhì)并非與生俱來,但卻逐漸在他們身上留下深深的烙印,這也使得他們變得與眾不同,更成為我們心目中的佼佼者。

[[179162]]

至少深入理解一門編程語言

學(xué)習(xí)編程和學(xué)駕駛很像,你很容易就能學(xué)會(huì)駕駛,比如,經(jīng)過一個(gè)月的駕校培訓(xùn),你就能獲得駕照,但要真正成為一名優(yōu)秀的司機(jī),卻必須經(jīng)過長時(shí)間的駕駛實(shí)踐才行,這將幫助你在頭腦中形成一套完整意識(shí)體系以應(yīng)對(duì)駕駛中所遇到的不同情況。編程也是一樣,當(dāng)程序員們作出那些優(yōu)秀的程序設(shè)計(jì)時(shí),看似自然,但它的背后卻是程序設(shè)計(jì)者們經(jīng)過長時(shí)間編程實(shí)踐之后所構(gòu)建起來的編程思維。

優(yōu)秀的程序員不僅熟練掌握一門編程語言的語法和語義,他們還會(huì)

  • 掌握這門語言的使用哲學(xué),包括那些***實(shí)踐、設(shè)計(jì)模式以及它們背后所蘊(yùn)含的原則

  • 深入理解語言的特性,每一門語言都有各自的特性,而很多新的特性還會(huì)被不斷加入到語言的***版本之中,充分了解這些特性,能夠幫助程序員更準(zhǔn)確、高效地使用它們

  • 了解語言的局限,任何程序語言都會(huì)有其局限性,這會(huì)讓我們?cè)诮鉀Q某些問題時(shí)產(chǎn)生麻煩,我們需要了解這些限制,并知道如何使用一些方法或技巧去繞過這些限制并解決問題。

  • 理解語言的缺陷,有些語言在設(shè)計(jì)之初就存在一些先天不足,比如JAVA語言中的日期處理,那些原始數(shù)據(jù)類型,可能會(huì)給你帶來一些疑惑,了解這些缺陷,并盡可能在編程中避免涉及這些缺陷,會(huì)讓你的程序在日后更易于維護(hù)。

  • 了解語言的未來,有些編程語言如新生兒般茁壯成長,如Swift、Go,有些則如青壯年般看上去年富力強(qiáng),比如Java、PHP、Python,而有些則已進(jìn)入暮年,不再受到關(guān)注,比如VB、Pascal。優(yōu)秀的程序員能很快掌握一門新的編程語言,但只有了解語言的發(fā)展方向,才能讓你更有信心地去應(yīng)對(duì)未來。

看上去有些“傻”

聽起來或許有些可笑,但那些出色的程序員往往容易給人留下“傻”的印象。他們對(duì)某些事物的看法可能顯得單純而幼稚,他們的待人接物經(jīng)常會(huì)鬧出笑話。但這些并不會(huì)阻礙他們成為一名優(yōu)秀的程序員,因?yàn)?ldquo;傻”——知道自己不夠聰明,反而能使他們變得更加強(qiáng)大。

  • 不會(huì)停止學(xué)習(xí)的腳步:認(rèn)為自己不夠聰明才會(huì)通過不斷學(xué)習(xí)去提高自己。而一旦你停止了學(xué)習(xí)的腳步,你將無法得到那些能夠讓你變得更加優(yōu)秀的方法和技能。

  • 使得他們?cè)诠ぷ髦凶兊酶訃?yán)謹(jǐn):他們會(huì)花更多時(shí)間review自己的代碼,進(jìn)行測(cè)試以保證交付的質(zhì)量。雖然過程可能并不輕松,但他們卻總是能交出令人滿意的結(jié)果,這也讓大家對(duì)他們充滿信任。

  • 幫助他們獲得更好的想法:在軟件開發(fā)領(lǐng)域,那些***的解決方案,往往需要你通過深入思考并探索盡可能多的可行方案后才能獲得。這意味著你必須具有開放的思維,而不是那些聰明人的自以為是。

他們都是現(xiàn)實(shí)主義者

相信每個(gè)人都有一顆追求***的心,程序員也不例外。然而在軟件開發(fā)中***并不存在,所謂的***只是想象中的一個(gè)瞬間狀態(tài),而它是無法達(dá)到或者即使達(dá)到也極易被摧毀的。任何一段新的代碼,一個(gè)新的功能中所存在的缺陷都可能將這種***的狀態(tài)打破,而為了達(dá)到***所付出的代價(jià)更是我們所無法承受的。那些成熟的程序員更加現(xiàn)實(shí),他們關(guān)注于如何高效地解決問題,并在此基礎(chǔ)上給用戶帶來好的感受。

優(yōu)秀的程序員懂得平衡,他們理解時(shí)間、人員等資源都是受限的,因此他們會(huì)選擇最簡(jiǎn)明有效的方法去實(shí)現(xiàn)需求或解決問題。而非為了不必要的完善和未知的將來,把一切想得過于***,反而增加了系統(tǒng)的開發(fā)和維護(hù)成本。他們不會(huì)把代碼寫得過于復(fù)雜,因?yàn)樗麄冎缊F(tuán)隊(duì)中大部分的程序員都處于中等水平,過于復(fù)雜的代碼會(huì)讓他們產(chǎn)生困惑。優(yōu)秀的程序員也深知完成即是價(jià)值的道理,他們知道從來沒有絕對(duì)的對(duì)與錯(cuò),與其長時(shí)間的關(guān)在會(huì)議室里,去討論或設(shè)想產(chǎn)品,倒不如嘗試用較小的代價(jià)去實(shí)現(xiàn)出某一個(gè)功能或產(chǎn)品,然后通過用戶的實(shí)際使用去證明它,然后在反復(fù)的迭代中不斷完善。他們尊重流程,但會(huì)靈活應(yīng)用。每個(gè)公司或團(tuán)隊(duì)都會(huì)有自己定義的開發(fā)、測(cè)試、發(fā)布流程,優(yōu)秀的程序員們尊重這些流程,但在某些時(shí)候他們也會(huì)對(duì)流程中阻礙自己效率的部分作適當(dāng)?shù)牟眉簟?/p>

優(yōu)秀的程序員都很現(xiàn)實(shí),這使得他們?cè)诓煌沫h(huán)境、團(tuán)隊(duì)、項(xiàng)目中都能快速獲得成功。他們所開發(fā)出的系統(tǒng)往往處于“較好”的狀態(tài)之下,它并不***,但卻非常穩(wěn)定。

從自己的失敗中學(xué)習(xí)

作為程序員,你不可能總是對(duì)的,你或許會(huì)錯(cuò)誤地選擇了某個(gè)技術(shù)或框架,你或許錯(cuò)誤理解了用戶提出的需求。但不經(jīng)過這些失敗,你可能永遠(yuǎn)無法得到那些正確的方法。

誠實(shí)地面對(duì)自己的錯(cuò)誤非常重要,這意味著你或者你的同伴能夠及時(shí)地去修復(fù)錯(cuò)誤,而這對(duì)你、對(duì)團(tuán)隊(duì)、對(duì)項(xiàng)目都是最有益的。而每一次的失敗也會(huì)成為一次自我提升的良機(jī),造成失敗的原因是什么?如何有效地避免失???通過及時(shí)反思,并果斷采取措施,那些失敗將成為你獲得進(jìn)步的***途徑。

然而,承認(rèn)失敗往往需要極大的勇氣,特別是在一些軟件公司,他們營造了一些不良的文化,當(dāng)產(chǎn)品出現(xiàn)問題時(shí)總是對(duì)用戶掩蓋搪塞,并想方設(shè)法蒙混過關(guān)。這對(duì)你個(gè)人無益,甚至可能因?yàn)檠诱`了問題的***解決時(shí)機(jī),而導(dǎo)致更慘重的失敗。如果你希望變得更加優(yōu)秀,那你必須具備直面失敗的勇氣,并學(xué)會(huì)從每一次失敗中獲得進(jìn)步。

很懶卻又很高效

那些優(yōu)秀的程序員有時(shí)看上去很懶,他們會(huì)在上班時(shí)間做那些與工作毫無關(guān)系的事情,比如在紙上隨意地亂涂亂畫,長時(shí)間坐在那里發(fā)呆,甚至玩手機(jī)。但一旦他們進(jìn)入編程狀態(tài),你又會(huì)發(fā)現(xiàn)他們變得像打字員般,指尖飛舞,瞬間完成他們的工作。

優(yōu)秀的程序員非常珍視自己的時(shí)間,他們會(huì)利用一切手段提高效率:

  • 常年的編程工作使他們都能熟練操作鍵盤,往往從一個(gè)程序員的打字速度上就能判斷他是否優(yōu)秀。

  • 他們能夠熟練地使用IDE,他們不依賴菜單,而是使用快捷鍵來操控代碼,從查找文件,文本編輯到格式化代碼,文本替換都盡可能使用快捷鍵,這使得他們的開發(fā)工作更加連貫,也更高效。

  • 他們善于使用或發(fā)明工具,他們尋找一切能提高效率的工具,必要時(shí)他們還自己編寫自動(dòng)化腳本、發(fā)明新的工具,從而徹底拋開那些惱人的重復(fù)勞動(dòng)或機(jī)械性工作。

編程的過程是一個(gè)深入思考的過程,而非簡(jiǎn)單的不斷敲出代碼。那些看上去很懶的優(yōu)秀程序員,他們的思維卻可能一刻不停地在運(yùn)轉(zhuǎn)著,這也是他們總是能夠給我們帶來驚喜的原因。

善于發(fā)現(xiàn)并改造輪子

今天幾乎每個(gè)程序員都知道不要重復(fù)發(fā)明輪子的道理,但問題往往是他們無法找到那個(gè)需要的輪子,或者他們無法很好地使用他們。

優(yōu)秀的程序員知道如何找到他們想要的輪子

  • 他們會(huì)用幾個(gè)與待解決問題相關(guān)的關(guān)鍵字在互聯(lián)網(wǎng)上進(jìn)行搜索。他們不僅使用國內(nèi)的搜索引擎還會(huì)想方設(shè)法借助Google、Bing等國外搜索引擎,因?yàn)楹芏嘟鉀Q方法、意見、建議往往會(huì)出現(xiàn)在國外的技術(shù)論壇中。

  • 他們會(huì)利用社交網(wǎng)絡(luò)進(jìn)行搜索,因?yàn)槟抢锿?**的信息,相比傳統(tǒng)互聯(lián)網(wǎng)搜索,你往往會(huì)得到那些更具時(shí)效性的解答。

  • 他們善于提問,互聯(lián)網(wǎng)上很少有人認(rèn)識(shí)你,所以你完全不必害羞,在Stackoverflow等社群提出你的問題,你很快就會(huì)獲得熱心人的回復(fù)。當(dāng)然對(duì)任何回復(fù)都保持友好和善意也很重要,否則沒人會(huì)愿意幫助你。

優(yōu)秀的程序員善于組合和改造輪子
雖然我們比以往任何時(shí)候都更容易得到輪子,但如何用好它們卻是另一個(gè)學(xué)問。我們往往需要一些技巧將幾個(gè)輪子組合在一起使用,必要時(shí)還需要對(duì)它們進(jìn)行一些改造。優(yōu)秀的程序員往往能通過閱讀相關(guān)的文檔、API以及代碼,快速地判斷一種技術(shù)、框架、工具是否適合自己的需要。并且憑借扎實(shí)的技術(shù)功力,他們還能基于這些輪子,改造出更強(qiáng)大、更適合自己需要的輪子。

并行工作,有效利用時(shí)間

效率可能是優(yōu)秀程序員與那些普通程序員之間***的區(qū)別,優(yōu)秀的程序員總能更快、更好地完成布置給他們的任務(wù)。這背后當(dāng)然有技術(shù)熟練度方面的原因,但我看到的另一個(gè)重要原因是,他們更善于將工作進(jìn)行切分,并充分利用時(shí)間并行地去完成他們。

程序員每天都會(huì)參與很多活動(dòng),比如參加需求討論會(huì)議,和其他開發(fā)者討論設(shè)計(jì)方案,大量的閱讀學(xué)習(xí),當(dāng)然還有編碼。很多時(shí)候,我們會(huì)按照別人的意愿,去安排自己的工作,但這對(duì)我們來說可能并不是最有效的工作方式。工作中充滿了選擇,你不可能一下子完成所有的事情,在開始之前想一想如何把時(shí)間最有效地利用起來對(duì)你來說非常重要

優(yōu)秀的程序員非常善于多線程工作,他們能夠如項(xiàng)目經(jīng)理一般,拆分并安排好自己的每一項(xiàng)工作。如果你長時(shí)間做一件事,很容易會(huì)覺得疲勞,但把幾件事切分成更小的任務(wù)后,交錯(cuò)并行地去完成它們,你便能更輕松地完成它們。就像我們?cè)谏钪?,?huì)利用坐地鐵,等公交的時(shí)間,拿出手機(jī)來獲得咨詢一樣。優(yōu)秀的程序員能將所有的可支配的時(shí)間碎片化,利用這些時(shí)間片段,他們閱讀、學(xué)習(xí)、開發(fā)、做個(gè)人項(xiàng)目......他們并不比任何人有更多的時(shí)間,只是他們更會(huì)利用時(shí)間。

具備不錯(cuò)的軟技能

你可能是一個(gè)代碼高手,但這并不足以使你成為一個(gè)優(yōu)秀的程序員,因?yàn)?strong>優(yōu)秀往往是他人對(duì)你的評(píng)價(jià),而你的老板、客戶可能都不擅長或根本不懂編程,他們往往并不會(huì)給一個(gè)只懂得編程的員工以很高的評(píng)價(jià)。當(dāng)然,我們不可能去責(zé)備一個(gè)程序員過于鉆研技術(shù),因?yàn)榧夹g(shù)發(fā)展得太快,他們需要不斷學(xué)習(xí)才能跟上技術(shù)的發(fā)展腳步。但程序員們?nèi)匀徊粦?yīng)忽視那些對(duì)他們的發(fā)展同樣重要的軟技能。優(yōu)秀的程序員往往需要具備:

  • 一定的語言表達(dá)能力,這樣才能向他人準(zhǔn)確而清晰地表達(dá)你的設(shè)計(jì)或想法

  • 學(xué)會(huì)傾聽,這樣才能獲得他人的優(yōu)秀想法或意見,幫助你取得進(jìn)步

  • 有足夠的信心成為一個(gè)***,盡管可能只是一個(gè)2,3人的團(tuán)隊(duì),但那是一個(gè)很好的開始

  • 指導(dǎo)他人的能力,教授方法和思想,而不僅僅局限于技術(shù)本身

  • 持續(xù)學(xué)習(xí)的能力,你需要不斷進(jìn)步,否則即使你曾經(jīng)優(yōu)秀,也會(huì)很難維持

  • 謙遜的態(tài)度會(huì)讓你更像是一個(gè)大師

  • 尊重每一個(gè)人的同時(shí),你也將會(huì)迎得他人的尊重

  • 敢于承擔(dān)責(zé)任,機(jī)遇往往就會(huì)隨之而來

優(yōu)秀的程序員不僅具備優(yōu)秀的技術(shù)能力,他們也往往擁有這些軟技能。在我所看到的所有項(xiàng)目中,很少會(huì)因?yàn)榧夹g(shù)原因?qū)е马?xiàng)目的失敗,而大部分的失敗往往來自于程序員們軟技能方面缺失所導(dǎo)致的團(tuán)隊(duì)協(xié)作問題。反而是那些被認(rèn)為水平一般的團(tuán)隊(duì),卻經(jīng)常能依靠著團(tuán)隊(duì)成員間的通力協(xié)作創(chuàng)造出讓人驚訝的成果來。

身邊有一些優(yōu)秀的伙伴

我認(rèn)為程序員會(huì)向著個(gè)人化、多樣性的方向發(fā)展。越來越多的個(gè)人程序員和更小的開發(fā)團(tuán)隊(duì)將會(huì)產(chǎn)生,在不同領(lǐng)域內(nèi),他們借助技術(shù)的進(jìn)步與工具的發(fā)展,能做出以前只有較大規(guī)模團(tuán)隊(duì)才能開發(fā)出的優(yōu)秀產(chǎn)品來。盡管如此,我仍然相信那些優(yōu)秀的程序員并不會(huì)成為一匹獨(dú)狼,相反的,他們身邊總是會(huì)伴隨一批同樣優(yōu)秀的伙伴。

回想我們的程序員生涯,當(dāng)我們還是一個(gè)菜鳥時(shí),身邊總會(huì)出現(xiàn)一些導(dǎo)師,他們可能是你的團(tuán)隊(duì)Leader,或負(fù)責(zé)帶你的資深程序員,那時(shí)我們那些編程時(shí)的錯(cuò)誤和缺點(diǎn)總是被無情地暴露在他們面前,經(jīng)過他們的指正或批評(píng),我們從不斷修正自己的錯(cuò)誤中獲得了成長。隨著我們技能的不斷增長,在不同時(shí)期,因?yàn)椴煌呐d趣,我們身邊的伙伴也在不斷變化,他們成了團(tuán)隊(duì)中與你能力相當(dāng)?shù)耐?,或是你所做業(yè)余項(xiàng)目中的志同道合者,又或者是你參與的開源項(xiàng)目中那些不同領(lǐng)域的專家,他們都成為了一名優(yōu)秀程序員身邊不可或缺的優(yōu)秀伙伴。這讓我想到結(jié)對(duì)編程中關(guān)于輪轉(zhuǎn)(Rotate)原則——并非固定兩人一組,而是根據(jù)任務(wù)的不同,不斷輪換搭檔。任何時(shí)候,你都需要那些優(yōu)秀的伙伴不斷帶來啟發(fā),給予指導(dǎo),一起去完成不同目標(biāo),更重要的還有坦誠地指正你的問題。與優(yōu)秀者同行,你也將變得更加優(yōu)秀。

對(duì)生活充滿熱情

有很多因素會(huì)使一名程序員走向平庸,而最最直接的便是失去對(duì)編程熱情和興趣。當(dāng)一名程序員不再能夠感受編程所能帶來的樂趣時(shí),編程對(duì)他來說,只是一項(xiàng)不得不去完成的工作,而他也將失去繼續(xù)學(xué)習(xí)的動(dòng)力,無法再與優(yōu)秀沾邊了。

我看到的那些優(yōu)秀的程序員,總是對(duì)編程充滿著熱情,每次完成一個(gè)新的功能,解決一個(gè)有難度的問題,甚至修復(fù)一個(gè)不易被發(fā)現(xiàn)的缺陷都能讓他們興奮不已,而這些又會(huì)成為他們不斷去提升技能,學(xué)習(xí)新技能的動(dòng)力。他們?cè)诓粩嗤黄谱约旱臉O限中,并從中體會(huì)編程所帶來的樂趣。

同時(shí),優(yōu)秀的程序員們也懂得生活,他們對(duì)那些新鮮事物總是充滿好奇,樂于嘗試,他們也會(huì)有各自不同的興趣愛好,攝影、寫作、旅行,亦或是游戲、追劇,他們總能很好地掌控這些興趣愛好與他們所熱愛的編程之間的關(guān)系。他們會(huì)每天有規(guī)律地完成如閱讀、學(xué)習(xí)、運(yùn)維自己的個(gè)人項(xiàng)目之后,投入到自己的其他興趣愛好之中,他們很少熬夜,這保證了他們每天都能迎來一個(gè)新鮮的開始。他們能夠掌控生活,而不是反過來被生活所控制。


優(yōu)秀程序員們的身上一定還有著更多我們所未見的特質(zhì),但歸根結(jié)底,還是內(nèi)心深處那份對(duì)于編程的熱愛與執(zhí)著,推動(dòng)著他們?nèi)ゲ粩喃@得那些天賦與才能吧......

 

文/技匠(簡(jiǎn)書簽約作者)
原文鏈接:http://www.jianshu.com/p/7f646acd0c2d

 

責(zé)任編輯:張燕妮 來源: 簡(jiǎn)書
相關(guān)推薦

2017-11-14 21:30:15

2013-04-15 10:55:09

程序員

2014-08-29 11:09:44

程序員

2013-05-24 09:14:39

國企程序員程序員

2015-08-13 08:56:40

高效程序員共同特征

2013-05-07 09:11:26

程序員程序員特征

2015-06-17 14:24:48

優(yōu)秀程序員整潔代碼

2012-05-25 10:54:24

程序員

2021-05-29 07:32:14

優(yōu)秀程序員代碼

2020-03-09 11:14:25

程序員技術(shù)設(shè)計(jì)

2015-10-12 08:56:37

程序員成長法則

2020-03-29 08:19:56

程序員代碼

2015-08-19 09:10:37

程序員面試

2018-02-06 08:36:02

簡(jiǎn)歷程序員面試

2012-11-01 13:46:54

程序員

2014-11-19 15:26:00

程序員

2013-08-05 09:55:47

程序員

2014-03-25 10:35:35

程序員代碼調(diào)試

2009-11-19 10:21:02

2015-08-03 09:09:20

程序員腦子快
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 91精品久久久久久久久99蜜臂 | 欧美日韩高清在线观看 | 天天操天天操 | 国产精品九九 | 91视频在线看 | 农村黄性色生活片 | 日韩一区二区在线视频 | 国产精品日韩在线观看 | 69电影网 | 视频一区中文字幕 | 91麻豆精品国产91久久久久久久久 | 日韩精品免费视频 | 中文字幕在线观看一区 | 一区二区三区视频在线观看 | 久久久久久网站 | 亚洲国产一区二区三区, | 亚洲a视频| 久久久国 | 精品免费国产一区二区三区四区 | 蜜桃视频成人 | 91视频91| 黄色毛片在线播放 | 日韩手机在线看片 | 日韩成人精品视频 | 中文精品视频 | 成人毛片视频在线播放 | 91视频在线观看 | 欧美精品一二区 | 羞羞视频在线网站观看 | 亚洲综合大片69999 | 在线观看国产网站 | 久久精品国产亚洲a | 国产一区久久久 | 国产高清在线精品一区二区三区 | 视频精品一区二区三区 | 中文字幕国产 | 亚洲少妇综合网 | 成人国产网站 | 欧美亚洲综合久久 | 欧美第一页 | 亚洲欧美在线观看 |