成為一名優(yōu)秀的軟件工程師是每一個(gè)軟件工程師的目標(biāo),但是在實(shí)際中,優(yōu)秀的軟件工程師和一般的軟件工程師的表現(xiàn)肯定是參差不齊的,這是什么原因造成的呢?這是一個(gè)我們必須反思的問(wèn)題,同時(shí)還是一個(gè)關(guān)乎團(tuán)隊(duì)建設(shè)和個(gè)人成長(zhǎng)的重要問(wèn)題。Katsuya Noguchi總結(jié)了優(yōu)秀的軟件工程師和一般的軟件工程師的不同表現(xiàn),為如何成長(zhǎng)為優(yōu)秀的軟件工程師提供了啟發(fā)和指導(dǎo)。

  現(xiàn)對(duì)這些不同點(diǎn)進(jìn)行了整理更新,具體內(nèi)容如下:

 1、編寫(xiě)高質(zhì)量的代碼

  良好的編程習(xí)慣不但有助于代碼的移植和糾錯(cuò),也有助于不同技術(shù)人員之間的協(xié)作。優(yōu)秀的軟件工程師都具有良好的編程習(xí)慣,他們編寫(xiě)盡量少的代碼即可滿(mǎn)足需求,還能夠引入恰當(dāng)?shù)某橄髮哟?,重?gòu)代碼,將業(yè)務(wù)邏輯和其他程序邏輯分離。

  一般的軟件工程師編寫(xiě)不出高質(zhì)量的代碼,他們只關(guān)心自己的代碼是否能夠達(dá)到預(yù)期的輸出結(jié)果,只要有輸出結(jié)果,就認(rèn)為自己的任務(wù)完成了,根本不在乎代碼的可維護(hù)性和可讀性。

 2、快速、高質(zhì)量的產(chǎn)出

  優(yōu)秀的軟件工程師能夠在代碼質(zhì)量和開(kāi)發(fā)所耗時(shí)間上做出很好的權(quán)衡,能夠嚴(yán)格控制技術(shù)風(fēng)險(xiǎn),不斷完善自己,能夠在有限的時(shí)間內(nèi)寫(xiě)出高質(zhì)量的代碼。

  一般的工程師寫(xiě)出的代碼質(zhì)量很低,還聲稱(chēng)是最優(yōu)的設(shè)計(jì),時(shí)間限制常常是他們怠工的借口。他們的代碼會(huì)給企業(yè)帶來(lái)很大的負(fù)擔(dān),并給團(tuán)隊(duì)成員留下一大堆問(wèn)題。

 3、解決問(wèn)題能力

  優(yōu)秀的軟件工程師不會(huì)盲目地編寫(xiě)項(xiàng)目代碼,他們會(huì)確定每個(gè)問(wèn)題的目標(biāo),找出問(wèn)題的根本原因,并找到解決問(wèn)題的合理方案。優(yōu)秀的軟件工程師會(huì)將大問(wèn)題分拆為小問(wèn)題,針對(duì)小問(wèn)題進(jìn)行理解、構(gòu)思、計(jì)劃、維護(hù)和重用。

  一般的軟件工程師只是匆忙編碼,解決所分配的問(wèn)題,不會(huì)進(jìn)一步思考正在解決的問(wèn)題,從不考慮長(zhǎng)期影響。

 4、正確的決定

  優(yōu)秀的軟件工程師深知沒(méi)有完美的設(shè)計(jì)、服務(wù)和工具,他們還深刻理解可選方案以及實(shí)際狀況的約束并能做出適當(dāng)?shù)臋?quán)衡。

  一般的軟件工程師只是盲目地使用當(dāng)前比較流行的服務(wù)、設(shè)計(jì)和工具,而不做更深一步的理解和研究。

 5、團(tuán)隊(duì)精神

  團(tuán)隊(duì)精神和協(xié)作能力是程序員應(yīng)該具備的最基本素質(zhì),優(yōu)秀的軟件工程師所寫(xiě)的代碼不僅能夠讓機(jī)器高效地執(zhí)行,更重要的是能夠方便其他工程師閱讀、改進(jìn)和使用。他們寫(xiě)測(cè)試用例,確保所寫(xiě)代碼的正確性,還能夠方便其他人對(duì)程序進(jìn)行改進(jìn)。他們充分利用審查和使用代碼的機(jī)會(huì),學(xué)習(xí)其他部分的代碼、分享代碼風(fēng)格、控制整個(gè)代碼的質(zhì)量。他們認(rèn)識(shí)到并且堅(jiān)信,代碼審查的過(guò)程是相互學(xué)習(xí)和提高整個(gè)工程團(tuán)隊(duì)產(chǎn)出質(zhì)量的最佳時(shí)機(jī)之一。他們的評(píng)論能夠幫助團(tuán)隊(duì)成員成長(zhǎng),他們考慮整體設(shè)計(jì)、邊緣情況、格式改進(jìn)及提高代碼整體質(zhì)量的其他優(yōu)化措施。

  一般的軟件工程師根本就不關(guān)心自己代碼的可維護(hù)性和可讀性,他們很少寫(xiě)測(cè)試用例,除非寫(xiě)測(cè)試用例是指派的任務(wù)。

 6、洞察力

  優(yōu)秀的軟件工程師具有長(zhǎng)遠(yuǎn)的眼光,使他們能夠承擔(dān)起各種困難的軟件項(xiàng)目,他們經(jīng)歷過(guò)無(wú)數(shù)的非預(yù)期任務(wù),如被喊去解決線上服務(wù)器的問(wèn)題,處理積累了很多技術(shù)債的代碼以及面對(duì)較為緊張的期限。

  一般的軟件工程師對(duì)發(fā)生的問(wèn)題從不積極響應(yīng),還責(zé)怪別人處理不當(dāng);當(dāng)事情進(jìn)展不順時(shí),他們很容易失去信心或推卸責(zé)任,不主動(dòng)、不認(rèn)真地解決問(wèn)題。

  哈爾濱品用軟件有限公司致力于為哈爾濱的中小企業(yè)制作大氣、美觀的優(yōu)秀網(wǎng)站,并且能夠搭建符合百度排名規(guī)范的網(wǎng)站基底,使您的網(wǎng)站無(wú)需額外費(fèi)用,即可穩(wěn)步提升排名至首頁(yè)。歡迎體驗(yàn)最佳的哈爾濱網(wǎng)站建設(shè)。