1. 程式人生 > >【收藏】我的工作二年總結

【收藏】我的工作二年總結

今天看了雅琪MM的工作七年總結,也深有感觸,從一個開發者到設計者,管理者角色的轉變。算算,我也做開發2年了,也該總結一下自己了。


  09年3月在廣州,正式從事JAVA開發。那時候只是剛剛知道Java謂何物,Java基礎也就很一般,坦白說學過23天 JavaSE,突擊過15天SSH,寫一個BBS。一個小公司做三個月的臨時工。對於我從事的這份工作,這門語言完全處於茫然階段,當時面試完以後,給我的評語是:基礎還可以,框架完全是一團糟。



  回想起來我很想感謝那個公司,讓我技術提升了另外一層次,算是突破吧,又或叫做入門。試用期2個月,都在接受培訓。從前臺到後臺,我很感謝我的導師,他在我眼裡一直是個大牛,即便現在仍然是。後臺程式碼寫的漂亮,又精通前臺,公司的頁面元件基本上都有他參與開發。雖然他給我講的並不多,每天只有15-30分鐘時間,其餘的都是自己在看公司資料庫,寫練習。重新過了一篇JAVA基礎、SSH、TDD(測試驅動開發)、CC、Maven使用、Jquery、基礎的CSS知識。雖不深入,但卻也知其一二。試用期過後,分配到房地產事業部,主要工作職責主要維護公司的物業管理系統、人事管理系統。 其中人事系統是客戶和我們自己公司都在使用的。當時我正好參加了公司的人事系統結項大會,開發這個系統的員工薪酬開支是:90W。整個系統文件是21G多,這可謂是我當時維護工作中最頭疼的事。維護工作也算簡單,主要是新增一些功能,或者客戶打電話過來說由於一些誤操作異致了一些問題,讓幫忙解決髒資料之類的。這兩個系統是截止目前為止,我所經歷的最標準、最嚴格、最規範的系統。給我打上了很深的烙印,之後所開發的系統的我都會自覺不自覺的拿來跟它們比較。 唯一遺憾的是:我沒有參與這兩個系統的開發,沒有親身經歷開發過程。 在公司呆了半年,我總覺得是不是太閒了一些,而且沒在參與完整系統的開發,再加上部門的業務不太穩定,公司將發展重點放到影院產品線上,導致房地產行業部大量的人員流失。後來得知,後來我走後。整個部門被UC吃掉了,全部挖過去了。


  在這家公司,最大的最大的收穫就是:對於技術問題,不再有畏難情緒,相信技術的問題總有辦法解決、然後就是學會了解決的問題了辦法即Google。 到現在,只要碰到問題,我第一反應仍是Google,以至現在的公司的領導都說我很少拿問題出來討論,其實我是習慣了依賴Google,Java水平也提升了一個程度。


  10年的8月我到了深圳,由於缺乏工作經驗、專案經驗加之又是招聘淡季,找工作變得很困難。一個偶爾的機會去比亞迪打了一個月臨時工~之後他們希望我留下來,但是由於待遇問題無法達成一致,最後只能作罷。9月份急匆匆的進了一家公司,其實這是一個我比較反感的公司,公司會統一發工作Q,上班時間禁止線上聽歌之類的佔用頻寬的行為。各種各樣的罰款,比較有意思的是公司的一個實習生,發工資是扣完種種之後,拿到只有800塊。各種義務加班,連晚飯都不管。發生多起已離辭員工過來找公司清算薪資的,總之就是各種各樣的扣和少發。工作氣氛只能用一個詞來形容:民怨沸騰。我多次跟老闆溝通過,無效。總是得到各種承諾、各種許可,但卻屢屢失言。三個月,我已經徹底失望,下定決心走人,便是我開始找工作,很快找到下家,然後提出離辭,公司也給力的就批了,走的時候我還跟老總說了一句:我不希望我再回來清算薪資問題。11年的元旦,我正式去新公司入職,也就是我現在的公司,後來上家確實也沒有給我少發工資。



  這份工作,雖然只有短短的三個月,但是讓我認識到自己在溝通方面的優勢,長項。敢於表達自己的觀點、而且會講事實擺依據去說服對方來認同我的觀點。認識到自己的長處、優點是件幸福的事。



  從11年的元旦至今,一直在現在的公司工作,主要是開發公司的產品租用平臺。整個平臺由我一個人設計開發,這是我之前所未經歷的,所以其中有很多的辛酸和故事,當然也有很多值多興奮的事情。平臺在0.2版的系統進行重新開發,既要相容之前的功能、又有新增功能。做需求分析,只用了一個時間,在現在看來確實太短了,前期需求的透徹、具體的環境的分析不夠細緻,導致後期開發的時間改動稍微有點點大,至少超出了我的預期。接著設計原型,公司的策劃MM是新招來的,在這方面可謂是新手,Axure基本上不會用,對於原型設計更是沒啥概念,恨不和一個介面列出所有的功能來。沒辦法,她天天誇我帥,我只好天天手把手的教她~~ 開個玩笑,其實她是孩子的媽了,只是長的一張娃娃臉。當然了,現在她的Axure用的那比我是好多了。接著進行技術選型上,和領導們有了意見分歧,在我看來,只是一個簡單的資訊儲存系統 + 一定量rest通訊服務,對效能,併發無要求。我強烈建議採用SSH,但領導對於SSH這些開源框架關注的並不多,對於程式碼的穩定性可靠性有置疑。無論我怎麼說,他們堅定的堅持要我用自己封裝一套出來,我並不懷疑我的溝通說服能力,但是當領導內心已經堅持,任我如何說,亦是無效。最後用了3個月,對JDBC、Serlvet進行了封裝了,頁面的渲染領導要求採用sitemesh,關於sitemesh公司裡面,沒有一個比較熟悉的人,只是在他們在用openfire時,覺得這東西不錯,框架式頁面搭建。可悲的是sitemesh這東西,於是從openfire中摳出來程式碼,一直加到元件中進行封裝。可悲的是,這個程式碼繪製頁面不夠靈活,與我的需要有些出入,為了讓它更靈活,符合我的需要,於是對這套程式碼進行了重寫擴充套件。然後在第三個月開始設計資料庫,開發,至今已經到了內測階段。

   


  這份工作,是我獨立設計開發的第一套系統,對我的意義比較大。重新封裝JDBC、事務處理、Servlet,也算是對我的基礎知識的一個檢測,但是暴露出來的問題的也很多:

  需求分析、設計缺少經驗、需要分析和系統設計應該是一個迭代的過程。先進行梗概的分析、把握。再對具體環境更行細節的分析。就拿訂單而言:訂單如何產生、產生以後會經過那幾個狀態、什麼時候歸檔(完成),每個

  環節涉及多個少角色、每個狀態的轉變是進行何種操作引起等等......而不是簡單的分析一下訂單的本身包括的資訊就完事。前期的需求越是細緻,精確,後期的改動就越小。
  缺少巨集觀的設計,缺少整體的把握。比如技術的選型、頁面元件的選取和採用。比如做開發的時候,碰到需要用redirect的方式從後臺往前臺傳值的情況,而且這個值是動態的,需要我後來改近了自己寫的元件也達到這樣的功能,但是如果採用現成的struts,根本不需要浪費時間。又如前臺的驗證元件,彈出框架等元件都是到用時才去選擇,這也是缺少一個整體把握的過程。
  盲目的採用新技術。如採用sitemesh來渲染前面頁面,在公司沒有一個人對此項技術很瞭解的情況的盲目採用這種技術,導致了很多不必要的麻煩。在我開發中的很多問題都是由於這東西引起的、很多BUG也是由它引起,一個功能本來沒有問題,但由於在渲染的主頁面上定義了一個其它的功能,導致原本沒問題的功能失效。最廣泛的就是頁面驗證元件,大面積的失效。導致我重寫驗證。
  經驗缺少:如:頁面上同是用table佈局的地方,都要考慮到表格單元格內容過長,導致頁面變形;比如某些欄位在資料庫中做了長度限制的,在前面前面要也做到統一;比如元件不能吞掉異常,事實中在開發中,所有的異常應該丟擲來在同一層中進行處理;再如,元件的使用要統一,如使用Jquery。我為了避免在開發中會引入其它JS庫,所以在渲染介面寫了jQuery.noConflict();結果由於與彈出框架發生了衝突。導致我有些介面用jQuery,而有些介面則是用$來引用......


  馬上又是2012年的元旦了~意味著今年一年又過去了,從整體上對這二年進行一個總結,以及對接下來的工作和生活的一個規劃。

  

讀書方面:  

  在這二年中,主要看了如下幾本書:

  《Javascript權威指南》
  《Javascript高階程式設計》(約三分之一)
  《鋒利的jQuery》
  《AspectJ Cooking》
  《MySQL開發者權威指南》(約三分之二)
  《Spring in action第二版》(約二分之一)
  《Java程式設計思想》
  《Java核心技術第八版I、II卷》
  《重構--改善既有程式碼的結構》(約三分之二)
  《Java與設計模式》(目前只讀了約三分一)
  《UML與Rose2003從入門到精通》(正在讀)
  《時間管理幸福學》(正在讀)
  《簡化你的時間》(正在讀)

  從整體上看完了struts1和2的原始碼。很慶幸的是:從開始工作開始,把讀書這個習慣堅持下來了,雖然中途偶爾也有三天打魚、二天晒網。很多好奇,為什麼很多書我沒有讀完。是這樣很多東西,我只需要那部分,則先學那分部。比如我在看學習JQuery的時候,我發現我javascript的基礎不夠,於是我就看完了《Javascript權威指南》以及《Javascript高階程式設計》的JS面象物件、JS的DOM操作部分。至於其它部分,我不急需,所以暫且放置。比如,我看《重構》最後那分三之一,大部分都是講設計的重構的,需要對設計模式有一定的理解,於是我開始系統的學設計模式,《Java與模式》一書中有大量的講設計的,但是我發現我的UML,只會常用那幾個,如類圖、時序圖,且都是用的時候臨時學的。於是我開始學UML 與 Rose。

   

技術方面:  

  從只知其一不知其二,開始慢慢追逐技術的實現,從只懂用框架、開始理解原始碼。從能實現功能至追求程式碼的漂亮、開始養成重構的習慣。從停留在表層編碼,開始關注設計,思考問題開始站在設計的高度來思考。

 

 生活方面:  

  在2011年,談了女朋友。她很賢惠、對我很好、對我的父母也很關心很好。燒的一手好菜,而且有很我的工作也很支援,我在看書,寫部落格的時候,她大忙碌在廚房,為我煮好吃的,給我解決了生活上的瑣事。讓我可以更專心的做我喜歡做的事。


薪資方面: 從2010到2011年初,薪水完成翻一番的目標,達到預期標準。遺憾的是:這一年內沒有加薪~~


工作方面:只能用一詞來形容:顛沛流離。由於學歷,工作經驗問題又或者是機遇問題一直沒能找到比較理想的工作。雖然現在的的公司企業文化、工作氣氛都很好,但是我始終感覺不到團隊的氣氛。



當然也有很多值得反思、檢討的方面:

  心態還跟不上時事的轉變。我已經不再是學生,是一個工作了2年的社會青年、工作對我而言是愛好、更是飯碗。我已經不再曾經的文藝小青年,我們即將面臨結婚、生子、贍養父母等各項人生大事,不能抱著玩耍的心態,更需要對自己的人生負責。

  工作狀態不穩定。有時候上班會整天整天的聊Q,這一般多發生在後期改BUG階段,我個人比較喜歡寫核心程式碼、寫新功能,其實無語是改BUG,還是寫新功能,都是工作職責,此事可大可小,小可說缺乏工作熱情,大可說不負責任。這點在今年9,10月份表現的很明顯、愛在QQ上閒聊、在CSDN上花太多時間。

  沒有掌握適一個好的工作法。工作缺乏計劃,很多時候回到家,回想自己一天都幹了什麼時,大腦是一片空空的。

  不會管理自己的時間。有時候一天天會很閒,一天天卻又很忙,這點跟第三點有點類似。基本上是同一個類的問題。所以我買了2本管理時間的書。

  這一年基本沒有陪女朋友逛幾次街。



 在即將到來的2012,做一些如下計劃:

  讀完《UML 與 ROSE》 《Java與模式》 《重構》 《Hibernte實戰》及主要部分原始碼 《spring in action第二版》、《spring技術內幕》以及主要部分的原始碼 以及工作中需要用到的技術。

  希望換到一家大公司、一個好的技術團隊、接觸標準的開發流程、完整參與一些大的專案開發、可以暫時終結我工作上顛沛流離、讓我可以得以沉澱、在技術上突破一個層次。薪水上,再上漲2K。

  如果順利、下半年與女朋友結婚、她無要求我買房買車,我必須給她一個交待。

  改掉愛在QQ上閒聊的習慣,適當減少來CSDN 的時間(寫部落格除外)

  掌握一套適合自己的工作方法,讓自己的工作有條理有計劃、學會管理自己時間。


 雅琪MM的格言,我借用了。希望雅琪MM不要告我侵權^_^。


 低頭做事、擡頭做人。 保持空杯心態,繼續加油。