軟體發展人員如何提高自己的專業技術
閱讀優秀代碼是提高開發人員修為的一種捷徑。
1、“學歷代表過去、能力代表現在、學習力代表未來。”其實這是一個來自國外教育領域的一個研究結果。相信工作過幾年、十幾年的朋友對這個道理有些體會吧。但我相信這一點也很重要:“重要的道理明白太晚將抱憾終生!”所以放在每一條,讓剛剛畢業的朋友們早點看到哈!
2、軟體發展團隊中,技術不是萬能的,但沒有技術是萬萬不能的!在技術型團隊中,技術與人品同等重要,
3、詳細制定自己軟體發展專業知識學習計畫,並注意及時修正和調整(軟體發展技術變化實在太快)。請牢記:“如果一個軟體發展人員在1、2年內都沒有更新過自己的知識,那麼,其實他已經不再屬於這個行業了。”不要告訴自己沒有時間。
4、書籍是人類進步的階梯,對軟體發展人員尤其如此。書籍是學習知識的最有效途徑,不要過多地指望在工作中能遇到“世外高人”,並不厭其煩地教你。對於花錢買書,我個人經驗是:千萬別買國內那幫人出的書!我買的那些傢伙出的書,
5、儘量提高自己的表達和溝通能力。良好的表達和溝通能力能在客戶不能清楚表達需求時,融入到客戶組織內部,
6、應用多種方式瞭解需求。常用的方法有:問題分析法和建模分析法以及幾種方法的結合。比如在問題分析法中應用物件導向的思想,與客戶的員工談話,訪談首先要面向工作流程,面向任務,面向角色,也就是用物件導向的思想説明客戶理清思路。
7、不臆測需求。如果有專門的需求工程師,有一點要特別強調,就是在編碼過程中當需求不明確時,必須與專案經理或需求工程師及時溝通,程式師不能自作主張地猜測客戶的需求。
8、不過度承諾。很多銷售人員拿到專案,向客戶大包大攬,甚至完全不顧公司的現有開發能力向客戶承諾很多功能。在定義需求階段,一定要向客戶說明“什麼是我們能做的,什麼是我們應該做的,什麼是我們不能做的”。很多時候過度承諾導致了新功能無法實現的同時,原有功能也受到影響。
9、盡力構建並運行代碼。 這通常是一個簡單的步驟,就像你在看可運行的代碼(這和隨機代碼相反)。 不過,並非總是如此。通過構建和執行代碼,你能從中學到很多上層代碼結構。 說到工作代碼,你是否非常熟悉如何構建你的當前專案? 雖然構建通常非常複雜,但通過構建並生成可執行的代碼,你能學到很多。
10、不要只注重細節。 你要做的第一件事是,在你正閱讀的代碼中,找到代碼結構和風格的。 首先流覽一下代碼,盡力理解不同程式碼片段要做什麼。這會讓你熟整個代碼的上層結構,你也能領會到你正處理的代碼的一些構思(良好架構和義大利麵條等)。 這時候,你可以找到切入點(不管它是什麼,主函數、servlet或控制器等),並查看代碼如何在那裡分支。 不要在這上面花過多的時間,隨著你愈加熟悉代碼,你可以隨時回來查看。
11、確信自己理解所有結構。 除非你碰巧是所用程式設計語言的首席專家,否則該語言有些它能做的事你可能還不知道。當你在流覽代碼時,記下所有你或許不熟悉的結構。 如果有很多不熟悉的結構,你要做的下一步非常明顯。 如果你不知道代碼要做什麼,那你就走不了很遠。 即便只有幾個你不熟悉的結構,你應當深入查看。 你現在是在探索你所用程式設計語言中你以前不知道的東西,為此花幾個小時來閱讀代碼,我也非常樂意。
12、既然你對大多數結構已有很好瞭解,那現在是該做些隨機深入研究了。 就像步驟2,開始流覽代碼,當這次要挑選一些隨機函數或類,並開始逐行詳細查看。 這是硬仗開始的地方,但也是你要取得主要成功的地方。 這裡的構想,會形成你正在查看的代碼庫的思維模式。 也不要在這上面花過長的時間,但在繼續前行之前,你要盡力並極大吸收一些有內容的代碼塊。 這個步驟,你也可以隨時反復回過頭來,每次你都會瞭解更多的背景,並收穫更多。
13、健康工作
要想工作好,身體先練好。一個健康的成員才可能高效地工作。在Y Combinator有個理論,在產品發佈前,你應該專注並只專注兩件半事情,1開發+1跟用戶聊天+0.5鍛煉身體。而在產品發佈後,你應該專注並只專 注三件事情,0.5開發+1跟用戶聊天+1運營+0.5鍛煉身體。可見鍛煉身體的重要。我們團隊每個人基本每天都會有專門的運動時間,跑步、游泳,或者健身房,已然成了我們工作的一部分。
另外還有一點可以通過自身的學習來獲取一大進步。
究竟有哪些乾貨呢?
常用的方法有:問題分析法和建模分析法以及幾種方法的結合。比如在問題分析法中應用物件導向的思想,與客戶的員工談話,訪談首先要面向工作流程,面向任務,面向角色,也就是用物件導向的思想説明客戶理清思路。7、不臆測需求。如果有專門的需求工程師,有一點要特別強調,就是在編碼過程中當需求不明確時,必須與專案經理或需求工程師及時溝通,程式師不能自作主張地猜測客戶的需求。
8、不過度承諾。很多銷售人員拿到專案,向客戶大包大攬,甚至完全不顧公司的現有開發能力向客戶承諾很多功能。在定義需求階段,一定要向客戶說明“什麼是我們能做的,什麼是我們應該做的,什麼是我們不能做的”。很多時候過度承諾導致了新功能無法實現的同時,原有功能也受到影響。
9、盡力構建並運行代碼。 這通常是一個簡單的步驟,就像你在看可運行的代碼(這和隨機代碼相反)。 不過,並非總是如此。通過構建和執行代碼,你能從中學到很多上層代碼結構。 說到工作代碼,你是否非常熟悉如何構建你的當前專案? 雖然構建通常非常複雜,但通過構建並生成可執行的代碼,你能學到很多。
10、不要只注重細節。 你要做的第一件事是,在你正閱讀的代碼中,找到代碼結構和風格的。 首先流覽一下代碼,盡力理解不同程式碼片段要做什麼。這會讓你熟整個代碼的上層結構,你也能領會到你正處理的代碼的一些構思(良好架構和義大利麵條等)。 這時候,你可以找到切入點(不管它是什麼,主函數、servlet或控制器等),並查看代碼如何在那裡分支。 不要在這上面花過多的時間,隨著你愈加熟悉代碼,你可以隨時回來查看。
11、確信自己理解所有結構。 除非你碰巧是所用程式設計語言的首席專家,否則該語言有些它能做的事你可能還不知道。當你在流覽代碼時,記下所有你或許不熟悉的結構。 如果有很多不熟悉的結構,你要做的下一步非常明顯。 如果你不知道代碼要做什麼,那你就走不了很遠。 即便只有幾個你不熟悉的結構,你應當深入查看。 你現在是在探索你所用程式設計語言中你以前不知道的東西,為此花幾個小時來閱讀代碼,我也非常樂意。
12、既然你對大多數結構已有很好瞭解,那現在是該做些隨機深入研究了。 就像步驟2,開始流覽代碼,當這次要挑選一些隨機函數或類,並開始逐行詳細查看。 這是硬仗開始的地方,但也是你要取得主要成功的地方。 這裡的構想,會形成你正在查看的代碼庫的思維模式。 也不要在這上面花過長的時間,但在繼續前行之前,你要盡力並極大吸收一些有內容的代碼塊。 這個步驟,你也可以隨時反復回過頭來,每次你都會瞭解更多的背景,並收穫更多。
13、健康工作
要想工作好,身體先練好。一個健康的成員才可能高效地工作。在Y Combinator有個理論,在產品發佈前,你應該專注並只專注兩件半事情,1開發+1跟用戶聊天+0.5鍛煉身體。而在產品發佈後,你應該專注並只專 注三件事情,0.5開發+1跟用戶聊天+1運營+0.5鍛煉身體。可見鍛煉身體的重要。我們團隊每個人基本每天都會有專門的運動時間,跑步、游泳,或者健身房,已然成了我們工作的一部分。
另外還有一點可以通過自身的學習來獲取一大進步。
究竟有哪些乾貨呢?