IT行業工作兩年半小結
來源:互聯網
上載者:User
啟用新的CSDN賬戶,是想對自己有個新的認識,新的開始。 工作兩年半了,最近想了好多,總覺得這兩年半來,走了很多彎路,但是總得來說,還是成熟了許多,也失去了很多。思考得越多,越覺得這兩年浪費了很多時光,尤其沒有能在一個方向上做深入的研究。而且在基礎這塊,沒能打得紮實。在一家美資外企裡,技術好像不是最重要的,重要的是資曆。原因其實也簡單,上面的人都靠資曆混上去的,為了保持自己的地位,自然會把資曆看得很重。當然,如果想在工作上獲得成功,光有資曆還是不夠的。很多問題,不是有資曆就能解決的。 對待技術,要有鑽研的精神,對作業系統,資料結構,資料庫等要非常的熟練,要有自己深入的理解,這些都是基礎。所以為了補足自己的短板,我給自己列了一個書單: (1)深入理解電腦系統 (2)資料結構/演算法導論 (這本書非常厚重,不是一時半會能看懂的,只是作為能力的培養和鍛煉,慢慢琢磨) (3)資料庫導論 (4)C++程式語言
這些書是我年前要讀完的書 (演算法導論除外,這本書太厚重)。
當然,其實電腦領域也是數學領域的延伸,所以學好數學也是非常重要的(奉勸那些(計院)大學生,覺得高數難學,趕緊認真學,還有離散,機率論),我打算再重新學習下數學知識,不然,很多資料真的看不懂,而且提升空間也有限。電腦裡面還有一個很重要的就是英語,我去過一次美國,如果我英語不行的話,這次機會根本沒我的份。對於英語,我打算,除了堅持聽說讀寫之外,每周堅持翻譯一篇英語文章。還有自己目前要重點研究的方向,網路,一直以前我都在做網路相關的工作,而且目前的項目重點也是網路,所以對於這塊,要再次深入學習和研究。相關的書籍有 (1) TCP/IP協議(卷1、卷2) (2) Unix 網路編程 做一個項目做了兩年半,覺得自己很失敗,總結再三,很多時候都是在走重複的路,沒有模組化,沒有分層,什麼都沒有。軟體最重要的是架構設計,RUP 4+1 架構就不錯,當然《一線架構師實踐指南》裡面的5視圖法也很不錯。打個比方,我們有個模組,是處理商務邏輯,但是這個商務邏輯模組和控制模組高度耦合,根本無法建立單元測試,所以每次對這個模組有改動的話,造成其它問題的風險是非常高的。如果將這個模組獨立出來,考慮其輸入輸出,然後加入單元測試,以後再有任何改動,就可以運用單元測試進行保證。還有就是OO,其實能把OO研究透了,很多設計方面的問題也就明了了。 尤其是最近做網路整合,我個人覺得非常失敗。很多設想都沒有達成,系統依然處於不穩定的狀態。尤其沒能將系統重新劃分,我個人覺得非常遺憾。當然個人能力也是一個制約。目前這個項目進入非常關鍵的階段,很多問題需要謹慎。
說到思考,我還是想單獨的說一下,我見過有些程式員,或者說碼農,為什麼總在抱怨呢。因為他們,甚至包括我自己,就如同工地上的小工一下,師傅把架子打好,往上砌牆就行了,不用思考,只需要體力。有些程式員(我見過的)也是這樣,寫程式不加思考,總是在試。試對了就過了,CODE寫出來那叫一慘不忍睹啊,BUG滿天飛。不得不承認,有時候我也是這樣的人。寫程式,多思考,多總結。這樣才能將軟體品質不斷提升。而且,在很多技術問題上,要深入理解,明白透徹。做一個真正的軟體工程師。當然作為一個軟體工程師,技術只是一方面,還有業務層的知識。技術只是為商務服務的,技術再好,不能滿足業務需求也是枉然的。尤其是行業軟體,對業務的要求是很高的。如果技術又好,又能懂業務,那這樣的工程師才是真正的工程師,才是能創造出有價值的產品的工程師。軟體工程師的知識應該是有體系的,而我現在只是一個小小的碼農,知識缺乏體系,看問題缺乏深度,處事缺乏成熟。
當然,在公司裡,除了努力工作之外,還要注重薪資,幹活為了什麼,賺錢,如果賺不到錢,幹活幹嘛?所以努力工作之外,一定要努力讓自己有個合理的薪資水平。有的時候不要怕和老闆談工資,如果你有價值,並且對公司有貢獻,一般情況下,老闆都會考慮的。
對待很多東西,要多思考,知其然,知其所以然。