IT行業工作兩年半小結

  啓用新的CSDN賬戶,是想對自己有個新的認識,新的開始。
 
工作兩年半了,最近想了好多,總覺得這兩年半來,走了很多彎路,但是總得來說,還是成熟了許多,也失去了很多。思考得越多,越覺得這兩年浪費了很多時光,尤其沒有能在一個方向上做深入的研究。而且在基礎這塊,沒能打得紮實。在一家美資外企裏,技術好像不是最重要的,重要的是資歷。原因其實也簡單,上面的人都靠資歷混上去的,爲了保持自己的地位,自然會把資歷看得很重。當然,如果想在工作上獲得成功,光有資歷還是不夠的。很多問題,不是有資歷就能解決的。
 
        對待技術,要有鑽研的精神,對操作系統,數據結構,數據庫等要非常的熟練,要有自己深入的理解,這些都是基礎。所以爲了補足自己的短板,我給自己列了一個書單:
           (1)深入理解計算機系統
           (2)數據結構/算法導論 (這本書非常厚重,不是一時半會能看懂的,只是作爲能力的培養和鍛鍊,慢慢琢磨)
           (3)數據庫導論
           (4)C++程序語言

          這些書是我年前要讀完的書 (算法導論除外,這本書太厚重)。

        當然,其實計算機領域也是數學領域的延伸,所以學好數學也是非常重要的(奉勸那些(計院)大學生,覺得高數難學,趕緊認真學,還有離散,概率論),我打算再重新學習下數學知識,不然,很多資料真的看不懂,而且提升空間也有限。計算機裏面還有一個很重要的就是英語,我去過一次美國,如果我英語不行的話,這次機會根本沒我的份。對於英語,我打算,除了堅持聽說讀寫之外,每週堅持翻譯一篇英語文章。
還有自己目前要重點研究的方向,網絡,一直以前我都在做網絡相關的工作,而且目前的項目重點也是網絡,所以對於這塊,要再次深入學習和研究。相關的書籍有
   (1) TCP/IP協議(卷1、卷2)
   (2) Unix 網絡編程
 
        做一個項目做了兩年半,覺得自己很失敗,總結再三,很多時候都是在走重複的路,沒有模塊化,沒有分層,什麼都沒有。軟件最重要的是架構設計,RUP 4+1 架構就不錯,當然《一線架構師實踐指南》裏面的5視圖法也很不錯。打個比方,我們有個模塊,是處理業務邏輯,但是這個業務邏輯模塊和控制模塊高度耦合,根本無法建立單元測試,所以每次對這個模塊有改動的話,造成其它問題的風險是非常高的。如果將這個模塊獨立出來,考慮其輸入輸出,然後加入單元測試,以後再有任何改動,就可以運用單元測試進行保證。還有就是OO,其實能把OO研究透了,很多設計方面的問題也就明瞭了。 
尤其是最近做網絡集成,我個人覺得非常失敗。很多設想都沒有達成,系統依然處於不穩定的狀態。尤其沒能將系統重新劃分,我個人覺得非常遺憾。當然個人能力也是一個制約。目前這個項目進入非常關鍵的階段,很多問題需要慎重。

          說到思考,我還是想單獨的說一下,我見過有些程序員,或者說碼農,爲什麼總在抱怨呢。因爲他們,甚至包括我自己,就如同工地上的小工一下,師傅把架子打好,往上砌牆就行了,不用思考,只需要體力。有些程序員(我見過的)也是這樣,寫程序不加思考,總是在試。試對了就過了,CODE寫出來那叫一慘不忍睹啊,BUG滿天飛。不得不承認,有時候我也是這樣的人。寫程序,多思考,多總結。這樣才能將軟件品質不斷提升。而且,在很多技術問題上,要深入理解,明白透徹。做一個真正的軟件工程師。
當然作爲一個軟件工程師,技術只是一方面,還有業務層的知識。技術只是爲業務服務的,技術再好,不能滿足業務需求也是枉然的。尤其是行業軟件,對業務的要求是很高的。如果技術又好,又能懂業務,那這樣的工程師纔是真正的工程師,纔是能創造出有價值的產品的工程師。
軟件工程師的知識應該是有體系的,而我現在只是一個小小的碼農,知識缺乏體系,看問題缺乏深度,處事缺乏成熟。

           當然,在公司裏,除了努力工作之外,還要注重薪資,幹活爲了什麼,賺錢,如果賺不到錢,幹活幹嘛?所以努力工作之外,一定要努力讓自己有個合理的薪資水平。有的時候不要怕和老闆談工資,如果你有價值,並且對公司有貢獻,一般情況下,老闆都會考慮的。

        對待很多東西,要多思考,知其然,知其所以然。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章