10年軟件開發教會我最重要的10件事

   0. 「面向對象」比你想象的要可貴多php

也許只有我有這種想法,不過我曾經覺得計算機科學課上學過的「面向對象」是很簡單的東西。個人意思是,建立一些類來模擬現實世界能有多難啊?其實,那還真是挺難的。算法

十年以後,我仍然在學習如何合理地建模。我後悔之前我沒有花更多的時間來學習面向對象和設計模式。優秀的建模技術對於每個開發團隊都是很是有價值的。

1. 軟件開發的難點在於溝通

這裏的溝通是指與人的溝通,而不是socket編程。有時你的確會趕上棘手的技術問題,可是這種狀況根本不常見。常見的問題在於那些你和項目經理之間的、你和客戶之間的、還有你和其餘開發者之間的誤解。培養你的軟技能吧。

2. 學會拒絕

當我剛開始工做的時候,我很是急切的想要去討好別人。這也就是說,我幾乎不能去回絕別人對個人要求。我加了不少班,可是仍是不能完成他們交代給個人全部事情。結果他們表示不滿意,而我也表示要崩潰了。

若是你從不回絕別人,你的答應就顯得毫無心義。承擔能力所及的事情,若是別人不停地指派給你更多的事情,你須要明確的表示那意味着將會耽誤其餘的工做。

爲了應付這種事情,我會隨身攜帶一張列有待辦事項的紙(To-do list)。當人們叫我去作什麼事情的時候,我就給他們看這張紙,而且問他們我應該爲他們擠掉哪一個事情。這是我用來拒絕別人的一種好辦法。

3. 若是每件事都重要,那就什麼事都不重要 

咱們這一行,老是強調每種特性都是同等重要的,其實並非這樣。敦促你的同事,讓他們承擔起工做。

若是你不強迫他們選擇該作和不應作的事情,你會輕鬆不少。相反,讓他們來爲你選擇你這周的任務。這會讓你生產出來的東西變得最有價值。若是其餘的部分都仍是亂糟糟的,至少你已經完成了最重要的。

4. 不要過分考慮問題

我能夠站在白板前面一成天策劃事情,可是這並不意味着事情會向更好的方向發展,這僅意味着事情將變得更復雜。

個人意思並非「你不該該去作任何策劃」,只是若是我會在實現程序的時候會很快遇到我沒考慮過的問題的話,那爲何我不去嘗試把它作好呢?像戴夫·法洛所說的,「魔鬼居住於細節中,而驅走魔鬼的方法是實踐,而不是理論」。

5. 去鑽研一些東西,但不要鑽牛角尖

克里斯和我花費了大量的時間鑽研SQL服務器的深層部分。那真的頗有趣,我也學到了不少知識,可是過了一段時間我意識到,知道了那麼多的知識並不能幫助我解決業務上的問題。

舉個例子:我知道在數據表層次,SQL服務器不會接受IU鎖——它只會接受IX鎖。這是一個性能調整,由於在大多數狀況下,IU鎖都會升級成IX鎖。爲了瞭解這些,我花掉了無數天作實驗,我讀了不少的書,還在會議上向微軟的員工瞭解狀況。然而我用過這個知識嗎?沒有。

6. 瞭解軟件開發系統的其餘方面

這對成爲一個優秀的開發者是很重要的,可是若要在一個開發軟件的系統中成爲優秀的一員,你還須要去了解開發系統中剩下的部分在幹什麼。QA是如何工做的?項目經理在幹什麼?業務分析員在忙些什麼?這些知識會讓你與其餘員工產生聯繫,並使你和他們之間的互動順暢。

向你周圍的人尋求幫助,以便學到更多的知識。有什麼好書呢?大多數人都會爲你的關注而高興,而且很樂意幫助你。在這上花一點小時間會對你有很大的幫助。

7. 同事是你最好的老師

在我找到第一份工做的一年後,咱們和另外一所公司合併了。忽然之間身邊就多出不少聰明又經驗豐富的人。我深入的記得這是我感到多麼自卑和愚蠢。我努力地學習,讀了一本又一本的書,仍是仍是趕不上他們。我發現他們和我比起來有很是突出的優點。

如今,我不會由於和優秀的人一塊兒工做而感到難受。我認爲我有一輩子的時間去學習。我提出問題,而且很是努力地去了解個人同事們是怎麼作出結論的。這也是爲何我加入了ThoughtWorks。把你的同事們當作財富,而不是競爭對手。

關於學習,不管是哪一個行業,都是永恆的話題,正如 Jonathan Danylko在總結本身20年的編程經驗時所說到,「誠然,總有不少你不知道的技術,你能夠從中學習以保持不落後。若是你有一種靈巧的方式來獲取你須要的新技術,那你天天都應該堅持學習。」(編注:ThoughtWorks是一家全球知名的IT諮詢公司。)

8. 作出可用的軟件是最終目標

無論你的算法有多酷,無論你的數據庫模式有多棒,無論你的什麼什麼有多麼多麼好,若是它不能搔到客戶的癢處,它就不值一文。專一於作出有用的軟件,同時準備繼續作出後續軟件,這纔是正軌。

9. 有些人真的不可理喻

在你身邊的大多數人老是很優秀的,你向他們學習,他們也向你學習。共同完成一件事情的感受老是很好。然而不幸的是,你也有可能遇到例外。由於某些原 因,人可能會變得冷漠刻薄。精神萎頓的老闆啊,滿口謊話的同事啊,無知愚昧的顧客什麼的。不要把他們看的過重。儘可能避開他們,儘可能把他們所帶來的痛苦和影 響降到最小,但不要自責。只要你保持誠實而且盡力去工做,你就完成了你該作的事情。數據庫

轉自:http://www.cnbeta.com/articles/145402.htm編程

相關文章
相關標籤/搜索