(本文參加CSDN舉辦的暢想「個人IT成長路」活動,謝謝!)安全
光陰似箭,日月如梭,轉眼之間,我畢業工做都將近兩年了。回首往事,我最大的感觸就是:時間都去哪兒了呢?微信
最近,我看到CSDN舉辦了一個叫作暢想「個人IT成長路」的活動,以爲挺有意思的。做爲廣大的軟件開發工程師中的一員,我和大部分人走過的路都是同樣的。咱們從學校裏面畢業,來到單位上,在經歷過無數的挫折以後,從一個懵懂的學生艱難地轉變爲了職場中人。咱們有過懊惱,有過氣憤,有過抱怨,有過喜悅,在不知不覺中,咱們慢慢地成長起來了。網絡
同時,我也讀了《逆襲大學:傳給IT學子的正能量》這本電子書,裏面的內容都是中國當今大學教育的真實寫照,讀來讓人深思。做爲一名通訊和計算機專業畢業的學生,咱們所面臨的問題都是同樣的:課程多、難度大,學生多,工做很差找,工做累,等等。面對各類問題,不論是學校仍是工做上的,咱們都只有一個辦法,那就是獨立地去面對。微信開發
多的不說了,仍是來講一下本身的狀況吧。我本科畢業於一所普通的「211」大學,專業爲通訊工程;研究生畢業於國內某很有名氣的郵電類高校,專業爲計算機應用技術。研究生畢業以後,我就到了國內一家知名的通信公司工做,從事多媒體業務的開發工做。工做至今,已經差很少兩年了。在這兩年時間裏,我參加了多個產品版本的開發工做,也被評爲了「優秀員工」,同時得到過部門的一些獎勵。工具
本文分爲兩個部分,第一部分對這兩年的開發工做作一個總結,第二部分對將來的成長之路作一個展望。單元測試
第一部分 兩年開發工做總結測試
我走出學校的時候和不少人同樣,很是的「輕狂」,認爲本身在學校裏面已經學得夠多了,要完成一個軟件的開發,簡直就是小菜一碟。但在工做中多次碰壁以後,我才發現本身當時的想法是多麼的天真。咱們踏上工做崗位,一切幾乎都要從零開始。不少在學校裏面學到的東西,不只沒有實際的用途,有的甚至還有誤導的做用。編碼
我從如下三個方面來進行總結。spa
第一方面 軟件研發流程及注意事項.net
學校裏面只傳授具體的專業知識,沒有對實際的軟件研發流程進行說明,這不能不說是一大缺陷。本人所在的公司很注重研發流程的規範性,以確保產品的質量。
一個典型的軟件研發流程如圖1所示。
圖1 一個典型的軟件研發流程
在軟件開發的過程當中,咱們須要注意如下事項:
(1) 必定要遵循編碼規範。從學生轉變爲職場人,最爲重要的就是要學會遵照規範。對於軟件開發來講,學校裏面沒有強調編碼的規範性,只要一個程序可以運行起來就OK了,這在實際的軟件開發項目中是絕對不行的。不光是新員工,不少老員工都不注重代碼的編寫規範,這不能不說又是中國計算機教育的一大失誤。
(2) 必定要對代碼進行充分的自測後再提交。我剛參加工做的時候,覺得把代碼編寫完就了事了,但這個觀念是極其錯誤的。軟件開發人員對軟件質量負有很重大的責任,咱們必定要確保拿出去的代碼中的問題儘可能少。代碼可以運行,並不表明它就沒有問題,有關邏輯錯誤等只能經過充分的測試纔可以發現。
(3) 要編寫好研發相關的文檔。在軟件開發階段,咱們須要編寫的文檔包括:詳細設計說明文檔、單元測試規程/報告文檔、集成測試規程/報告文檔,及相關的協議和說明文檔等。不少開發人員認爲本身只須要將代碼寫好就好了,文檔什麼的就不用關心了,這是很很差的想法。好的文檔有利於程序版本的維護,對於版本升級、查錯等都是頗有幫助的。
(4) 要有良好的版本管理習慣。所謂的版本,是指產品相關的代碼、文檔和數據等。在家裏的時候,不少人喜歡將東西亂放,正到了須要用的時候卻找不到。對於程序版本,不少開發人員也是隨便一放就了事。在版本較少的時候,這可能還不是問題。但一旦版本數量增多,要找到某個時間較長的版本就是一件比較麻煩的事情。所以,爲了節省時間,提升工做的效率,咱們必定要養成好的存放版本的習慣,要規劃好本身的計算機硬盤。
第二方面 溝通交流及人際關係處理
軟件開發工程師因爲專一於作技術,所以大部分確實在人際溝通技能方便略顯不足。但在單位上,咱們不是孤身一人在工做,有不少事情都要與人溝通、都須要向他人請教,要具有團隊意識。
我總結了一下,除了面對面溝通以外,咱們能夠利用一些通信工具進行溝通,這些工具包括:郵箱、手機/電話和某些即時通信工具(像QQ、微信等)。面對面溝通的效果最好,能夠將全部的問題說清楚。溝通方式的優先級如圖2所示。
圖2 溝通方式的優先級
有些開發人員就喜歡發郵件,一個問題討論了大半天都沒有結果。這個時候,若是採用面對面溝通的方式,也許幾分鐘就可以將問題解決掉。
此外,爲了信息安全,不少大的軟件公司禁止員工使用QQ軟件來交流。那麼,就只能使用公司內部的即時通信工具來進行溝通了。
對於搞技術的人來講,人與人之間的關係就相對比較簡單,你們坦誠相待,有什麼技術方面的問題也是直接說出來。但要注意的是,涉及到版本、需求、評審和現場問題等,咱們必定要讓本身的上司(也就是項目經理)知道你正在作的事情,若是出現大的問題,他纔好給你支招,千萬不要一我的硬着頭皮去頂。
第三方面 身體鍛鍊
我將身體鍛鍊拿出來單獨說,是由於這比較的重要。「身體是革命的本錢」,對於軟件開發人員來講,尤爲如此。
咱們長時間地坐在電腦旁邊,身體素質也逐漸地變差了。不少同事腰椎、頸椎都出現了問題。這就是鍛鍊太少的緣由。所以,咱們必定要改變本身的生活習慣,多出去走動,適當地參加一些體育鍛煉。
第二部分 將來展望
對於軟件開發人員來講,將來的發展道路有兩條:一條是繼續在本行業中奮鬥,另外一條就是轉行。對於我來講,我會選擇第一條。
在這個知識大爆炸的時代,咱們須要的任何知識均可以很快地從網絡上獲取到,但惟獨經驗這個東西是須要時間來積累的。對於軟件開發來講,不少人認爲多少歲以後就幹不下去了,必需要另謀出路。
確實,若是單就編寫程序來講,年齡大的人是沒有優點,由於年輕人畢竟動得要快些。但你們忽略了一點,那就是軟件開發也是須要經驗的。有不少軟件問題,新手看了好久都不必定可以知道,而對於老手來講,也許看一眼就明白問題出在哪裏了。因此,我認爲,在21世紀,知識不是最重要的,經驗比知識更爲重要。
個人想法是在若干年以後,我會去當一名傳道授業解惑的IT老師,將本身的軟件開發經驗傳遞給本身的後輩,讓你們在軟件開發這條道路上走得更順暢一點。目前,我已經在作這方面的準備,我會陸續在CSDN博客上發表一系列叫作《讓你提早認識軟件開發---學長的軟件開發經驗總結》的文章(http://blog.csdn.net/zhouzhaoxiong1227/article/details/20395131),將本身的軟件開發經驗總結出來,讓更多的人受益,歡迎你們批評指正。
「路漫漫其修遠兮,吾將上下而求索」,互聯網的精神就是開放,就是分享。經過互聯網,咱們能夠認識更多的人,咱們能夠從他人身上學到不少東西。那就讓咱們一塊兒努力,一塊兒體驗軟件開發這項工做的酸甜苦辣,向着更美好的將來狂奔而去!
謝謝!