那年7月份到深圳,信心滿滿的覺得本身找工做會一路順風,誰知這成了一部血淚史,帶着一份servlet+jdbc作的畢業設計到深圳,簡歷上三三兩兩的寫了「項目經驗」:圖書管理系統、養老院管理系統,當時還徹底不會SSH(struts2+spring+hibernate),而後自信滿滿的到求職網上投簡歷,投遞了兩天,發現並無任何用……前端
這家公司(下面稱爲公司)也是運氣進來的,當時是拿着本身的電腦,簡歷,一份畢業設計《養老院管理系統》,非SSH框架技術,面試個人是公司的前端大師,也得虧運氣好吧,當時作的界面和公司的後臺系統是差很少類型。大概10天后,可能出於培養和解決當前用人問題把我招進來。mysql
那年-07-28,正式進入公司,由一位同事給我介紹公司的總體業務,把整個主要流程講了一遍,而後就算入職了。jquery
9月份,公司接了一個大項目,來了四我的,那氣勢真是足,提出的需求真的很是多,很是苛刻,公司也是給其能夠實現。我參與了進來,當時的項目經理也是很是好,看我剛畢業,也不會SSH,交給我一個很是簡單的模塊,還記得是幾個複選框添加到界面,而後讓操做的時候這複選框要有做用。當我看了需求文檔,真心不知道如何下手,然而項目經理覺得我可能一兩天搞定,結果搞了一個星期。公司框架導下來各類報錯,不會框架方面調試!但也只能硬着頭皮上,雖然那些基本的編程能力仍是有的,畢竟也是獨立的寫完畢業設計,可是SSH開發真的不會,到後來幾乎都是旁邊的大神幫忙搞定的,真的汗顏。不過也經過他幫忙,對整個流程稍微瞭解了,總算是交了差。通過幾天的時間,也算是熟悉了。後來獲取了項目經理的一點信任,交給一個完整模塊,能夠從頁面到後臺交互都能完整的操做一遍,欣然接受了,花了個把小時把這個功能的需求寫出來,交給項目經理,審覈經過,而後交給我去作。九月份還有半個月我就在這上面耗着了,後來也是大致將這個功能完成了,也算鬆了一口氣。程序員
九月底安排去武漢出差,到武漢來幫忙打雜,作一些項目的修修補補工做。固然,我的也樂意這樣的安排,反正都是學技術,還有補貼。首先把環境搭建好,而後將項目跑通,這裏說一下,公司的項目,從svn上導下來以後,還須要不少步驟的修改,才能跑通,真的很頭疼(如今這家公司,導下來直接跑通,方便不少),就開始了正式的SSH學習之旅。面試
在武漢這邊,任務是作報表,寫週報,將所用技術總結成文,寫的每個步驟都很是詳細,也包括所使用的工具的使用等,由於公司週報要求不是很規範,只要有內容就行,可是我敢確定,個人週報是當時開發人員裏面寫的最好最多最徹底的。由於週報,能把所用技術不斷的鞏固,知識點不斷的複習,把SSH框架的總體流程徹底掌握,而且在CSDN發表了本身的簡單的技術文章,本身也算是在技術路上啓程了!spring
在武漢的這段時間,由於是作很簡單的報表,趁着寫週報的時間,把接觸到的全部用到的技術:struts二、spring、hibernate、oracle、潤乾報表、Dreamweaver、 Secure Shell client、mysql、tomcat等操做流程,接觸到的業務需求,所有整理成周報,而後提交給公司專門收週報的工做人員,而正是這段時間,技術積累飛速提高。正是從這週報總結上得到了巨大的收益,但願都能有總結的好習慣!不斷總結,技術才能變成本身的!sql
從武漢出差回來以後,在那年度年終大會上,表明着公司新人上臺發言了。還抽獎中了公司一等獎(後來我據說是公司技術老總看我工資偏低,而後在抽獎環節作了「手腳」,感動ing)數據庫
後來進入新項目開發,其實就是二次開發,只是把數據庫,系統後臺的結構所有進行改變。無論如何,這也算是一次機遇,不管項目大小,讓本身知道要作什麼,要去學習什麼,要去得到什麼,因此就很是激動的進入項目組,開始本身的零項目經驗的開發!編程
最初,項目經理安排了一個訂單修改的功能模塊。公司訂單這塊真的很是的複雜,我敢說,不少的公司可能都沒有這家公司的業務複雜。修改一個訂單,很是的頭疼,這才發現原來業務這塊真的不擅長,很是缺少經驗。不知道要作什麼,並且說得一些「概念化」的東西,聽得只知其一;不知其二,聽完以後,就默默的點頭,而後就去總結從項目經理那裏討論來的業務需求,而後一步一步的開始開發了。tomcat
當時,咱們尋常思惟的訂單,無非就是根據產品的一種銷售狀態或者銷售記錄來獲取數據庫中的訂單狀態,這個訂單的修改呢,其狀態用四個表示數量的數據庫字段來計算得出,而後又有各類組合產品、單獨產品、組合產品+單獨產品的信息修改,操做,真心很是之複雜,這過程就再也不闡述。總之,經過這個功能學習到了:
▌ 一、經過業務融入到技術開發中,排開業務來開發的功能、項目,都是不現實的。初期不懂的業務、功能點必定要向同事、項目經理求助,而後理清本身的思路再進行開發,這樣才能事倍功半!
▌ 二、技術層次,由於是個獨立的新模塊,這個功能涉及到了前端、後臺的總體操做,不只將後臺的總體流程,從配置到開發獨立完成,再到前端界面操做各類js(雖然很淺,可是很是的實用),jquery操做,而後將所用技術所有進行總結,這些再度成爲我我的實際增加的技術點和能力,所以再次感謝本身的總結習慣!
▌ 三、開發過程當中不要怕犯錯。若是不犯錯說明進步不大,亦或是在作重複的工做。只有犯錯了,而後解決錯誤了,這樣才能成長,技術才能獲得提高。經過總結全部的東西都是本身的!
這個是項目中獨立的一個開發模塊,可是由於其業務的複雜,以及在前段後臺的界面,邏輯操做,讓本身獲得了很大的提高(一個功能作了兩個月),還好當初沒有由於以爲難而放棄。
參與項目以後,由於項目組就四個實際開發的(後續走了一個,還有一個成了接受需求、測試等工做的同事),基本上開發由本身和另一個同事在作,這個期間,仍是不太理解完整的業務邏輯,雖然已經作過簡化了,可是從本身作完訂單修改功能後,纔開始慢慢的瞭解,這期間也瞭解到了至少有9部分(線上、線下)的關聯來實現主要的業務邏輯,所以本身的後續項目也圍繞着這5部分來進行業務、需求討論,並根據這些業務/需求來進行開發。
當時負責了9部分中其中的4,5個模塊,而後參與了其餘的模塊的需求分析,由於都是關聯在一塊兒的,所以或多或少都在其餘模塊去開發過。
首先去完成的是線下功能,得去了解業務邏輯,得知道這是幹嗎用的(再次強調熟悉業務),由於裏面的邏輯太複雜了,在項目經理的諄諄教誨,抱着只知其一;不知其二的心態,而後去作了,由於是二次開發,可是邏輯也有相應的變更,所以在之前的幾千行代碼上進行修改,當時哪裏看過這麼長的代碼,而後裏面各類調用其餘類中方法,簡直是受罪。可是呢,隨着時間流逝,本身也從最初的徹底看不進,到後來整個的那一塊的模塊讀懂,而且修改了大部分的業務邏輯,如今想一想也是挺有成就感的,這塊的邏輯聽說是公司的大佬級程序員幾個負責不斷修復完成的,而後咱們就這樣絕不留情的改動了。
改完以後,確定要先單元測試,整了幾個所謂「程序員能經過的測試用例」,而後去測試,很成功,沒有問題(這種狀況下不少狀況是坑)!程序員的測試用例,簡直到後來把本身坑的很慘。
把寫好的功能交給測試部,而後測試部以用戶角度去測試的啊,而後各類組合進行測試,提出一堆bug,搞的頭都大的不行,這絕對是個血的經驗教訓。
通過了兩三個月的開發,總算也是項目進入尾聲了,也終於把本身作的這個項目的總體流程,從需求--pm參與需求討論、制定開發任務--開發者獲得任務--開發--編碼--單元測試--測試部測試,整個流程參與了下來,本身也是很是的受益不淺,開發經驗飛同樣的上升(記住,我以前就說了我是一個愛總結的人,所以個人收穫很是大)。
幾個方面,這裏就很少說了,反正一句話,完整的參與了一個項目,而且全身心投入進來,那麼你的收穫將會是很是大的。
以上基本上爲本身在公司所經歷的了,做爲一年工做經驗開發人員,最後再總結一下:
一、業務爲主,理解業務,就能讓本身思惟清晰
二、初期不要嫌累和麻煩,作的越多,收穫越多
三、不斷總結,作的多不總結只能獲得最經常使用的收穫,可是作得多總結了,將全盤收穫!
這裏是程序員祕密彙集地,各位還在架構師的道路上掙扎的小夥伴們速來。「