「作於2018初」我的擼碼人生
兒時每個人都有很多夢想,但長大後 夢 就漸漸少了。取而代之的,是生活的苦澀與無耐。夢,虛無縹緲。 夢想 ,就是異想天開。當你睜開雙眼,回到現實,還是要油、鹽、醬、醋、茶,生活依然故我!
說起來,我還真是一個 幸運兒 ,從高中時就夢想作一個程式設計師。結果一不小心,這夢竟成真了。
那時的電腦還是個新鮮玩意兒
1996年,我一次接觸到計算機, 那時的電腦還是個新鮮玩意兒 。機房裡一塵不染,我穿上老師發給我的藍色鞋套,終於見到了傳說中的 電腦 。你能想到我們當時用的計算機的樣子嗎?

沒錯,它就是美國80年代生產的 80286。16位位元組,64K記憶體,10M硬碟,5.25寸軟盤,以及 MS-DOS 作業系統。而當時最先進的計算機已經是 80586了,但根本不會給我們這種小白使用。

即使這樣低效能的機子,對我也有著無限的吸引力。因為在當時,計算機還屬於高科技,一般家庭根本買不起,也買不到。就是在這樣的 80286 上,我學會了五筆輸入法,還有金山的編輯軟體WPS,永久的記住了一個名子 求伯君 ,因為它是開啟 WPS 的萬能密碼。
老師改變了我的一生
人的成長除了父母外,就屬 老師 最重要了。如果能遇到一位好老師,可以說是上天對你的眷顧,因為她會影響你的一生。
而我之所以能走上程式設計師這條路,就要特別感謝我的一位大學老師。雖然她不是課講的最好的,但正是她的引薦,才開始了我的擼碼人生。

現在還清晰的記得,2003年學末,在她教的最後一節ASP網頁製作課的課後,她問我是否已經找到了合適的工作?是否想做程式開發?她願意推薦我去一家IT公司。

當時我的心情就像中了500萬彩票,不敢相信這一切是真的。就這樣我懷著中 500 萬彩票的心情,開始了我的第一份程式設計師工作。
大家也許不信,我去的這家叫 飛狐靈通 的小公司,就是現在微信撐門人 張小龍 當年寫 foxmail 時所在的公司。他除了寫了 foxmail,當時還用delphi寫了一個叫中國人報表的軟體, 好用極了。
不過,在我去 飛狐靈通 之前,博大收購了 foxmail,他也隨之去了博大。再後來,從博大到騰訊, 從QQ郵箱到微信使他走向了人生巔峰。
學習知識,如飢似渴
興趣是最好的老師。在大學的幾年時間裡,出於對軟體開發的著迷,推動著我不斷學習計算機相關的知識,甚至可以用 如飢似渴 來形容。
而大學裡相對寬鬆的課程安排,也使我有了更多的時間去學習自己想學的知識。也正是在那時,為我今後的職業生涯打下了堅實的基礎。
在同學們都去 遊山玩水 搞社交活動的的時間裡,我基本都浸泡在海淀圖書大廈或學校的圖書館裡,尋找學習中遇到問題的答案。在尋找答案的同時,也增長了新的知識。
你要知道,那時中國的網際網路可不像現在這樣發達, 可以在百度或Google上搜尋答案。當時上網都是一個奢侈的事兒, 所以圖書館、書店是當時學習知識最好的地方了。
在不斷學習的過程中,有一件印像很深的事兒。大一那年我不知從哪裡瞭解到只要學會 MFC 就可以做程式設計師,於是就一心想學它。但那時,市面上很難找到與之相關的書籍。即使有,也只淺淺的講了一些簡單的使用,並沒講清其背後的原理。即使是這些簡單的使用,由於質量不過關,在實驗時也無法順利的編譯通過。

一次在海圖閒逛時,看到了 候傑 寫的《深入淺出MFC》, 感覺自己找到了一把學會MFC的鑰匙。老實說,這本書寫的特別好,但當時自己的基礎實在太差了, 根本看不懂。為了讀懂書中的內容,開始了我的 長征 路。
既然,MFC是一套 C++ 開發框架,所以我決定先自學C++。經歷萬苦學完C++後(當時看的也是一頭霧水), 又去看《深入淺出MFC》, 結果仍然不明白。因為裡面的Windows訊息轉來轉去,搞的我暈頭轉向。
正鬱悶時,偶然在學校的圖書館裡看到《Windows95程式設計》(臺灣翻譯的), 如獲至寶(現在估計沒幾個知道這本書了吧?),它裡面將Windows的訊息機制徹底解釋了個明白。

又是一段痛苦。等將《Windows95程式設計》學完後,再去看MFC時,結果卻依然懵B。所以到現在為止我都對MFC 都敬而遠之,它給我造成了極大的傷害!
現在回想起來,主要是我當初設定的目標太高了。在沒人指導,也沒有任何基礎的情況下去學習MFC,只能說我給自己刨了個坑!不過經過這次 長征 ,我也收穫頗多:
- 最主要的是培養了很好的自學能力;
- 第二個收穫是在考專業課時,過90分可以不費吹灰之力;
- 三是由於成績好,得到了老師的推薦,成為了一名程式設計師。
我的擼碼人生自此開始, 這真是意外的驚喜!
成長之路
畢業後正是 Web 網頁蓬勃發展的高潮。開發模式從以前的 C/S 模式切換到了 B/S 模式。JSP、ASP + JS + 資料庫 是當時最流程的組合。你可以通過 JS 在網頁上做出各種特效,通過 JSP、ASP 做邏輯控制,資料庫儲存資料。可以使用資料庫的第三正規化,第四正規化, 第五正規化對錶做優化等等。
再後來,技術發展越來越快,但做 Web 開發你始終繞不過去在各瀏覽器之間顯示適配的問題。頁面的主色、線條的風格、什麼樣的字型等等。對於這些問題,我真的沒有半點興趣。
“我想成為真正的高手,解決別人不能解決的問題。我厭煩今天修修這個邊框,明天改改那個顏色的人生, 那是在浪費生命。人的一生就要做出一、兩件可以拿的出手,可以讓你的子孫後代提起來能嘖嘖稱讚的事情才不枉此生。”這就是我當初略顯稚嫩的想法。
為了擺脫每天做這些我不情願乾的工作,我選擇了另一家公司。到新公司後,在一次與同事的聊天中,得知 趙炯 博士 寫了一本**《Linux核心深入剖析》**的書, 並且他還建了一個論壇 www.oldlinux.org 。
我像是發現了新大陸,在 2005 年那一整年的時間裡,我常做的有兩件事兒:
-
一是根據《Linux核心深入剖析》這本書,深入的閱讀了 Linux 老版本核心的程式碼。清楚的知道了當計算機啟動後,作業系統是如何從磁碟上被引導到主記憶體中開始執行的。然後,它又是如何通過CPU各種"門"從使用者模式切換到核心模式的。大學裡學習作業系統課如讀天書,而到此時, 我才真的理解作業系統中的CPU管理,記憶體管理,裝置管理以及檔案管理到底是怎麼回事兒。隨著研究的深入,它像一副圖一樣在我的腦海裡逐漸延展開來。
-
二是逛 www.oldlinux.org 論壇,將自己學習的一些心得體會分享給大家,也從別人的回答中得到靈感。你有任何問題放到論壇裡,很快就會有人來答覆。
由於在罈子裡呆的時間長了,漸漸的我也成為了一個版塊的版主。在那段時間中,論壇非常的活躍,你可以在論壇中看到各種作業系統的原始碼, 如minix, oldlinux, ms-dos等等, 還可以看到很多網友自己寫的小型作業系統。
除此之外,你還可以學到 C/C++ 的各種用法,如何使用嵌入式組合語言對程式碼進行優化等等。那真是一段快速成長的階段,這樣的學習機會和效率可要比上研究生強百倍。

由於經常看一些優秀的程式碼,我的編碼水平有了質的飛躍。在很短的時間內,我就從一個程式設計新手成為了可以獨擋一面的高階程式設計師。
生活是否美好, 要看你的眼光
2006年左右智慧手機逐漸的進入到人們的生活中。以諾基亞為代表的手機廠商在那幾年著實火了。但真正給我帶來震撼的還是 2007 年第一部iphone手機的出現。
那大約是在 7、8月間,同事去香港出差回來時買了一部iphone,當時覺得 iphone 的出現簡直不可思意,感嘆蘋果真是一家偉大的公司。不光是其優雅的手機操作方式,還因為它可以像電腦一樣訪問正常的網頁。而當時其它智慧手機還只能訪問那種十分醜陋WAP站點。
iphone手機的出現使我意識到,以後的手機不光是一部手機,還是一臺可以移動的電腦。除了接打電話,還可以用來辦公。甚至編寫程式碼,只要給他配置上鍵盤和顯示器就可以了。
那時已朦朧的感覺到以後智慧手機一定會有好的發展。於是 2007 年底我辭職進入了一家做手機應用開發的公司。
當時做的產品類似於以前的彩玲,當有電話打進來時,顯示一個大頭貼,使用者可以根據自己的需求進行變更。現在大家覺得這個功能沒什麼了不起,但在當時做起來卻困難重重。
- 首先當時還是2G的移動網, 速度很慢;
- 其次相應的人才很少,基本上都是從傳統的C/C++轉型過來的;
- 第三塞班系統的開發很變態,又沒有太多的資料,大家基本上是邊學邊幹。
回想起來,我可能是中國移動網際網路的第一批開發人員了。有句俗語說的好,後浪推前浪,前浪死在沙灘上。我在的那家公司在移動網際網路的發展上並不順利,當時的技術還不成熟,產品也不夠給力,也沒有好的盈利模式,最後導致大批的人員流失。
這家公司的很多同事之後展轉都去了騰訊、阿里等大公司,並做到了很高的職位, 其中騰訊手機QQ的前幾版就是由我的幾個同事帶人做出來的。
而令我懊悔的是,我是以服務端開發人員進入的公司,中間幾次試圖轉去移動端都沒有成功。最終沒能留在移動網際網路領域,導致我沒有享受到日進斗金的紅利。
後來覆盤我的失誤,很大程度上也和我自己的優勢有關。我對 Linux 系統和伺服器開發太熟悉了, 這能發揮我最大的優勢。而轉到移動端,自己要從頭學起,還要降薪,導致我下不了這個決心。
其實,2008年的時候我就已經開始研究 Android 開發,當時還沒有實體機,只能在模擬器上進行實驗。當時的Android實在是太簡單了,簡單的無法激發我的學習興趣。又沒有實體機,最後覺得索然無味,也就放棄了。
痛失移動網際網路真是我的最大失誤,如果當時沒有離開的話,我可能有另一翻人生了。值得欣慰的是,有得有失。離開移動網際網路後,我進入了一家音視訊會議公司。
在這家公司我有幸全程參與了一個全新的雲會議音視訊平臺的開發。這個平臺與大家熟悉的直播平臺類似,不過要比直播平臺的技術難度不知高了多少。
最大的難點是可以支援多人、多視訊實時互動。其特點是可以與所有的終端聯接在一起, 如硬體視訊會議、電視盒子、各種手機終端甚至電話。
可以想像一下,在一個視訊會議中,一群人是通過電腦進來的,另一群人是通過電話進來的,他們像坐在同一個會議室中一樣進行討論溝通。在會中的人哪怕一秒的延遲,在電話的一端都是無法忍受的,這是多大的難度呀!
我在這家公司一干就是 6 年,從一個資深開發人員變成了高階管理者。
機遇可遇不可求,是否能過上美好的人生,主要是你的選擇,你的眼光。對於我來說,無論怎樣,最終沒有留在移動網際網路, 錯過了10年紅利,這絕對是我的選擇失誤。
人到中年的焦慮
我曾在西二旗工作過一段時間,現在的西二旗可真是太有名了。中關村,上地,西二旗就像《茶館》這臺大戲的三個階段(清末,軍閥混戰,民國)一樣,演繹著中國IT科技的變遷。
而現今的西二旗成了網際網路公司的聚集地。百度,新浪,網易,騰訊門對門,臉對臉貼到了一起,使這裡成了一個神奇的地方。(我一直在想,他們是覺得這樣大家跳槽比較方便嗎?)

現在的西二旗人都是科技精英,但這些精英拿高薪也不是無故來的。汗水+淚水,甚至奉獻了青春與生命。
離開音視訊會議公司後,我被一家網際網路線上教育明星企業以優厚的條件招入。公司為了儘快佔領人們“心智”,實行996(早9點到晚9點,工作6天)工作制。為了趕專案,熬夜工作到凌晨1-2點是經常的事兒。剩下的唯一一天可能還會被拉去開會。在那一年多的時間裡,我的身體被嚴重透支。
2017的下半年, “網際網路轉入下半場”,“華為不要35歲以上的員工”,"中國經濟衰退"這類訊息滿天飛,其實細細想來,每一條訊息都預示著 40 歲以後的你有可能失業。想到哪天可能要失業,想到孩子馬上要上學,想到未來沒有了好的生活保障,怎能不讓人產生焦慮呢?
告訴你一個事實,不光是打工者焦慮,老闆更焦慮,人到了中年都會焦慮。有工作上不能完成指標的焦慮,有生活上不順心的焦慮,有孩子上好學校的焦慮,不一而足。而且你的責任越大,焦慮也就越多。據說新東方的俞敏紅每天焦慮的睡不著覺,只有到美國後,才可以讓自己放鬆下來。
怎樣的人生才是我想要的?
人到了一定年齡, 一定的階段都會去想三個問題,從哪裡來? 到哪裡去? 你要成為什麼樣的人?說到底就是要思考你想要怎樣的人生。
在西二旗的那段時間裡,身體嚴重透支的情況下我開始思考,我想要怎樣的人生?我工作的開心嗎?要不要為了錢可以不顧身體,可以不考慮心情?
每個人經歷不同,就會有不同的選擇。對於我而言,身體、老婆、孩子才是最首要的,因此我離開了西二旗,這個神奇的地方。其實仔細想想,這世界上還有什麼比自己的身體和家庭更重要的嗎?
我到底想要一個怎樣的人生?
- 有一份自己值得一生追求的事業。
- 有一幫志同道合的兄弟姐妹,可以為了這份事業相互鼓勵,砥礪前行。
- 除了工作外,可以和朋友、同事一起喝點小酒, 聊聊天。
這就是我想要的人生,哈!