你覺得自己算是一名優秀的開發者嗎?如果是的話,那你有沒有考慮過作為一名優秀的開發者,你具備哪些優秀的品質?好的開發者和差的開發者區別在**?經驗?技能?還是天賦?如何才能成為一名優秀的開發者?
1. 具有很強的分析思維
作為一名優秀的開發者,你需要思考、觀察資料,記憶、分析這些現象和內容,並解決問題。雖然這一點有些抽象,但很不幸的是,這是非常重要的一點。為什麼很不幸呢?因為這一點意味著不是每乙個人都能成為優秀的開發者,即使他們很努力。這種分析思維有點像是天生的。如果你沒有這個能力的話,還是盡早改行。
分析性思維是可以鍛鍊的。例如解決演算法和邏輯問題會讓你在這方面有所提高。但是每個人的能力都有乙個上限,難以超越。
2. 對軟體有乙個巨集觀的理解
開發乙個軟體有點像是在下棋——你要贏得比賽就要**後面幾步。在程式設計的時候,你不光要看到眼前的**,還要想到將來要寫的**。作為一名優秀的開發者,你不應該只盯著軟體的一小部分,應該看到軟體的整體結構。你需要知道如何實現一項功能,也需要知道為什麼實現這項功能。
3. 從業務的角度理解軟體開發
以我對開發者的理解,一名優秀的開發者不僅僅是面向技術的。你同時需要面向業務,理解客戶的需求。如果你做不到這一點的話,就會有很多潛在的問題:誤解業務需求,軟體可用性差等等。
那麼如何做乙個面向業務的開發者呢?
4. 善於協作
一名優秀的開發者不是只會單打獨鬥的。乙個專案想要成功的話,團隊內部的溝通和協作是至關重要的。不善於協作的開發者是無法融入團隊的。我知道有很多優秀的開發者都很內向,但是在現代開發過程中,光寫**是不夠的。
敏捷的世界需要好的開發者
我上面說的幾點也許在多年前是不成立的。如果我們沒有進入敏捷的時代,任何合格的「碼農」都可以被稱作合格的「開發者」。但事實是我們已經進入敏捷的時代,所以我們需要敏捷的開發者,能夠分析問題,從業務的角度考慮問題,對軟體有全域性觀,並且善於協作。
優秀的開發者 vs 糟糕的開發者
優秀的開發者是乙個藝術家,乙個享受創作過程的工匠。糟糕的開發者只將自己當作負責產生 的碼農。優秀的開發者了解客戶的問題。糟糕的開發者只了解手頭的技術問題。優秀的開發者會不斷努力去理解 為什麼 然後去實現,同時能夠把握大局。糟糕的開發者專注於構建類 方法和配置檔案,而不理會大局。糟糕優秀的開發者了解產...
優秀的開發者 vs 差的開發者
如果你認為使用 優秀 和 差 來區分開發者不妥的話,也可以將這些看作是初級開發者和資深開發者之間的區別。但無論如何,多看看其他的優秀開發者 或資深開發者 是如何做的,對於自身技能 工作方式的提公升有很大的幫助。優秀的開發者是乙個藝術家,乙個享受創作過程的工匠。差的開發者只將自己當作負責產生 的碼農。...
優秀的開發者 VS 糟糕的開發者
優秀的開發者是乙個藝術家,乙個享受創作過程的工匠。差的開發者只將自己當作負責產生 的碼農。優秀的開發者了解客戶的問題。差的開發者只了解手頭的技術問題。優秀的開發者會不斷努力去理解 為什麼 然後去實現,同時能夠把握大局。差的開發者專注於構建類 方法和配置檔案,而不理會大局。優秀的開發者了解產品的完整架...