1. 程式人生 > >一個java程序員的真實經歷

一個java程序員的真實經歷

java 程序員

半路出家的老java程序員的一點感悟

我是一個老java程序員,現在基本告別編碼時代了,當然我現在還在寫代碼,不是為了老板寫了,是自己在創業。回想起這麽多年的人生路,作為一名老程序員感慨頗多,尤其是作為一名半路出家的程序員,其中的滋味更是感慨萬分。下面我就自己說說我的經歷,也許會給未來碼農一點啟發。


首先講講我是怎麽成為一個程序員的,這個還真要說說中國的教育。我們國家的這種應試教育一直受到很多人的詬病,有的指責扼殺了學生的創造力,有的指責培養出來的學生就像火腿廠生產的香腸,都是一個味毫無特點而言。其實我們國家的應試教育有他的缺點,也有他的優點。缺點就不說了,我們都知道。優點是他對於家庭貧寒的人來說,提供了一個出人頭地的上升通道。當然,現在這個社會能多賺錢過上好生活的方法很多,不止讀書。當然,我也不是那種家庭貧寒,就是一個普通家庭而已。當初上學的時候懵懵懂懂,只是讀書而沒有思考過,將來自己能幹什麽。其實也不是沒有思考過,確實是思考過將來能幹什麽,但是確實是不知道自己將來能幹什麽。


初中畢業後,就上了個職專,當時還是學藥的,跟計算機沒有一毛錢關系,也不知道java。後來畢業後就直接家裏蹲大學了,當時1998年工作特別難找,全國都在下崗。可能大家不知道我們國家改革開放的成本之一,就是1998年大批國企職工下崗再就業。我本來也不怎麽喜歡醫藥專業,我自己性格的原因,比較內向,真的是幹不了銷售藥品工作。我還做過幾個月的保險推銷員,真的努力過但一無所獲。當然我的同學有幾個現在都發財了,他們是醫藥代表,天天背著包掛個號,在醫生的各個科室裏醫生塞回扣。我在上職專最後一年接觸到了計算機,特別的喜歡,我終於找到了自己的一個興趣點。於是在畢業後,還報了個《全國計算機等級考試(一級)》,大家不要笑話我,當時1998年,我是見過286的人,386,486,586這些機器我都見過,當時一臺286要一萬多,1998年的一萬多,一般家庭根本買不起。我除了上課那麽幾個小時練習一下,平時也沒有機會練習。後來我發現我家附近的商業大學的計算機房對外開放,286一塊錢一小時,386二塊錢一小時,就去那裏練習五筆字型,現在我還是用全拼。


嘗試了很長時間找工作,發現自己真的什麽都不會,在學校什麽都沒學到。能幹的就是超市理貨員的工作。當時找工作可真不像現在在網上投簡歷一樣輕松。都是買門票去招聘會,招聘單位都是要大專、大本的學歷,對我打擊很大。最後決心吧學歷補上,開始了高自考的艱辛歷程。當時自考專科學的是《計算機應用》,本科是《計算機網絡》,說實話真的不容易,我確實是下了苦功夫才一門一門考過的,主要是基礎太差了,最大的障礙是英語。直接學大學英語真的太吃力了,我直接買了一套高中英語+輔導,自學了3個月,把三年的高中英語學了一遍。當然,高考絕對不行,我只是學習了語法,單詞,能夠把課文都看懂。然後開始學習公共英語三級,當時公共英語三級是自考指定的教材,我也真實服了,教我們英語的是一個南開大學的研究生,很多發音都不準,後來被學生給投訴了。我還報考了一次大學英語四級,當時四級還是讓社會報考的,現在只能在校大學生報考了。當時深受打擊,首先聽力一句沒聽懂,然後就是不管是選擇題,還是閱讀什麽的,我基本上一句話都沒看懂,每句話裏面都有不認識的單詞,我的詞匯量根本應付不了這種考試。最後我記得是30多分。騎車回家的路上感覺整個人都是暈的。還有一門課程就是物理,因為沒有高中基礎,學起來感覺非常吃力,似乎初中的物理知識一點都不管用了,還有高數、線性代數、計算方法、模擬與數字電路、都是讓我頭疼的,但是我都全力以赴的一一攻克了。最後,找了個天津工業大學的學生,他自己寫了個家教網,.Net的,我花了100塊錢變成了我的畢業論文,終於順利畢業了。


當時真是太高興了,終於拿到了自己夢寐以求的本科學歷。其中付出的辛苦,只有自己知道。每天要騎一個多小時的路去聽課,而且由於南大那個講信號與系統的老師實在太差了,根本聽不懂不說還是個結巴。我和同學一起跑到天津師範大學去蹭課。要說天津師範大學的老師講的真不錯,人也不錯,其實他是看出來我們是蹭課的,但看到我們這麽臭不要臉的,下大雪都不遲到,也就睜一只眼閉一只眼了。


後來找工作依然受挫,因為我還是什麽都不會,大家也都知道,大學裏學的根本找不到工作的。於是我又迷茫了,也許大家會問,去報個培訓班啊。因為當時我真的對培訓班很抵觸,我覺得那裏根本也學不到什麽東西,就一直沒有去,自己買了幾本書,還真的學不會。糾結了很長時間,當時壓力也確實大,親戚朋友都看著,畢業了,怎麽一點動靜也沒有啊,是不是個書呆子什麽都幹不了啊。最後實在沒辦法了,在網上查了查java培訓,結果找到了《中軟培訓》,於是我跳入了一個圈套,我個人認為,這是我一生當中,到目前為止,上過的最大的一個當。當然,我在這裏絕沒有貶低或者誹謗java培訓機構的意思,我只是把我的親身經歷寫出來,真實的經歷而已。


2003年春節剛過,我就踏上了北漂求學之路。當時我媽是很反對我去北京上這個培訓班的,我爸爸倒是支持,之前也去考察了學校,交了學費。不管怎麽著,我還是去了。因為我確實是對軟件開發感興趣,想從事這份工作。東西真不少,帶著被枕頭等,我還記得,當年天津到北京還沒動車,是那種雙層的日本進口的火車。坐日本人的火車特別累,座椅是90度而且座椅特別短,一個半小時到北京在當時已經是神速了。


到了北京找到培訓機構老師,給介紹了個房東。當時是住在人民大學對面,就在三環邊上的高層,一個兩居室大屋6個人,小屋4個人上下鋪。第一次領教了北漂是的蝸居生活,但是第一次離開父母,無拘無束,而且是學習自己的心愛的java開發,即將成為一名程序員,一想到這些還是非常激動。班裏20多個人,有男有女,大家相處都很愉快。我在家裏是自學過一些java基礎課程的,我買了本java基礎的書,我這個人有點強迫癥,就是總是想稱為技術大牛,遇到問題總是打破砂鍋問到底的,我還買了一本英文書《JavaTutorials》官方教材,我對著中文翻譯過來的教材,大大提高了專業英語的水平,但是我花了很長時間自學的東西,被那個講基礎的老師2天就講完了,講的特別快,半個月後我就感覺很遲了,有點跟不上了,當時講課,一點視頻都沒有,老師也不給錄制,所以有時候他演示過去忘了就想不起來了。我到下個班重聽了一邊。我發現非常坑爹的是,前面基礎+servlet+jsp馬馬虎虎還差不多。到了後來學struts1也不多,尤其是田雪松老師講的真不錯。問題是hibernate和spring都沒講,然後就進入了項目實戰,更奇葩的時候,項目實戰根本沒有項目,就一個不講課的培訓機構領導,讓我們先做需求調研,讓我們去找他做項目的需求,他就在辦公室接待我們,所謂的辦公室也是一大幫人在一起,然後讓我們自己想,自己思考怎麽做這個項目,自己寫代碼,也沒有例子可以模仿,也沒有實際的老師指導,對於我們這些新手還沒入行的人來說難度也太大了。我還記得當時辦理有個北京人,家住石景山說是原來是首鋼的,特別能張羅,組織大家做項目,最後也不了了之全都找工作去了。就這樣,我們學了個java基礎+servlet+jsp+struts,連分頁都沒講,開始找工作了。


這也許是我當時找工作特別費勁的原因,原本以為培訓完了可以找到工作,但是因為培訓質量太差了,感覺中軟的課程體系根本不完整,我去面試的時候被問到hibernate,spring都不會,而且javascript非常的薄弱。又一次面試,對方問我會不會js,我說不會,等面試結束我就上網查什麽是js,原來js就是javascript,我去,配需從始至終,沒有聽老師說過一句js。學校當初是承諾給推薦工作的,其實我覺得現在培訓承諾保就業,也不必太相信這些,關鍵是培訓質量,培訓質量的關鍵是老師,學東西最關鍵的是能跟一個好老師學習,才能真正學到本事,才能找到工作。學的差誰也保不了你,除非有路子。還有一次問我做過什麽項目,我就把事先編好的故事說了一邊。面試官問怎麽做的登陸,我就說輸入用戶名、密碼進行驗證,成功就登陸,失敗就返回登陸頁面,說實在的,當時是非常心虛的,非常緊張的,雖然登陸的例子還是做過的。後來面試官又問,登陸以後把用戶放哪,一下子把我問住了,放session啊,但是我沒想起來。我擦了,我們一個項目都沒做過,老師只舉例做過那種整數+1,放到session,request,application中的那種計數器,從來沒有舉例說把用戶放session裏面,我的面試的過程,每次都會遇到新問題,我每次都進步一點點。還有問我會不會寫樹的,我說會,問我一個樹節點有幾個屬性的,我又掛了。其他同學跟我差不多,我一邊面試,一邊自學,補齊javascript的短板。後來,我就在仿徨和恐懼中開始海投了,每天全選,群發,接電話,有是有一天好幾個面試,都跑不過來了。一天下午,我下超市買東西,突然接到個電話說是用友的人事。當時興奮異常,因為沒有工作經驗,我面試的都是小公司,這回不知道怎麽回事,居然能被用友面試,大名鼎鼎的用友早就如雷貫耳。於是,馬上跑回宿舍把簡歷熟悉了好幾遍,因為項目經驗都是編的,又好好的推敲了一下,琢磨人家會怎麽問。把學過的知識點有溫習了一下,懷著忐忑不安的心情,到了上地五街彩虹大廈面試。面試我的人叫什麽現在記不清,記得他是個胖子,先是做了點筆試題目,做的什麽我忘了,但是做的不好。後來他就拿著面試題挨個問我,回答的也不是很好。最後他看了看我的簡歷,說你是自考的,我說是,後來又讓我寫個查詢的應用,我就寫了個連接數據庫,把表中所有數據都查出來,在頁面上顯示的程序寫了一遍,然後就讓我回去了。心情很沮喪,來的時候抱著很大的希望,面試完感覺沒希望了。過了兩天,突然接到用友人事的電話,讓我去上班,我擦了,當時這就是狂喜,萬萬沒想到,我居然走了狗屎運,能進大公司。還特意買了件新襯衫。到了用友又見到了面試,他很熱情,對我說有個同事離職了,讓我接手他的工作,於是開始熟悉代碼,沒有想到的是,用友用的是swing,我之前也接觸過一點,但在學習的時候,老師一直強調這個用的不多,也沒怎麽講,學的也不深,看起代碼來特別吃力。當時因為沒有經驗,我看代碼不是一邊調試一邊看,而是打開一個源代碼文件,從頭看到尾,現在想想,當初培訓的老師也不教教怎麽看源碼。大概是過了一個星期,他給我布置任務讓我改bug,我真是無從下手。他們項目也比較緊張,覺得我實在是不行,最後被辭退了,當然也沒工資,就白吃了幾頓中午飯。當時的心情真是糟糕到了極點,站在公交車上,多少路忘了,當時是沒有空調的公交車,我卻絲毫感覺不出熱,當時正好是八月份,非常熱,回去我就發燒了。宿舍的兄弟都不錯,當天晚上沒有開空調,我蓋著棉被還感覺冷,他們一個個大汗淋漓的!現在回想起來,還是很感激那個用友的胖子,從面試的標準來說我肯定不合格,也許是他覺得我是自考的,應該有自學能力,才把我招進來,只是我水平太差,沒有把握住機會。於是,又開始了海投。當時已經開始懷疑人生了。就在這個時候,又面試了一家小公司,是做什麽機場信息系統的。面試的人好像水平也不怎麽樣,問我什麽是多態,我就舉了個例子,然後他就非常驚訝的樣子說,我面試了這麽多人,這是我聽到的最好的解釋。然後就開始介紹他們公司,說公司雖然小,但是做的都是大項目,公司正需要像我這樣的高手加入,讓我帶領大家完成機場的項目,我聽了也是被震驚了,還問我什麽時候可以入職,我說我要在考慮下。我心想,我是找人來帶的,居然讓我帶人。後來面試了一家公司,是一個給某國企做系統的,國企的名字我就不說了,反正是跟國企有關系,要不然也不會能攬到這樣的項目。經理問我java多態,我就給他解釋了一下,父類的一個引用指向子類的一個實例。編譯時...,運行時...,我剛說完他就哈哈大笑,說我說反了,我當時說了寫什麽,現在記不清了,但是我可以肯定,我絕對沒有說反,經歷是個結巴,這個我可以肯定。然後發生的事情出乎我的意料,他讓我回去等通知,在回去的路上人事就給我打電話讓我明天來上班,我擦了,工作來的太突然了!


上班第一天沒什麽事情,就是裝機器,搭建開發環境。我也很輕,因為哪天是星期五,星期六日就休息了。折騰了一上午,終於吧項目從cvs上下載下來並在本地運行起來了。當時版本控制就是用的cvs,哎,培訓的時候cvs也沒講,我倒不是說這些東西不能自學,但是培訓費花了9800,就學了這麽點東西,根本不夠用的,太不值了,感覺真的很坑。2003年的9800啊,不是一筆小數字啊!一看那些hibernate,spring的配置文件,馬上就暈了。當時買了本孫偉琴的hiberate學的挺慢的,spring接觸的也不多。終於快下班了,經理對我說,明天一起來加班吧,項目挺緊張的。我當時就暈了,我擦了,第一天上班就加班,我說,好,沒問題!


第二天早上4點多,我突然驚醒,其實我一晚上都沒怎麽睡覺,想想明天要寫代碼就特緊張,怕完不成任務又讓人開了。穿衣服爬起來,在床上打開電腦,弄了本書開始研究分頁,說實在的分頁對於一個沒有開發經驗的java程序員來說,確實是有點難度的。我想做項目肯定會有分頁的,到了6點多,終於研究的差不多了。洗漱吃早點,去上班了。果然,第一個任務就是一個模塊的增刪查改,我模仿其他模塊做了一天,hibernate的分頁還是比較簡單的。就是js有點麻煩,有個地方搞不定,還讓項目經理幫了下忙,下班的時候,經理對我說,怎麽樣,我說還行,寫完了。於是,他檢查了下我的模塊,看了下代碼,有對代碼中變量的命名,代碼註釋等格式問題,做了指導。下班後,我長出了一口氣,終於找到工作了。兩個月就過了試用期,工資4000.


這是我的第一份工作,萬事開頭難,工作中遇到了很多的困難,隨時面臨新的挑戰,我覺得只要有毅力,這些困難都不是問題。兩年後我跳槽了。去了一家國企做電力系統的項目。這個公司做了兩年,感覺國企的氛圍實在真的是受不了,項目很緊張,還要讓你去開會,聽什麽領導講話。講我們集團以後要怎麽怎麽樣,他大爺的,我手裏的活明天要交差,幹不完要加班,加班幹不完要通宵,哪有功夫聽你瞎BB。大大小小的會議特別多,領導說起話來特擺譜,我進公司兩個多月,一直以為公司的副總是老總,公司的老總是副總。因為每次開會的時候,副總說起話來特像老總,老總到是笑嘻嘻的,還老征求副總的意見,但是副總說話都是命令式的,從來不問大家有什麽意見。後來跟同事聊天才知道,我搞反了。也許是副總譜擺的太大了,最後讓老總給撤了。


2007-2008年正好趕上互聯網的泡沫,整個世界經濟危機,中國也受到影響。帝都的寫字樓裏,也經常聽到有的公司在裁員,有的在降薪。我當時想著回天津,在家裏找份工作,要趕緊搞對象,結婚了,家裏也是催的緊。賺錢已經不是首要目標了,程序員都是單身狗,難道這就是宿命。我辭去了北京的工作回天津找工作。2008年的天津軟件公司特別少,在網上就很少,工資也特別低,回家找了兩個月打擊很大,工資太低了,而且都在華苑軟件園,特別遠。很無奈,我又回到帝都,拿著鍋碗瓢盆,再次北漂。


後來在一個小公司幹了兩年,給農業銀行做考試培訓系統。突然一天接到老大的電話,就是我第一份工作的項目經理。他說他在做電商是技術負責人,讓我過去幫他,特別高興。去上班的頭一天又見到了以前的同事,大家又在一起了。寫到這裏,我又打開了馬薩瑪索 (http://www.masamaso.com/),這個我曾經為之努力工作的網站,竟然發現顯示全店升級,敬請期待!!!真不知道我走後發生了什麽,是不是被馬雲擠垮了。在做電商項目的時候,確實應用了很多新技術,主要是解決高並發業務,比如秒殺之類的。當然那個時候主要是使用mysql的集群和主從同步,也就是在那個時候,我接觸到了運維,並且參與到了網站的運維工作。當時使用的是Memcached作為緩存,ActiveMQ作為消息隊列服務,單點登陸、首頁靜態化、lucene等技術都接觸到了,並且在應用到了實際工作中。在這個公司我學的了很多java互聯網開發的技術。而且我通過世紀佳緣,找到了另一半,2011年我結婚了,呵呵!!!


2011年底,我離開了這家公司,我想向上努力,我需要得到得到質的提高。這回找工作我不再面試程序員了,而是系統架構師。終於,我找到了一份系統架構師的工作。具體什麽單位不能說,因為是涉密的,我們上班都不能上網,也不能使用U盤。我親自架構了整個系統,我在整個項目組中算年齡比較大的,有一個領導大家都叫他猴哥,可能跟我差不多,還有一個經驗豐富的程序員,不過他是c語言的。我們需要將飛機傳送到地面站的報文進行解析,這個是c語言來完成的,然後存放到數據庫中,由java程序進行處理。運用了google地圖+js制作了飛機航線系統,解決了晨昏線和飛機轉向算法,當然,這個算法是請教了專家,我就是通過程序實現他的算法。我負責技術選型,當時選擇的是ssm,ssm和ssh我糾結了好久,最終選擇了ssm。事實證明我的選在是正確的,現在的系統基本是ssm的摒棄了ssh,struts2這種多進程的mvc框架註定了它不適合處理大並發項目。後臺使用springscurity做的權限系統,我負責核心模塊和基礎工具類的開發,數據庫的設計,服務器運維優化。權限系統是每個項目的核心模塊,整個權限系統,單點登陸功能是我獨立開發的。當時由於還沒有出現dubbo,spring cloud這種分布服務是架構,所以采用的是Webservice作為解決方案,確實存在一定的性能瓶頸。xml傳輸還是有點慢。但是基本滿足了項目的整體需求,最後通過了專家組的驗收。這個項目做了五年。


2016年底,我和我老婆回到了天津,我工作了這麽多年。加班無數,年齡也大了,有了孩子。感覺自己不能向以前那麽拼命了。我現在自己想從事java的培訓,自己創業,將自己的工作經驗傳授給大家,同時降低大家的學習成本,少走彎路,再也不要走我的培訓之路了,回想起來一個垃圾培訓,實在太害人了。www.javayyd.com這個是我的網站,用bootstrap做的,我美工不好,寫這個博客的時候,網站就搭建了個骨架,還沒有內容。我會慢慢加上教學內容,希望大家持續關註!


以上是我真實的經歷,回想起來這麽多年,最遺憾的是,我一直沒有在北京買房,當時思想還是保守,沒有貸款 啊,後來房價飛漲,就更不敢買了。還好,2015年我貸款在天津,河北買了房子。終於跑贏了CPI,雖然沒有大富大貴,結局還算不錯。我覺得,只要努力就會有回報,我也祝福即將稱為程序員的朋友,能夠達到自己的人生目標。





本文出自 “java博客” 博客,請務必保留此出處http://freedom2017.blog.51cto.com/1358689/1950104

一個java程序員的真實經歷