一路走來,我和程式設計的那些緣分!
有一天我莫名的覺得,這就是命!
年輕人不會相信這些虛無縹緲的東西,只是當有一天我們經歷了那些風風雨雨,回頭再看我們的人生,會忍不住的感慨,這造化的神奇。
—— 《折騰》(卷一)青澀 ·卷首語
自從寫了我的經歷(從律師到包工頭,再從包工頭到程式猿),就一直有同學在問我:“你當初為什麼要轉行啊?”“我該不該轉行呢?”“學程式設計/做開發是一種怎麼樣的體驗?”……諸如此類。
之前也零零碎碎地寫過一些,但今天突然想到另外一種敘事方式,或許直接把我的程式設計經歷寫出來,以作參考,讓大家自行品味,會更生動直觀一些?
我是1995年,初三畢業之後的暑假,第一次接觸程式設計的。因為考上了重點高中,我爸獎勵了我一臺學習機,就這個樣子的:

我知道很多同學都是“掛羊頭賣狗肉”,把她當成遊戲機來玩,O(∩_∩)O哈哈~
但我比較奇怪,遊戲當然也玩,但是也真的學了,學的很簡單:一是五筆打字,另外就是Basic程式設計。
而且沒人教的,就是一本《說明書》,照著敲,敲出來的大概就是這種:

應該很無趣的吧?但當時就是著迷,為什麼呢?
我努力的回想當時的狀態,大概首先是因為好奇心吧。有一種搗鼓一件玩具的感覺,我輸入一些命令,她就會相應地顯示出來一些東西,這其實是一件蠻有意義的事?
我看到過一種說法:為什麼打遊戲(或者嗑瓜子)容易上癮?因為這種活動會不斷的提供反饋,刺激著我們把這種活動一直持續下去。那麼,程式設計,其實和打遊戲差不多。無論是順利實現你的想法,還是中間出了bug,都會刺激著你繼續……寫程式,真的很容易讓人進入一種“忘我”的狀態。我有時候在想,無法因為程式設計而進入一種“忘我”狀態的程式設計師,根本就不應該做程式設計師。可惜了!
但我也有同學有學習機,他們為什麼沒學呢?想來想去,一個不要臉的結論:可能是我比較“聰明”一點,~(@^_^@)~。這個“聰明”必須加引號,我只是好奇心強,接受新鮮事物快。小時候的事都記不得了,大人說的不算;初中剛學化學,高中剛學物理,我都是一騎絕塵脫穎而出的那種(當然後面就不行了,慢慢被追上來泯然眾人)。所以可能我可以靠一本《學習機說明書》就把程式設計學起來,而其他小夥伴還不行,所以他們就打遊戲去了……
我讀的是重點高中,所以學校有機房(進屋都需要脫鞋的那種),高一的時候也有計算機課程,我的DOS什麼的,就是那時候學會的。那時候機房的老師還寫了個類似於“小蜜蜂”的遊戲,把我崇拜得,兩眼冒星星。但是高考填志願的時候,因為我是色盲(準確的說是色弱)受限制,膽子小,又因為少年時代的律師夢,沒有填計算機專業。
之後我就一直以為,此生和計算機程式設計緣分已盡。
歲月悠悠,兜兜轉轉,誰能想到,我經歷了那麼多風風雨雨,十年過後,我又要開始學習程式設計?!
十年,對於程式設計世界而言,已經是天翻地覆的變化啦。捧著一本《 http:// ASP.NET 網站開發入門》,我一臉懵逼。程式設計不就是if...else...麼?怎麼還有什麼“物件”“繼承”“多型”……再掰著手指數了一下,還有什麼HTML/CSS/SQL Server……整個人都不好啦。
為什麼要學?
這時候和興趣半毛錢關係都沒有啦。那時候創業失敗公司破產,一勾子的債,老婆挺著個大肚子……急啊!就像趕快學會了,做個家裝門戶網站出來,絕地反擊!
誰知道啊,這一學,就從計劃的三個月,變成了六個月,又從六個月變成了一年,再從一年變成了兩年,兩年變成了五年……又過了十年,我的家裝入口網站還是沒影兒,而我的“源棧”程式設計培訓班,卻紅紅火火的開了起來。

這一次學程式設計,我應該是被逼上梁山。但逼上梁山之後呢,我卻慢慢地過得有滋有味起來。
這裡面當然還是有好奇有興趣的成分在裡面,但我想,這時候,還有更多的東西在吸引著我。
電腦不是人,我做律師做家裝,尤其是做家裝那兩年,和人打交道,真的是身心疲憊!程式設計複雜不復雜?當然複雜,但和人心相比,那簡直是單純得纖塵不染。
理工男總是被人說“情商低”。當我成為一個程式猿之後,我忽然就明白了:他們根本就不需要情商。
不需要情商的地方真是一個好地方。
很多時候,只要開啟Visual Studio,把雙手放到鍵盤上面,程式碼像水一樣的從指間流淌,就彷彿進入了另外一個世界,清晰、嚴謹、優雅的美麗新世界。在這個世界,你是電你是光你是唯一的神話……

有沒有累了,不想寫程式碼的時候?
偶爾還是有。但那多半是還沒有開始寫的時候,我一般是這樣,開頭的時候可能會各種磨嘰,但只要開了頭,就有點剎不住。尤其是有bug搞不定的時候,那就是一定要把它搞定了才罷休!
其實不寫程式碼又幹嘛呢?到目前為止,我幹過這麼多職業,還真沒一個像程式設計這樣吸引我。
當然,人和人之間是不一樣的。我聽到過這麼一句話:“天天坐在電腦面前,感覺人都發黴了……”,讓我很受啟發。所以雖然我做著“源棧”培訓的生意,但這兩種人,我還是會主動勸退的:
- 不喜歡和電腦打交道,喜歡和人打交道
- 不喜歡/害怕學新技術
做程式設計真的是要終身學習的。
但這個終身學習呢,也沒你們想象的那麼恐怖,嗯,

哈哈,說正經的。因為新技術總是在現有技術的基礎上產生的,絕對沒有那種憑空出現的新技術,所以老人學新技術總是比新人快的。我是不太理解那種“上了年紀學不動了”那種人究竟是咋回事的——估計就是個心態問題吧?或者年紀大了分心的事太多?老婆孩子啥的?但年輕人就不談戀愛了麼?就一天到晚閒著,就沒有一些花時間的活動麼?怕是也不至於吧?
“時間就像海綿,只要擠一擠總是有的。”這句話是不是魯迅說的?^_^,但我覺得還是有道理的。
算了,人艱不拆。每個人都有選擇自己生活方式的權力。我只能說,“怕以後沒時間/精力/能力學習”的同學,最好是不要學程式設計——這個行業的技術更迭確實相當相當的快!十年,不,十一年前我在培訓班學到的技術,現在還能用的,應該不到……兩成,三成,好吧!最多最多不超過五成。
回頭看了一下開頭的三個問題。都回答得差不多了,可能有些同學還不知道我學程式設計的體驗,以前都寫過:從包工頭到程式猿。但我想強調的是:程式設計的學習是一個長期的過程,並不僅侷限於你在學校你在培訓班的那點日子。在程式設計這條路上,你能夠走多遠,取決於你的性情、學習能力,以及決心和毅力。
祝好!