已經是到北京的第五個年頭了,從最開始的想做手機游戲而學習編程,到后來做 Web 開發,又開始做日志分析,接觸到了 Hadoop ,最終確定下來自己的技術方向。曾經以為五年的時間,差不多都應該做出自己的產品來,而實際情況卻是:一直在用的技術還了解的只是皮毛。所以,雖然在 IT 這個行業已經可以說自己工作了五年時間,但感覺自己還只是剛剛起步,跑在前面的大有人在,自己還要繼續努力。
從去年開始接觸的 Hadoop ,當時的日志分析已經遇到了瓶頸,用 Hadoop 一試,確實性能提高不少,只可惜,當時的公司因為各方面的原因,開始關注云存儲這個方向,雖然即使到了現在我也不太好判定這個戰略方向的轉變 是對還是錯,但是對于當時只是普通員工的我來說,剛好發現了一個實用的技術卻沒有時間和機會研究、應用,讓人都有點惱火。可能像我這樣的凡夫俗子,還沒有 達到能站在和老板相同高度看待問題的程度,而我能做的,換家公司,找一個能應用自己感興趣的技術的公司。于是, 2011 年,就又以跳槽開始了。
但 是我并沒有想到今年會跳兩次,我一直都感覺自己是個踏踏實實的人,但實際情況卻是這幾年北京這幾個同學我換的工作最多。我也很明白:頻繁的換工作,害的其 實是自己。每一份工作,都需要花一定的時間去適應,就拿試用期來說,一般的都應該是三個月吧,一年換兩份工作,光試用期就半年出去了,真正能踏踏實實做點 事的時間,又能有多少呢?本來在年初換工作時,打算結婚也被拿了出來說事,還想著有上一年的時間,在老家付個首付,沒有想到,造化弄人,六月份的時候,一 邊看著轉正的通知郵件,一邊和主管協商著什么時候離職。
但 我并不后悔去了這家公司,雖然只有短短兩個月的時間,卻讓我學到了很多東西,開闊了視野。原來還有這樣讓人認同的企業文化,原來還有經歷這么豐富的同事, 原來還有這么愛帶著兄弟們吃喝玩樂的主管,原來程序員的生活,不一定就是加班加班,原來我們可以讓自己的生活更精彩。尤其是在去了一趟杭州之后。第一次坐 飛機,下飛機的時候耳膜難受的要死,聲音都快聽不見了,而我們只有一天的時間,第二天就又要飛回北京,我是想著趕緊休息休息,而同事是一邊說著西湖、蘇堤 啥的就雙眼冒光,大晚上的整個繞西湖走了一圈,沒把我累死。不過也確實感受到了和北京不一樣的生活方式和態度,那些就在岸邊上的茶莊,彰顯著和北京燒烤攤 不一樣的韻味。只是,當終于下了飛機,換了快軌,出了地鐵之后,又一次回到北京的地面上時,我竟然都有種過年時候回到了老家的感覺,原來,在一個城市生活 上一段時間,哪怕只是幾年,或多或少的,竟然會產生感情。
可 惜的是,我還沒有體會的多深,因為公司內部的原因,我們的項目沒用做成,大家因為這個項目聚在了一起,項目沒了,大家也就都散了。而且散的那么快,快的都 不可思議。應聘到了一個公司,一個項目做不成,那還可以做別的,一個公司可以有好多項目,而我們這個項目組的成員,明顯大家都很有自己的想法,只想做自己 想做的事,而并不是到了一個公司后就開始混日子。那么既然是這樣,我想我應該祝福他們,后來一個月后,主管又聯系我們聚了一次,大家果然都在做自己擅長、 喜歡的工作,雖然已經不在一個團隊,但由衷的為他們感到高興。
應該說,今年我本來是起了一個好頭,在項目組中有這些有著共同理想的同事,但因為中間的變故,團隊散了,我也慢慢的走向了墮落。現在回想起來,簡直都覺得有點不可思議。
在等待離職的日子里,我看完了《七龍珠》全集,還有《盜墓筆記》,看到最新的更新 ( 當時還沒有完結 ) ,每天去了之后就是看漫畫、看小說,本來之前因為項目的原因,一個月的時間把 Demo 寫的差不多都可以進行演示了,結果變故一來,立馬就好像泄了氣的皮球一樣,什么準備結婚,什么鉆研技術,一概不管,完全就把上班當成了去網 吧。自然,白天都成這樣了,晚上還期望能老老實實的看書嗎,不可能了,再然后,等再到了新公司之后,看書的習慣就怎么也沒用再培養起來。
到 了新公司,這個應該老實點了吧,畢竟當時都已經六月份了,半年的時間都已經過去了,如果再折騰折騰,整個一年就過去了,技術這玩意,要說看看書就能學會, 我還真是做不到,必須得有實際的東西去做,在項目上應用,才能快速的掌握。道理也都明白,可就是中間經歷了那么一檔子事之后,整個人都浮躁了起來,再想回 到以前的狀態,真的很難,只能是慢慢的適應。
這 一適應就又是三個月,十一假期時候,交接過來的老版本的日志分析系統出了次問題,正好趕上在唐山參加同學婚禮,三十號下午到的唐山,晚上和同學侃到一兩 點,四五點又起來接新娘盤頭,參加一天的婚禮下午又坐車回北京,休息了一個晚上之后,從二號早上七點開始恢復數據,一直到三號早上六點,之前也加班搞過通 宵,但像這次這樣整還真是頭一次,完事之后啥感覺?要說程序寫的不好能害死人,程序交接的不好,更能害死人。
假期之后,替換老系統的計劃提上了日程,和之前的不一樣,也不用再寫什么 Demo 先演示啥的,論證已經通過,直接開始用就是。 Hadoop 、 HBase 、 Hive 、 Chukwa 、 Sqoop ,一個都不能少,有很多時候其他組的同事看到我在整 Hive 都奇怪:你們組就每天調 SQL ?
有的時候我自己都快搞不清業務關系,以及寫好的 hql 的執行條件,以至于寫了一大堆的腳本,而其他同事在某一處想調試時,光這個執行順序我就得好好解釋一遍,突然發現,我現在的這套程序,雖然聽 上去比之前老版本的簡單,但實際執行的步驟復雜,隨著考慮問題的增多,我的腳本也越來越多,慢慢的,可能就和老系統差不多了,只不過,老系統是一個腳本執 行 N 多程序,我是 N 多程序對應著自己的腳本。原來,程序員看別人的程序與看自己的程序,在最開始的時候,是有私心的。
把 HBase 中表的存儲空間從 150G 優化到了 120G , hql 分析時間由兩個小時優化到了半個小時,好像有那么點成果,可是自己一直對執行效率不是很滿意,搗鼓了一個多月一直都沒啥進展,直到在和同事的討論中,聽取了別人的建議,再結合自己的業務,存儲一下從 120G 優化到了不到 5G ,執行時間也從三個小時優化到了十分鐘。但是,這樣就已經可以了嗎?不行, 2012 ,還得繼續。此外,明白了一個道理:和別人多溝通、多分享,比自己一個人埋頭苦干要強百倍。
剩下的,對來年做個規劃吧, 2012 了,該辦的事必須得抓緊時間辦啊。
關 于看書,之前看過一篇文章,提到程序員都是自學成才,通過項目,通過好書,尤其是精讀一本好書。只是可惜,計算機類的圖書,越是好書塊頭越大,看前頭幾章 的時候壓力最大,“這得啥時候才能看完呢?”雖然這是個錯誤的觀點吧,但有時候還是忍不住會去想,這個時候,毅力、恒心真的很重要,當然,如果是結合項目 需要來看,那就更好了,一邊看一邊能解決實際問題,這樣看書肯定是效率百倍。如果能再按照書中給出的練習強度來檢查學習程度,那就更加 OK 了,只是,結合自身實際來看,這個也需要點恒心。
列下書單吧,希望自己能堅持完成。
《深入理解計算機系統》
《 Java 編程思想》
《 C++ 編程思想》
《微積分學教程》
關 于英語,快放假了無所事事時,看到了篇講如何學習英語的文章,很受啟發,英語這玩意,先別說它重不重要,要想學,關鍵還是看自己有沒有興趣,有興趣,再結 合合理的學習方法,如果能堅持一段時間,我想,應該是能見到點效果的吧。這個事情想了很長時間,但一直都只是停留在想想的階段,從來就沒有說實際行動過一 次。如果再不抓住這一年的時間,恐怕以后自己會找到更多的借口,所以,把這個也寫上吧,一年的時間,說長不長,說短不短,多給自己安排點事,別再留出看漫 畫的時間來。
列下目標吧,希望自己能堅持完成。
能看完一本原版英文小說
能聽懂一部無字幕英文電影的對白
關于技術, Hadoop 現在只是應用,對它的源碼還沒有怎么看,接下來打算從比較簡單入手,慢慢的,由淺入深吧,希望能對它的底層實現有更加清晰的認識。這個在日常工作中天天都用的到,按說應該是花時間最多的,希望能比前兩個成績多點吧。
目標的話,能分析一遍 Hadoop 及其子項目的源碼。
計劃列了不少,能全部完成的話還真得拜了佛,但不管怎樣,能堅持完成二三,也算是對 2012 有個交代,一年的時間,激情會慢慢消磨殆盡,但如果能時不時的繃緊這根弦,把它養成習慣,或許也就省了燒香了。