完美程式設計師的10種品質

2021-08-31 02:54:17 字數 1984 閱讀 2923

原文: 

誰是完美程式設計師?著名部落格作家alex iskold在《

明星軟體工程師的10種特質

》一文中給出這個問題的答案:

1. 熱愛程式設計

2. 完成事情

3. 持續重構**

4. 使用設計模式

5. 編寫測試

6. 善用現有**

7. 專注可用性

8. 編寫可維護的**

9. 能用任何語言程式設計

10. 知曉基本的電腦科學

這是乙份合理的清單,但是這份清單側重於次要特徵,這些特徵只是更深層次品質所產生的結果,並且這是乙份理想化的清單。你認為兒童**的flash程式設計師跟b2b財務交易服務公司的軟體工程師品質會相同嗎?那麼,我們該如何從眾多開發者中甄別出一名完美的程式設計師呢?

尋找完美程式設計師的最終標準:完美程式設計師能開發出滿足客戶期望的優秀軟體。

因此,令人震驚的事實是完美程式設計師可能只精通一種程式語言,不知道什麼是設計模式,並且不會在地下室裡夜夜程式設計去創造下乙個google。我們不能客觀地衡量程式設計師的完美程度,就像測量自己胳膊的粗細那樣。完美程式設計師的完美之處只在於他們按時開發了乙個高質量、可用的並且可維護性高的軟體系統(乙個優秀的系統),並且這個系統達到了使用者的要求。

綜上所述,我們可以得到如下幾個推論:

完美程式設計師的10種品質

完美程式設計師的每種品質都有乙個範圍,這個範圍取決於具體的問題和背景。沒有能解決所有問題的完美程式設計師(至少在我們這個星球上),並且對於特定問題,完美程式設計師應該具有以下品質:

1. 才智非凡- 能夠理解問題、能夠用清晰可讀的**翻譯並表達想法、善於分析並且邏輯思維能力強 (範圍:用簡單方式解決複雜問題)

2. 魅力超群- 優秀個性的結合體 ( 注重細節 vs 富有創造力、靈活多變 vs 恪守典章、善於交際 vs 特立獨行)

3. 術業專攻- 具有一定的知識和經驗,能在特定條件下利用專業技能解決使用者問題(範圍:從乙個領域內的專家,到在不同領域都有豐富經驗的程式設計師)。

4. 積極主動- 關心工作,對程式設計表現出了很高的熱情、興致以及熱愛(範圍:從工作只為錢的人,到在業餘時間不計報酬實現有趣的想法的人)。

5. 成熟穩重- 精通並且運用合理的軟體開發原則、敏捷方法和實踐、設計和體系結構模式、領域驅動設計、單元測試、重構(範圍:從乙個充滿激情的業餘愛好者,到一名能夠不停地發明新方法的黑帶大師)。

6. 實用主義- 明白什麼事是可能的,喜歡簡單實用並且避免過度設計;明白業務目標,貼近現實並且專注於該做的事情(範圍:從自學成才的藝術家,到自我激勵的務實的成功人士)。

7. 通力協作- 能夠傾聽並且接受有好點子的人,毫無保留地支援團隊的目標,跟別人分享自己的想法和知識,並且願意指導別人(範圍:從異見者到乙個團隊的領導)。

8.善於溝通- 能夠高效地與別人交流和交換想法,支援那些對系統具有清楚的解釋、判斷和解答的知識和決定(範圍:從乙個安靜內向的人,到乙個系統解說員)。

9. 潛力無限- 擁有職業目標、出色的技能、好奇心、較強的適應性,並且能夠不斷自省(範圍:從乙個達到極限的人,到未來的程式設計之星)。

10.遠見卓識- 擁有更高的視野,了解相關的背景、趨勢和人員,為達到團隊和公司的潛在目標採取行動,致力於為軟體系統建立共同願景(範圍:從對程式設計僅僅是感興趣的人,到有遠見的企業家)。

如何為特定問題找到完美的程式設計師呢?

能夠找到具有最優品質的程式設計師當然更好,但是,這些另類都身價不菲,通常可遇而不可求或者會對你的問題感到厭煩。因此,可以採取以下措施:

擁有優秀核心品質的人會提出最優的方法,包括編寫單元測試和重構;學習設計模式,並且最重要的是:開發出眾並實用的軟體。

後話

完美程式設計師的10種品質

完美程式設計師的10種品質 誰是完美程式設計師?著名部落格作家alex iskold在 明星軟體工程師的10種特質 一文中給出這個問題的答案 1.熱愛程式設計 2.完成事情 3.持續重構 4.使用設計模式 5.編寫測試 6.善用現有 7.專注可用性 8.編寫可維護的 9.能用任何語言程式設計 10....

完美程式設計師的10種品質

誰是完美程式設計師?著名部落格作家alex iskold在 明星軟體工程師的10種特質 一文中給出這個問題的答案 1.熱愛程式設計 2.完成事情 3.持續重構 4.使用設計模式 5.編寫測試 6.善用現有 7.專注可用性 8.編寫可維護的 9.能用任何語言程式設計 10.知曉基本的電腦科學 這是乙份...

完美程式設計師的10種品質

誰是完美程式設計師?著名部落格作家alex iskold在 明星軟體工程師的10種特質 一文中給出這個問題的答案 1.熱愛程式設計 2.完成事情 3.持續重構 4.使用設計模式 5.編寫測試 6.善用現有 7.專注可用性 8.編寫可維護的 9.能用任何語言程式設計 10.知曉基本的電腦科學 這是乙份...