1. 程式人生 > >總結我作為程式設計師2年6個月的經歷和收穫

總結我作為程式設計師2年6個月的經歷和收穫

    2013年8月,本科畢業後進入北京一國企部門做java開發。

    畢業時的技術能力是:能夠獨立使用jsp,servlet開發簡單web專案,能夠自己在程式中寫sql並使用jdbc連線mysql(無連線池),使用while迴圈手工處理ResultSet,簡單瞭解div+css,會在windows上簡單使用tomcat。對於java本身,僅限於會用List、Set資料結構;對於servelt,只會request.getParameter接收引數,request轉發和response重定向,沒有了解過當時流行的ssh,資料庫不會建索引,以為快取就是在程式中把從資料庫查出來的資料儲存在一個變數裡。

    面試時最低要過2500,最後進的公司薪資是稅前4000,稅後3100+每月租房補貼500,房租1200。

    當時部門領導還是挺為我們考慮的,三個月內,不用我們工作,自己學習技術,相當於給了我們一個緩衝期,一起入職的十個小夥伴都感覺非常爽。由於我和另外一哥們當時能用java輸出hello world,後來被任命為小組長,每人負責幫助4個小白同學學習java基礎。按說我應該很開心,畢竟剛一工作就比同來的同事們更受領導看重,可是我心裡壓力是很大的:第一,待遇真的不高,一個月省著點能給女朋友買件衣服,根本別想存錢;第二,在這裡,我感受不到進步,看不到廣闊的前途。在自學的第一個月裡,我需要花很多時間跟小組裡的同學說著一些基礎得不能再基礎的東西,我作為組長,這是應該的,我也願意成為別人心裡一個被感謝的物件,可是自私地說,我沒有看到自己的進步,沒有了解到任何新東西,沒學到任何新技術,而時間一直在流逝,我心裡很著急。第二個月的時候,領導開始讓我們學習hibernate、spring、springmvc,我高興壞了,這才是有用的東西,我終於感覺我要上道了!人生第一次學習傳說中高大上的框架,我還是挺認真的。hibernate的一對多多對一多對多對映配了好多遍,自動生成實體類,也學著寫HQL;還有spring,這可是阿里要求精通的東西,太有前途了,我雖然不明白其中的原理,但是能用,@Autowired就能自動引入,太神奇!於是,我之後,憑藉僅僅是會用的仨框架,安慰了自己九個月。做了一個陪標的專案Demo,然後正式加入了一個專案組,後來發現六百多萬的專案並沒有明確的開發任務和計劃,而且,貌似開發就我一個人。天天駐場不知道該幹什麼,一般沒人管,上午十點到那,一會兒吃個飯睡個覺到兩三點,實在無聊甚至四五點就開溜回家,優哉遊哉。我覺得我在浪費最寶貴的一段生命,我本可以利用機會好好充實自己,但處於毫無氛圍的環境裡,實在打不起精神,也曾促使自己學習,但是無人交流,無法堅持。忍無可忍,我開始投簡歷,在一次領導責問我幹了什麼工作的時候,我慚愧地低下頭,又擡起來,提出離職。事後領導再三拒絕簽字,但我去意不容更改!原來培訓時小組裡一個關係不錯的哥們發了一句說說:不給漲工資的挽留,都是耍流氓。第二天,領導就簽字了。感謝好哥們!

    2014年7月,進入一家曾經比較輝煌的電商公司做java開發。

    當時的技術能力是:會用hibernate、spring、springmvc開發web專案,會用mysql,會用tomcat。值得一提的是,根本不懂原理,只是會用,自己能不能成功搭個系統框架心裡都沒底。

    進公司時給了8000。說是每個季度有績效,還有年終獎,一年下來至少15個月的。沒想到一直8000了一年多。

    沒敢多要,甚至感覺是僥倖遇到一個不專門做技術的好領導面試才得到這個機會,當時還挺開心的,想著一定好好幹出一番事業!一進公司就面對著許多新東西,讓飢渴的我又高興壞了!在鵬哥,這位我心中的技術大牛,的指導下,我依次接觸到了好用的maven,快速做系統介面的easyUI,新的模板引擎velocity,簡單好用又流行的持久化框架mybatis,soa架構的常用實現dubbo+zookeeper,傳說中的redis,我還漸漸熟悉了linux部署專案,apache控制請求轉發,我親眼見到了企業開發時的專案架構方式,我知道了開發要加日誌便於記錄狀態和除錯,我知道了可以使用RESTful風格設計資源訪問方式和url規範,開發介面的時候一定要多使用try、catch處理各種異常保證正確的返回資訊,我知道了亂糟糟的程式碼要進行重構。

    我們部門的專案最後失敗了,領導走了一個又一個,同事也走了一撥又一撥。

    2015年6月1號,我們幾個幹技術的在部門倒閉之前被調到了另外一個公司重點部門的創新開發小組。

    領導很好,常帶我們去吃大餐,對我也很好。當原來部門一起過來的哥們都陸續離開之後,我一個人接手了原部門所有系統的維護,實際上,在原部門沒有被解散之前,所有後臺相關的事情全都歸我負責,一共十幾個系統,原來的部門領導曾經跟我說:我們全靠你了!我壓力山大,但很開心,我知道了整個系統的各個方面,對用到的各種技術都親自實踐了一遍,問題逼著我學會了除錯和部署,Linux也更熟練了。直到原部門解散,我算是讓系統成功堅持到了最後一刻。

之後我投入新部門的開發,我實際上負責了一個小專案的開發,從專案搭建到各系統的整合,從系統設計到任務分配和開發,現在依然堅挺地平穩執行著,個人感覺是對之前所學的一個小總結。

    然後,這個創新開發小組被解散了,小組領導和之前小組的同事全部離職。

    2015年11月,我被調到部門的主業務小組,同時接手了原小組留下的幾個最主要的系統。業務的領導跟我說,我們全靠你了!於是,我從頭開始瞭解那幾個我根本沒有參與的系統,在這個過程中,我又學到了新的專案架構,另一種Nosql資料庫mongodb,定時任務框架quartz,java併發包中執行緒池、佇列等,親手部署rabbitmq佇列服務。我重新開發了推送任務,目前接手的各系統可以穩定執行。基本完成後,我又投入到新小組的開發任務,瞭解了git、學習了另一種應用伺服器nginx,簡單學習了python,shell指令碼,在同事的分享中,大概瞭解了搜尋框架solr、mysql中介軟體atlas、linux負載均衡lvs、新的快取資料庫ssdb。

    我覺得很多東西理解地並不深入核心,所以開始瞭解spring、springmvc、mybatis、dubbo、zookeeper、redis的原理,jvm記憶體管理;

    我覺得很多東西還沒有達到站在高處,從架構的角度去比較、選擇、應用各種工具的領悟,所以開始關注架構設計、各公司架構演進方案。

    今天,我還沒有離開現在的公司,儘管確實有些顛沛流離,而且被我克走了至少4個大領導,而且一直8000了一年半,但是我覺得有收穫。不過,我認為我只是做了一些最基礎的積累,層次很低,今後我可以以現在2倍的速度去努力達到更高的目標。

    2016年,我要在腳踏實地的同時,走得更好。