1. 程式人生 > >Java程序員一年的成長和蛻變

Java程序員一年的成長和蛻變

求助 培養 概念 隨著 步驟 也不會 修改 圖書 網上

我叫小肖,畢業於湖南農業大學,計算機科學與技術專業學生,從那年07月25日開始工作,距今也已經一年有余。從一個Java入門小白,到現在能獨立開發並且勝任獨立工作的能力,在此總結一下個人一年來的成長和蛻變,以此和大家共勉!

那年7月份到深圳,信心滿滿的以為自己找工作會一帆風順,誰知這成了一部血淚史,帶著一份servlet+jdbc做的畢業設計到深圳,簡歷上三三兩兩的寫了“項目經驗”:圖書管理系統、養老院管理系統,當時還完全不會SSH(struts2+spring+hibernate),然後自信滿滿的到求職網上投簡歷,投遞了兩天,發現並沒有任何用……

這家公司(下面稱為公司)也是運氣進來的,當時是拿著自己的電腦,簡歷,一份畢業設計《養老院管理系統》,非SSH框架技術,面試我的是公司的前端大師,也得虧運氣好吧,當時做的界面和公司的後臺系統是差不多類型。大概10天後,可能出於培養和解決當前用人問題把我招進來。

那年-07-28,正式進入公司,由一位同事給我介紹公司的整體業務,把整個主要流程講了一遍,然後就算入職了。

9月份,公司接了一個大項目,來了四個人,那氣勢真是足,提出的需求真的非常多,非常苛刻,公司也是給其可以實現。我參與了進來,當時的項目經理也是非常好,看我剛畢業,也不會SSH,交給我一個非常簡單的模塊,還記得是幾個復選框添加到界面,然後讓操作的時候這復選框要有作用。當我看了需求文檔,真心不知道如何下手,然而項目經理以為我可能一兩天搞定,結果搞了一個星期。公司框架導下來各種報錯,不會框架方面調試!但也只能硬著頭皮上,雖然那些基本的編程能力還是有的,畢竟也是獨立的寫完畢業設計,但是SSH開發真的不會,到後來幾乎都是旁邊的大神幫忙搞定的,真的汗顏。不過也通過他幫忙,對整個流程稍微了解了,總算是交了差。經過幾天的時間,也算是熟悉了。後來獲取了項目經理的一點信任,交給一個完整模塊,可以從頁面到後臺交互都能完整的操作一遍,欣然接受了,花了個把小時把這個功能的需求寫出來,交給項目經理,審核通過,然後交給我去做。九月份還有半個月我就在這上面耗著了,後來也是大體將這個功能完成了,也算松了一口氣。

九月底安排去武漢出差,到武漢來幫忙打雜,做一些項目的修修補補工作。當然,個人也樂意這樣的安排,反正都是學技術,還有補貼。首先把環境搭建好,然後將項目跑通,這裏說一下,公司的項目,從svn上導下來之後,還需要很多步驟的修改,才能跑通,真的很頭疼(現在這家公司,導下來直接跑通,方便很多),就開始了正式的SSH學習之旅。

在武漢這邊,任務是做報表,寫周報,將所用技術總結成文,寫的每一個步驟都非常詳細,也包括所使用的工具的使用等,因為公司周報要求不是很規範,只要有內容就行,但是我敢肯定,我的周報是當時開發人員裏面寫的最好最多最完全的。因為周報,能把所用技術不斷的鞏固,知識點不斷的復習,把SSH框架的整體流程完全掌握,並且在CSDN發表了自己的簡單的技術文章,自己也算是在技術路上啟程了!

在武漢的這段時間,因為是做很簡單的報表,趁著寫周報的時間,把接觸到的所有用到的技術:struts2、spring、hibernate、oracle、潤乾報表、Dreamweaver、 Secure Shell client、mysql、tomcat等操作流程,接觸到的業務需求,全部整理成周報,然後提交給公司專門收周報的工作人員,而正是這段時間,技術積累飛速提升。正是從這周報總結上獲得了巨大的收益,希望都能有總結的好習慣!不斷總結,技術才能變成自己的!

從武漢出差回來之後,在那年度年終大會上,代表著公司新人上臺發言了。還抽獎中了公司一等獎(後來我聽說是公司技術老總看我工資偏低,然後在抽獎環節做了“手腳”,感動ing)

後來進入新項目開發,其實就是二次開發,只是把數據庫,系統後臺的結構全部進行改變。不管如何,這也算是一次機遇,無論項目大小,讓自己知道要做什麽,要去學習什麽,要去獲得什麽,所以就非常激動的進入項目組,開始自己的零項目經驗的開發!

最初,項目經理安排了一個訂單修改的功能模塊。公司訂單這塊真的非常的復雜,我敢說,很多的公司可能都沒有這家公司的業務復雜。修改一個訂單,非常的頭疼,這才發現原來業務這塊真的不擅長,非常缺乏經驗。不知道要做什麽,而且說得一些“概念化”的東西,聽得一知半解,聽完之後,就默默的點頭,然後就去總結從項目經理那裏討論來的業務需求,然後一步一步的開始開發了。

當時,我們尋常思維的訂單,無非就是根據產品的一種銷售狀態或者銷售記錄來獲取數據庫中的訂單狀態,這個訂單的修改呢,其狀態用四個表示數量的數據庫字段來計算得出,然後又有各種組合產品、單獨產品、組合產品+單獨產品的信息修改,操作,真心非常之復雜,這過程就不再闡述。總之,通過這個功能學習到了:

▌ 1、通過業務融入到技術開發中,排開業務來開發的功能、項目,都是不現實的。初期不懂的業務、功能點一定要向同事、項目經理求助,然後理清自己的思路再進行開發,這樣才能事倍功半!

▌ 2、技術層次,因為是個獨立的新模塊,這個功能涉及到了前端、後臺的整體操作,不僅將後臺的整體流程,從配置到開發獨立完成,再到前端界面操作各種js(雖然很淺,但是非常的實用),jquery操作,然後將所用技術全部進行總結,這些再度成為我個人實際增長的技術點和能力,因此再次感謝自己的總結習慣!

▌ 3、開發過程中不要怕犯錯。如果不犯錯說明進步不大,亦或是在做重復的工作。只有犯錯了,然後解決錯誤了,這樣才能成長,技術才能得到提升。通過總結所有的東西都是自己的!

這個是項目中獨立的一個開發模塊,但是因為其業務的復雜,以及在前段後臺的界面,邏輯操作,讓自己得到了很大的提升(一個功能做了兩個月),還好當初沒有因為覺得難而放棄。

參與項目之後,因為項目組就四個實際開發的(後續走了一個,還有一個成了接受需求、測試等工作的同事),基本上開發由自己和另外一個同事在做,這個期間,還是不太理解完整的業務邏輯,雖然已經做過簡化了,但是從自己做完訂單修改功能後,才開始慢慢的了解,這期間也了解到了至少有9部分(線上、線下)的關聯來實現主要的業務邏輯,因此自己的後續項目也圍繞著這5部分來進行業務、需求討論,並根據這些業務/需求來進行開發。

當時負責了9部分中其中的4,5個模塊,然後參與了其他的模塊的需求分析,因為都是關聯在一起的,因此或多或少都在其他模塊去開發過。

首先去完成的是線下功能,得去了解業務邏輯,得知道這是幹嘛用的(再次強調熟悉業務),因為裏面的邏輯太復雜了,在項目經理的諄諄教誨,抱著一知半解的心態,然後去做了,因為是二次開發,但是邏輯也有相應的變動,因此在以前的幾千行代碼上進行修改,當時哪裏看過這麽長的代碼,然後裏面各種調用其他類中方法,簡直是受罪。但是呢,隨著時間流逝,自己也從最初的完全看不進,到後來整個的那一塊的模塊讀懂,並且修改了大部分的業務邏輯,現在想想也是挺有成就感的,這塊的邏輯據說是公司的大佬級程序員幾個負責不斷修復完成的,然後我們就這樣毫不留情的改動了。

改完之後,肯定要先單元測試,整了幾個所謂“程序員能通過的測試用例”,然後去測試,很成功,沒有問題(這種情況下很多情況是坑)!程序員的測試用例,簡直到後來把自己坑的很慘。

把寫好的功能交給測試部,然後測試部以用戶角度去測試的啊,然後各種組合進行測試,提出一堆bug,搞的頭都大的不行,這絕對是個血的經驗教訓。

經過了兩三個月的開發,總算也是項目進入尾聲了,也終於把自己做的這個項目的整體流程,從需求--pm參與需求討論、制定開發任務--開發者得到任務--開發--編碼--單元測試--測試部測試,整個流程參與了下來,自己也是非常的受益匪淺,開發經驗飛一樣的上升(記住,我之前就說了我是一個愛總結的人,因此我的收獲非常大)。

幾個方面,這裏就不多說了,反正一句話,完整的參與了一個項目,並且全身心投入進來,那麽你的收獲將會是非常大的。

以上基本上為自己在公司所經歷的了,作為一年工作經驗開發人員,最後再總結一下:

1、業務為主,理解業務,就能讓自己思維清晰

2、初期不要嫌累和麻煩,做的越多,收獲越多

3、不斷總結,做的多不總結只能得到最常用的收獲,但是做得多總結了,將全盤收獲!

這裏是程序員秘密聚集地,各位還在架構師的道路上掙紮的小夥伴們速來。“

加QQ群:611481448(名額有限哦!)

Java程序員一年的成長和蛻變