偉大程序員與優(yōu)秀程序員之間的很大區(qū)別
有趣的是,技術(shù)專長(zhǎng)并不是其中之一。
如果編寫代碼是一門科學(xué),那么所有開發(fā)人員幾乎都是一樣的。 但事實(shí)并非如此。
就像在藝術(shù)中一樣,在追求相同結(jié)果的過程中,沒有兩個(gè)開發(fā)人員具有相同的想法或看法。 盡管有些人努力產(chǎn)生期望的結(jié)果,但對(duì)于少數(shù)人來說,這幾乎是自然而然的,就像頓悟在他們開始編寫代碼或解決問題的那一刻擊中了他們一樣。
在一篇博客文章中,軟件工程專家之一史蒂夫·麥康奈爾(Steve McConnell)談到了Sackman,Erikson和Grant在1960年代后期進(jìn)行的原始研究。 他們發(fā)現(xiàn),最好的程序員和最差的程序員之間的初始編碼時(shí)間比例約為20:1。最有趣的是,他們發(fā)現(xiàn)程序員的經(jīng)驗(yàn)與代碼質(zhì)量或生產(chǎn)率之間沒有任何關(guān)系。
簡(jiǎn)單來說,編寫好的代碼并不是使優(yōu)秀的程序員與優(yōu)秀的程序員區(qū)分開的唯一因素。
好。 讓我們首先從優(yōu)秀的程序員開始。 誰是一個(gè)好的程序員?
- 他們具有出色的技術(shù)技能,并編寫簡(jiǎn)潔明了的代碼。
- 他們具有扎實(shí)的開發(fā)技術(shù)知識(shí)和解決問題的專業(yè)知識(shí)。
- 他們了解編程優(yōu)秀實(shí)踐以及何時(shí)使用它們。
- 他們對(duì)編程懷有持久的熱情,并努力為團(tuán)隊(duì)做出貢獻(xiàn)
- 他們受到團(tuán)隊(duì)其他成員的尊重和喜歡
因此,如果您是一名程序員并且具有上述所有特征,那么恭喜!!! 你是一個(gè)優(yōu)秀的程序員。 為此感到自豪。
現(xiàn)在來到偉大的。
- 他們很少見。
- 他們的生產(chǎn)率是優(yōu)秀程序員的3倍,是劣質(zhì)程序員的10倍。
簡(jiǎn)而言之,偉大的程序員=優(yōu)秀的程序員 + 一系列無形的特征。
雖然這并不容易,但是如果您有足夠的投入,那么這里就是您可以培養(yǎng)的無形特征,這些特征可以使您從成為一名優(yōu)秀的程序員到成為一名優(yōu)秀的程序員。
他們具有突出的學(xué)習(xí)能力。
他們思想敏銳,這意味著他們具有學(xué)習(xí)新技術(shù)的能力,不會(huì)被新技術(shù)嚇到。
他們有能力整合看似完全不同的信息并即時(shí)處理信息。 每個(gè)程序員肯定都會(huì)遇到他/她不知道答案的情況。 優(yōu)秀的程序員會(huì)發(fā)現(xiàn)不同的資源,與合適的人交談,并找到解決方案,無論它看起來多么不可能。 任何人都可以擁有的最好的技能是知道如何學(xué)習(xí),并且優(yōu)秀的程序員已經(jīng)掌握了自學(xué)技能。
優(yōu)秀的程序員不會(huì)讓自己的自我介于工作和學(xué)習(xí)過程之間。 如果他需要了解一些知識(shí),他將與該層次結(jié)構(gòu)中的任何人接觸。 從最低到最高。
他們?cè)趯?shí)用主義和完美主義之間取得了平衡。
Etsy的首席技術(shù)官John Allspaw在他的文章"成為高級(jí)工程師"中指出了一個(gè)很好的觀點(diǎn)。 他說,頂尖的開發(fā)商是健康的懷疑論者,他們?cè)诠ぷ鲿r(shí)往往會(huì)問自己和同行的問題。
"我可能會(huì)想念什么?"
"這怎么行?"
"您是否會(huì)在我對(duì)此的思考中盡可能多地打洞?"
"即使從技術(shù)上講,它是否足以讓組織的其余部分進(jìn)行操作,故障排除和擴(kuò)展?"
這些問題背后的想法是,他們完全了解同行評(píng)審的重要性,僅通過扎實(shí)的同行評(píng)審,才能做出好的設(shè)計(jì)決策。 因此,他們"乞求"這個(gè)壞消息。 優(yōu)秀的程序員往往會(huì)不信任自己的代碼,除非他們對(duì)其進(jìn)行了廣泛的測(cè)試。
話雖如此,他們還具有了解市場(chǎng)動(dòng)態(tài)以及盡早發(fā)貨產(chǎn)品的能力。 因此,他們有能力進(jìn)行快速,骯臟的黑客攻擊,并提供優(yōu)雅,精致的解決方案,并具有選擇適合于特定情況的智慧。
一些較小的程序員將對(duì)某些問題所需的細(xì)節(jié)缺乏過多的關(guān)注。 其他人則陷入完美主義模式。 優(yōu)秀的程序員可以完美地平衡兩者。
他們直覺敏銳
在《尼科馬奇?zhèn)惱韺W(xué)》的第六本書中,著名的哲學(xué)家和政治家亞里斯多德討論了人們獲得真正的知識(shí)并因此在他們所做的一切成功中都需要具備的五種能力中的第四種:直覺。
亞里士多德的觀點(diǎn)很簡(jiǎn)單。 直覺是我們開始了解一切的方法,直覺獲得的知識(shí)必須錨定所有其他知識(shí)。 實(shí)際上,這種獲取知識(shí)的方法是如此基礎(chǔ),以至于不可能有正當(dāng)理由。 那是因?yàn)閼{直覺獲得的知識(shí)并非基于一系列事實(shí)或結(jié)論的推理路線。 取而代之的是,我們僅通過內(nèi)省和立即意識(shí)就知道了直覺真理。
從史蒂夫·喬布斯(Steve Jobs)到理查德·布蘭森(Richard Branson)到沃倫·巴菲特(Warren Buffet),這些直觀的人通常都能成功地做任何事情,因?yàn)樗麄兛梢员绕渌烁宄乜吹绞挛锊⒏斓卣业浇鉀Q問題的優(yōu)秀方法。 毫無疑問,所有這些人都擁有大量的專業(yè)知識(shí)和經(jīng)驗(yàn)。 但是他們似乎也很自然地?fù)碛兄庇X,這使他們能夠掌握復(fù)雜問題的實(shí)質(zhì)并找到無法解決的正確解決方案。
優(yōu)秀的程序員通常基于其豐富的經(jīng)驗(yàn)和良好的開發(fā)意識(shí),對(duì)算法,技術(shù)和軟件體系結(jié)構(gòu)具有直觀的了解。 他們能夠一目了然地了解其武器庫中最適合當(dāng)前問題的工具。 而且它們的直觀能力遠(yuǎn)遠(yuǎn)超出了開發(fā)和編碼范圍。 這使他們?cè)谂c非專業(yè)人士和專業(yè)觀眾一起闡明技術(shù)和非技術(shù)問題時(shí)具有很高的通用性。
他們是有遠(yuǎn)見的人,他們樂于挑戰(zhàn),并且在追求卓越時(shí)通常會(huì)尋求打破自己的準(zhǔn)則(在別人之前)。
他們是主要的溝通者。
Damien Filiatrault正確地說。
"良好的溝通能力與良好的開發(fā)技能直接相關(guān)。"
為了使您的想法得到傳播,您需要使其變得簡(jiǎn)單并盡可能明確地進(jìn)行交流。 聽起來很簡(jiǎn)單? 是不是 但是不幸的是,這種缺乏清晰度是工作中所有麻煩的根本原因。 這是由于一種稱為"知識(shí)的詛咒"的現(xiàn)象。
1990年,斯坦福大學(xué)心理學(xué)系的一名叫伊麗莎白·牛頓的學(xué)生通過研究一個(gè)簡(jiǎn)單的游戲來說明知識(shí)的詛咒,在游戲中她將人們分配給兩個(gè)角色之一:"敲擊者"或"聽眾"。 要求每個(gè)敲擊者挑選一首著名的歌曲,例如"生日快樂",并在桌子上挖掘出節(jié)奏。 聽眾的工作是猜測(cè)歌曲。
在牛頓的實(shí)驗(yàn)過程中,共播放了120首歌曲。聽眾只能正確猜出三首歌曲:成功率為2.5%。但是在他們猜測(cè)之前,牛頓讓敲擊者預(yù)測(cè)聽眾正確猜測(cè)的可能性。他們預(yù)測(cè)為50%。敲擊者在40分之一時(shí)間內(nèi)獲得了信息,但他們認(rèn)為他們將在2分之一時(shí)間內(nèi)得到了信息。為什么?
當(dāng)敲擊者敲擊時(shí),她無法避免聽到敲擊聲。 同時(shí),聽眾只能聽到一種奇怪的莫爾斯電碼。 然而,對(duì)于聽眾必須努力工作以調(diào)取樂曲的方式,敲擊者卻感到驚訝。
問題是,一旦我們知道了某件事(例如一首歌的旋律),我們就很難想象不知道它。 我們的知識(shí)已經(jīng)"詛咒"了我們。 我們很難與他人共享它,因?yàn)槲覀儫o法輕易重新建立他們的心態(tài)。
這就是為什么優(yōu)秀的程序員總是在向團(tuán)隊(duì)傳達(dá)信息后才確認(rèn)。 他們還可以清楚地理解問題,將其分解為假設(shè),并有凝聚力地提出解決方案。 他們可以快速理解概念或提出正確的問題以進(jìn)行理解,最重要的是,他們不需要一丁點(diǎn)的記錄在文檔中。
因此,如果您想成為一名優(yōu)秀的程序員,則需要確保您與團(tuán)隊(duì)之間進(jìn)行有效的溝通。 這不僅可以使您承擔(dān)更高的責(zé)任,還可以向您的上司展示您對(duì)提供優(yōu)質(zhì)產(chǎn)品的真正興趣和投資。
最后的想法。
因此,正如您在這里看到的那樣,要成為本領(lǐng)域中的佼佼者,您不需要花哨的學(xué)位甚至是金錢都可以進(jìn)行投資。
您所需要的只是學(xué)習(xí)的態(tài)度,發(fā)瘋的好奇心以及根據(jù)您多年來積累的知識(shí)將事物聯(lián)系起來的直觀能力。 同樣重要的是,需要養(yǎng)成健康的積極態(tài)度,摒棄自我,并有容忍采取回應(yīng)并采取行動(dòng)的能力。 一旦完成所有這些操作,我保證您會(huì)實(shí)現(xiàn)卓越。
正如鮑勃·馬利(Bob Marley)所說:
"一個(gè)人的偉大不是在于他獲得了多少財(cái)富,而是在于他的正直和能夠積極地影響周圍的人的能力。"