天天看點

黑客精神 與 清心寡欲

[此處不再更新]原文位址:http://wargrey.yo2.cn/2009/06/09/31218/

外傳一:

和任何一個大學新生一樣,我也對大學的任何事物感到新鮮。尤其是新同學,我們都是計算機專業的,不會再像高中那樣孤軍奮戰了。看看,這是多麼美妙的事!不 用多解釋也知道接下來發生之事的原因了。最初一個月左右的時間裡,我是代理班長,借着這個名義,某天的晚自習我自做主張的給大家做了個演講,内容是 Joel Spolsky的《給計算機系學生的建議》(從《程式員》上看到的)。現在看來,這個舉動是何等的愚蠢,事實上也是,我的很多看似招搖作秀的行為讓班裡的 人很不爽,而這個則剛好做了“最後的稻草”,可想而知,我的人際關系在當時是相當尴尬的(後來,随着大家對我了解的加深,這個局面才逐漸好轉)。其實,我 隻是想吸引些志同道合的人,或者我隻是單純的想給大家一些幫助,正如《程式員》曾給過我幫助一樣。後來,正式确立班委的時候,我落選了,不怕笑的說我還以 為我的人氣很高呢,哈哈。實際上,班導是認可我在班級事務上的處理能力的。之後很長的一段時間,我都很失落,隻因為想不通究竟是為什麼。其實那時是接二連 三的不順,學生會招人,我一心想進學習部,“面試”都通過了,最後卻沒有結果,偏偏我們班那時就有個預備黨員,人家的“無條件”“必須”則直接占了那個唯 一的名額。那時還很不成熟,一氣之下拒絕加入任何學生組織,也不再想要幫助别人(其實我不能徹底做到這點)。事實上,第一個學期我就有入黨的機會了,這些 剛好成了我拒絕入黨的直接原因,在我交了第一份思想報告之後再沒人要我交第二份了。其實入不入黨跟是否成熟沒有太大的關系,隻是那時太過感情用事,理由寫 得不好,其實既使現在再給我一次機會,我也會拒絕的,因為,不需要借着入黨才能履行黨員的義務(雖然範圍小了不少),而且我讨厭“無條件執行”這樣的強制 性規範。

外傳二:

我就幾乎從來不主動參加任何(球類)運動,但是你可以試着跟我比比身體素質,絕對讓你大吃一驚。第一次參加運動會是國小一年級,光榮的得了個倒數第一,之 後時隔9年,我重回運動場,包攬了400m以上項目的第一至第六的随機名次,隻因為中考的體育加試鍛練打開了我的潛能。這個慣性一直帶入了大學,在大一的 時候,接受了我從出生以來的第一次正規訓練。我們軟體系是很牛的,自三年前從數學 系分離出來,最少總共才32人的情況下一路殺到第一名(剛好就是我大一參加的那次)。說這段,一方面是因為身體确實是革命的本錢,平時需要注意鍛練,但更為重要的想說我的團隊精神。大多數時候,能在校園裡看到我,鍛練、散步、吃飯往往都是一個人,學習或自我修<!-- -->煉 上,更是孤身一人,也許别人都以為我喜歡單槍匹馬,或者幹脆就是不會交往。其實我内心非常向往能有一個我能輸出并且願意接受我輸出的集體,在那裡大家各有 所長,通力合作來迎接挑戰。我們系的運動員團隊正是我遇到的第一個這樣的集體,雖然不在我的主要方向上。當然高中也參加過運動會,但是感覺上其實隻是挂個 班級的名義而已,鍛練更是自己的事沒人管,但是大學的運動會有學生會、其他運動員和教練在支援,背後更有系上司再關注着,感覺很不一般。

外傳三:

不知道是不是真得我就天生跟大多數人不一樣,其他的不說,既使是玩遊戲,我和周圍的人也沒有多少共同語言。其實小時候我就是個卡帶遊戲專家,然而其實我真 正喜歡的遊戲隻有一類,即角色扮演類遊戲。我總是不知不覺的将我的人格帶入遊戲中,是以很有“遊戲精神”,而在這種情況下,RPG可以比較容易的帶給我類 似上述期望的集體感覺。周圍玩遊戲的人很多,他們也會玩些RPG,但是我發現他們往往把注意力放在打怪練級上,而對劇情部分匆匆略過。我不能了解他們,他 們也覺得我奇怪,甚至在看我玩的時候還想幫我說按哪個鍵能跳過劇情動畫。另外一類玩得多的是像“魔獸争霸”這樣的即時戰略類遊戲,同樣的,我更傾向于将自 己作為某個英雄/機關來與其他機關合作,而不是将自己放在一個全局指揮者的角度來玩,雖然我也希望做個好“将軍”以便能夠兵來将擋誰來土淹。廢話了這麼 多,其實提到這兩類典型的遊戲原因也很簡單,由于玩家和遊戲存在着很大程度的互動,比之小說或動畫,自己或旁觀者更容易分析玩家自己的行為模型,畢竟現實 社會往往有些單調,或者要達到同樣的效力需要更多成本。

外傳四:

源于自學養成的習慣以及對應試教育的不滿,我從來不會為任何考試(無論是考試課程的考試還是各類等級認證的考試)專門準備。我參加的很多考試(其實也沒幾 個),如比SCJP,直到考試結束,我才知道真正的考試範圍;再比如,CET4,直到考試當次,我才知道原來聽力隻聽一遍(是以第二部分基本什麼沒聽 到),但是我總是讓很多人失望,而他們總是以為我會挂的。其實單純從試卷的角度來看,如果不是為了證書去考試的話,并不是那麼有水準。反過來看,既使得到 了軟體設計師的證書,又如何?考試之前幾個星期,拼命的做下曆年的考試題或一堆模拟題,沒準你就可以通過,因為你知道考卷“它不會這麼問的”。是以呢,在 考過網絡工程師之後,我便不再參加任何自願參加的考試,包括CET6。嗯,你猜對了,我可能過不了,但是沒關系啊,不影響我解決問題(對了,羅嗦一句,我 大一就開始斷斷續續的看英文原版的技術書了)。至于證書,亦或是以而得到的獎金/獎學金,我根本不會去考慮,正如我當年選科不考慮難度一樣。一般來說,往 往能夠至少提前半年的時間知道自己要參加什麼考試,這段時間足以直接學習這個領域了,臨時報佛腳實在沒什麼意思。不要誤會,我不是說這樣的考試沒有任何價 值,不錯,為了證書而考試的确沒有任何價值,但是在你為考試準備的過程中,可以大大的打開自己的眼界,尤其是軟考這類考試,上午題需要的是足夠的廣度,因 此各類考試大綱輔導書都會比較有條理的列出出比較完善的知識架構,照着這個架構走吧,不需要再迷茫“計算機科學到底學什麼了”!

外傳五:

可能會有人對我的一件事情很感興趣,就是“你會不會黑客技術”。這個問題我也确實想好好的回答一下,當然,我們都知道問句裡面的“黑客”是指什麼。這還得 從高二說起,不知在哪看到了《紅與黑的邊緣》和《暗火》這兩篇關于“真正的黑客”的短篇小說,與我内心一種道不清說不明的東西産生了共鳴,于是我開始摸索 “什麼是黑客”以及“如何成為黑客”。那個時候我已經開始接觸linux了,隻是因為我聽說“linux的指令可以自由的修改”,看來還是有内因的,而那 個共鳴的東西,其實就是“黑客精神”,即:自由、平等、共享、突破。實事上,“黑客精神”一直貫穿在我的成長中,隻是在發現之前自己不知道罷了。在追求“ 黑客精神”的過程中,我一直自知技術上還遠遠沒到火候,并且拒絕/鄙視使用任何傻瓜黑客工具(自然也不會有諸如“盜QQ号”、“耍JS腳本小聰明”這樣的 低級惡趣味行為),取而代之的是好好修<!-- -->煉 程式設計之道,因為程式設計是一切計算機科學的基礎。這裡隐含了一點,其實我很不喜歡傳統的軟體工程,因為那是為生産環境準備的,相反我很喜歡開源模式,而開源文 化在某種意義上就是黑客文化。曾經思考過是當科學家還是當工程師,或是取個折衷的選擇,其實根本不用考慮太多,黑客便是最适合我的選擇。恩,不過在成為真 正的黑客之前,我不會以黑客自稱,相反隻取其“黑客精神”來激勵自己。

外傳六:

金錢、美景、美女、美食這四大誘惑對我基本都不起作用,呃,我沒有生理上的缺陷,也知道這個社會正在盲目的追求物質上的舒适。讨論“生存意義”這樣無法實 證的問題本身就沒有意義,是以我選擇我所走的路也就不需要多餘的理由,或者就歸結為個性因素吧,其實我也有不可抑制的欲望,這便是我強烈的求知欲,以至于 我願意投身科學和開源,而不是僅僅在其他相對輕松的環境裡随便找個飯碗了事,然而從我個人的角度來講,無論做什麼都有能說服大衆的理由,但是确有一點是無 法回避的,我得先有錢!可惜很遺憾,我在這方面簡直就是白癡,還偏偏當其為信仰在固執的堅持着,“永遠不要拿興趣當職業”,不知道這是諷刺職場環境的浮 躁,還是在預示興趣保持者的悲劇。本來我已經可以去實習了,而且薪水相當不錯,然而我接連放棄了兩次機會,隻因為工作方向與我的人生方發展向不重合,而現 在又到了為職業煩惱的時候了,好在有所感悟,其實好好的為職業付出,則既能保持一個愉快的身心,又能為興趣找到經濟後盾,如此雙赢何樂不為?恩,還是需要 一些調節來平衡這個選擇的,好在我喜歡的動漫和角色扮演類遊戲給我提了個很好的建議,“清心寡欲”,這個心境剛好和“黑客精神”不謀而合,而且人總是無法 脫離人類自己創造的社會環境,從整個種族的角度來看,既使我的目标未能完全達到,我還是可以影響我後面的人,這其中也包括我的子女,而這也是我寫作此“成 長軌迹”系列文章的最大動力和根本動機。

支線劇情一:

跟其他任何一所大學一樣,我們大一新生都是不允許帶電腦的。不過可以向學校申請,恩,總得來說,我是會遵守校規的,正所謂随心所欲不逾矩,規矩隻對需要規 矩的人起作用,當然我遵守規矩不帶表我認同規矩,隻是不想在我忙活的時候被規矩煩。于是我向系送出了申請,總算這件事還是挺順利的,沒過多長時間就通過了 申請。在等待期間,我接觸的比較多的是學生會的人,我們系的學生會是很不錯(或者說當時的成員是幹實事的),他們組織了一次新老生交流會,我作為新生講述 我高中的學習經曆,實際上我沒有講那些東西,因為我自己覺得實證效力不夠,于是又搬了《程式員》上的一篇文章來傳道。而對我來說最大的好處莫過于是認識了 一些比較牛的學長。其實論計算機的學習年齡,我比他們大得多了。

支線劇情二:

我的大學裡,來自教學計劃的壓力很小,或者幾乎就沒有,無論是廣度、程式設計還是學習能力。大一,基本上認真上課的,當然這不等同于認真聽課,隻是說還是認真 的學習(自學)教學要求的課程的。其實我在大學之前根本就沒有接觸C語言(直接就C++了),是以C的課程自然要好好補一下了。C的課程設計是我做得最認 真的課内項目,一方面是熟悉大學學習環境,一方面(其實是歪打正着)是為“逃課”做準備。我的逃課總是最正當最合法的,秘訣就在于此。幾乎是出于本能的, 每接觸一個新的老師,第一節下課我必做的一件事是跟他交流,比如雙方的方向。然後他的課程設計好好的做,等到跟老師成了朋友後就可以光明正大的逃課了(當 然,這跟“走後門”沒有關系)。我的逃課方式也很多,比如剛開始在課堂上自顧自的看書,然後是帶電腦去教室(大二時忽然覺得對老師不禮貌對學生太招搖就停 止了,不過這還真救了我一次,那天我室友電腦被盜了),再後來就是全部課程免修。不得不說,雖然大學課程不怎麼樣,我的大部分老師都是比較好的,無論是專 業水準還是開放的思想。曾經有很長一段時間,我都因“逃課”感到良心不安,直到有一次不意間google到了一遍文章,“大學新逃課族”,原來由于不滿于 低品質教學現狀而逃課另辟蹊徑的學生大有人在,甚至還喊出了口号“不逃課的學生不是好學生”。原來如此,我所做的“在課堂上逃課”還是比較落後的了(而且 我還是很有資格評價大學教育的),于是乎大三開始所有課程免修,實在是受不了那些弱智的課程設計,盡管我每次都很期望能來點有挑戰性的東西。我鼓勵任何有 主見的學生為了自己的未來逃課,但是我也補充一句“亂逃課的學生也不是好學生”,盡量還是争取到“免修(這是最正當的逃課)”。其實,即使不是為了學知 識,在課堂上仍然還是會有很多其他讓你眼睛一亮的東西的。

支線劇情三:

在我建立團隊的那個學期,我被老師推薦進入了我們學校唯一的一個應用研究型實驗室,不過我也就在裡面呆了一個月,因為牽挂我的團隊而使得任務一拖再拖,自 己不好意思再回去了(其實我一直在做得,隻是中間隔了一個寒假,早就“任務過期”了),之前在與帶隊老師溝通時,他就明确的說了:如果你有自己的方向,我 不建議你繼續留在我們這裡。在得到這個推薦的時候,我特别問了一下可不可以帶其他人一起去,得到肯定後立即召開了緊急會議,詳細的說明了這個機會。現在想 想,我真有點出生牛犢不怕虎,私自帶人這種事本來就太過兒戲了,何況還幻想能把整個團隊都容納進去。好在隻有兩個人願意去試試,後來他們都比我退出的早, 一個是因為對實驗室的課題沒興趣,一個則是因為自尊心太強(在那裡隻有我們是純軟體系的,我們的知識其實完全不夠用)。雖然我最後也退出來了,但是卻還是 有不少收獲的,至少正是這次事件直接導緻我徹底删除正版Windows的,不得不說,雖然我是從高二就接觸linux了,但是雙系統确實有點“自欺欺人 ”,如果沒有下狠心格掉Windows,估計我也不會有如此多的進步。大學的最後一個學期,本來應該是去實習的,卻戲劇性的又重返了實驗室。在很長一段時 間裡,我依然像上次那樣讓老師失望,不是能力問題,而是始終給人“不肯好好幹活”的感覺。我也确實糊塗了,自我暗示?我好像總是喜歡不負責的說“我就是比 較不走尋常路,還沒找到适合的環境吧”。這次找到原因了,是與老師缺乏交流,我已經習慣性的認為交給我的就是全部任務,而老師則認為這些任務應當循序漸進 的來,于是我自行安排的時間往往比較松,反倒讓我很郁悶,大部分時間沒事做,不得已隻能找些自己的事來做做了。當然還有兩個隐含的因素,其一,我畢竟是要 畢業的人,做得往往都是一些輔助性(至少我這麼認為)的事;其二,我的任務之前沒有人做過,是以我想為學弟學妹留份詳細的文檔,在了解時不至于像我看搜尋 到的資料時那樣雲裡霧裡。其實這個實驗室的導師很值得全國大多數實驗室學習,其實不是别人背離我,而是我背離了其他人。

支線劇情四:

雖然對競賽考級這類事情不感興趣,但是有人來找我也不會拒絕就是了。大二下吧,突然接到學校科協的科技立項通知,就答應了。我立項的内容其實早在高中迷上 Flash RIA開發的時候就打算做了,但是這個工程太大,一個人很難在有限的時間裡完成全部實作。本來是打算在成立團隊之後以團隊名義來做的,但是很遺憾,我甚至 連說服我的隊友哪怕隻是關注一下我們團隊的方向都不成功,這個計劃也就暗中取消了。不過實際上,此項目的文檔我從高三開始就在寫了,很有趣的是,在沒有足 夠實作的情況下推翻從來過好幾次。進入大學之後,一些計劃之外的事(其實我沒想過要跟老師做項目,更何況是連周期都不穩定的項目,被拖着确實不爽)把這個 項目的周期拉得太長,直到認識到基礎才是我這樣的人該重點關注的,那些華麗的前衛的技術實作以後想搞絕對不是問題,是以我的重點轉移到Unix作業系統 上,這個項目也就暫停了。而就在這時,接到立項通知幾個月後的時間裡(這期間沒有任何消息),突然有人告訴我要寫論文,更郁悶的是截稿日期隻有一個星期 了。我暈,還是那種初生牛犢不怕虎的勁頭,什麼資料和參考文獻都沒看(其實我也不知道需要找或者去哪找這些東西),花了兩夜完成了我的第一篇論文《基于插 件的Web應用平台》,這篇論文沒有具體的技術實作,不過很能展現我的思維方式:生活中的很多細節都是靈感的來源。我不知道那幫評委如何評判論文,隻知道 我可以寫些對别人有啟發的東西。事實上我也不知道這篇論文的性質,有老師說通過省級認證了,也有老師說其實沒什麼,不過有一點是真得,此文被收進學校的論 文集了。不過還是有點讓我不舒服的事,初稿交出去被告知字數太多,老天,還虧得我沒寫技術實作。然後是連續幾個月的審批等待,直到實習期我剛離開學校,晚 上短信通知說可以為“複賽”(馬大哈,不知道這是個什麼性質的東西)準備了。真會捉弄人,我都忘了有這事了,算了,直接放棄吧。寫論文還真是浪費時間(拖 形式主義拖拖拉拉的福),當然真心投身科研寫給自己或同行看的另當别論。其實,如果我的作品連自己都覺得垃圾,或者我不打算再深入下去的方向,我都幹脆對 外宣稱我對此不了解。

大學,總算被我等到了,但是我對大學的認識跟很多人不同,這裡是真正的戰鬥場,至少不應該是像某些高中老師說的“高中辛苦一點,到了大學就可以随心所欲的 玩了”。但是大學确實又自由了許多,五花八門的選擇和被選擇,使得合理的自我推廣成了大學生的必備技能。是以開學沒過多久,我就與各個任課老師成了朋友。

當時的計算機學院分成了兩個部分,在我們那個校區,也就隻有一個軟體系(大二時重新合并成計算機學院),帶學生做項目的主要有兩位老師,分别是 JavaME和JavaEE方向,而我高中時重點關注的是基于Flash和Java的RIA應用,經我C語言老師介紹,負責JavaEE的那個老師找到 我,并且直接扔給我一個項目,手機圖書館的伺服器端,讓我修改優化代碼。簡單來說,這個項目是由n個04級學長做的,主要開發者正是我們學校引以為傲的在 實習期就月薪6k的牛人。其實那個項目沒有什麼神秘的,隻是在當時其架構理念比較前衛罷了,而我得到的伺服器端的代碼其實很爛(估計不是那牛人寫的),不 過這正是我第一次接觸實際項目,也算是對高中學習的一個小測試。應該來說,高中寫在紙上的程式沒有白費,至少我的代碼是很符合規範的,而自己摸索的學習方 式則使我對tomcat、sql server 2000這些東西很熟悉了,是以前後不到一個星期(剛好那個時候軍訓,也是剛拿到屬于自己的筆記本不久)就把整理後的代碼交給了那個老師。為此我赢得的是 一個小工作室,還有每周或每兩周一次的與老師和學長的互動交流機會。那段時間,基本沒有接什麼外面的項目,隻是我們系的書記要寫碩士論文,主題為“大學教 學評估系統”,呵呵,顯然他自己是沒有時間具體實作了,于是就由這位老師接下來,準備讓我來完成其中的一個子產品。那個小工作室裡,我一個人在為這個項目做 準備,學習一些輕量級的JavaEE技術,順便也學習一些軟體工程方面的東西,隻是讓我郁悶的是,既使到了暑假(為了這個項目提前一個月返校的),項目也 還一直沒動靜。算了不等了,就當沒這回事吧,因為我忽然起了一個很偉大的念頭......

說到組建團隊,其實我在高中快畢業的時候就有打算了,那個時候我還曾就這個問題(以及我對軟體設計的了解)專門寫信咨詢計算機老師(對,就是那個隻顧強化 班的算法教育訓練老師),我還是比較識相的做了心理準備的,他沒有任何回複,唉,關鍵問題還得自己摸索。暑假在臨時配置設定的連喝口水都成問題的宿舍裡沒有目的的 等待也不是辦法,于是我聯系了4個我比較熟悉的還算有點程式設計潛能的同學,跟他們說明了我組建團隊的想法,他們也都願意跟我合作。那時我強調,我們這是一個 畢業前從零開始成長,畢業後以創業為目标的團隊,并且最好不要有考研的打算(那時我是不準備考研的)。同時我也強調了,大家雖然課内知識學的還可以,但是 其實那沒什麼太大的價值,是以建議大家在暑假的時候好好的學學軟考輔導資料(他們中有3人是報了名的),目的是找出自己感興趣的計算機科學分支,下學期來 了好分工。我自己則上網廣泛的搜集資料,在我們的方向上考察了衆多的可選項(也包括幾個候選方向的選擇),并且整理了一份很詳細的《團隊規劃草案》。總算 等到大二開學了,我一直都是很相信大家的,但是結果卻很讓我失望,他們根本就沒人去做準備工作。第一次嘛,還是可以諒解的,畢竟不是人人都天生在具有熱情 的同時還具有積極的行動力的。不管怎麼說,團隊規劃已經寫了,這個團隊也就進入了試驗階段,不過沒有急着分工(對了,其中一個成員是我老鄉,他推薦了一個 人進來)。機會總是有的,在我将這個想法跟老師交流後,他提供了一個項目給我們(雙方是以團隊─客戶的角色來進行交流溝通的,用面向對象軟體工程來進行項 目管理),就是我們大一報名時看到老師在操作的“新生入學登記管理系統”,那個系統是另一個老師用VB寫的CS程式,現在的任務是改為BS架構的,但是要 求是使用C#和Oracle(還要兼顧與MySQL、Excel、txt的資料互導),時間3個月。這個要求現在看來沒什麼,但是我們那時才剛學 JavaSE,資料庫也剛學SQL Server,學習成本似乎大了點。老師的考慮和我差不多,反正無論選哪種技術,大家都是初學者,那就有充分的理由按“客戶”的要求來做。從長遠的角度考 慮,按照我對大家的了解,在雙方都達成共識的情況下,做了臨時分工(當然項目也是分層的),這麼一來,每個人所需要學習的知識都大大減少了。現在看那個項 目,其實大家所需要做的隻是調用下層的接口:兩個人負責界面、兩個人負責業務邏輯(其實也就是對Entity的操作),還有一個人和我一起負責資料通路層 (他在我的架構下負責對MySQL通路的具體實作)。

大概是教育長期以來的束縛,使得大家就是沒法放開教學計劃來安心學習C#,盡管我和老師一再的強調,(在教學計劃的範圍内)Java和C#沒有差別。實際 上,種種迹象表明,其實大多數人根本就沒把這項目當回事。除了我會經常跟各成員單獨交流外,我們還每兩周集中交流一次,但是其他成員之間的交流很少,甚至 還有個别互相看不順眼的情況(這是在進入團隊前就存在的,經我調節有所好轉)。時間很快就過去一半了,但是我們還在學習新知識的初級階段,不得已,老師同 意我們用Java來實作,謝天謝地,進度有所加快,然而新的問題就出現了,我這經過設計模式和Hibernate洗禮的人做得設計很難被大家了解(項目本 身是純jsp的),即使花了半天時間做集體教育訓練,然後又針對每個部分寫了完整的程式給大家參考,結果還是很無奈。可能不完全是能力問題,一來周期已經很長 了,原本就不多的熱情也基本耗光了,一來這個項目即使完成了,我們也不會有任何報酬(這種情況應當了解,盡管我不喜歡看到大家這麼功利)。最終,項目還是 過了deadline,按照約定,以“未完成”的形式結束了此項目。不過呢,雖然是未完成,大家還是挺有收獲的,作為項目一部分的正式文檔全是我寫的,不 過根據分工以及一些成員的要求,大家也都或多或少的寫了屬于自己的那部分文檔;臨時的分工方案對于以後的團隊分工提供了很多有價值的參考;很多成員在看了 我的代碼後表示自己收獲很大,并且說自己“能夠完成完全是有本可依”;還有很多,諸如如何快速解決自己遇到的問題、如何團隊協作等等。而我自己,仿照 Hibernate的工作原理,歸納了一個微型的資料通路層,同時還相容Excel(為它寫了個微型SQL解析器);另一方面,與“客戶”溝通、團隊管 理、軟體工程項目管理都是第一次,對程式設計的了解較之高中又加深了許多。順便也提一下,在接近項目尾聲的時候,那個“大學教學評估系統”開工了,不過隻有一 個星期的時間了,考慮到我自己的項目就沒有參與,據說後來是由幾個老師完成的。

經過這次項目的試練,我們的團隊正式成立了(我有點不舒服的是我老鄉又推薦進來了一個人,其實他也是老鄉),看得出來大家的熱情很高漲,也都願意跟着我。 那時也臨近學期結束了,滿懷着希望大家聚了餐,談了團隊的目标、行業情況(我又重申了上次布置的任務),可惜又是一個假期浪費了,再一次的,我信任了大 家。為了最大限度的根據大家的興趣分工,我不斷的強調:時刻檢視自己,評判現在正在做的事和自己期望做得事是不是在一個方向上;同時,布置了一個新的任 務,就是各自獨立完成一個“登陸子產品”,技術不限,登陸之後可以自由擴充,時間三個星期(這個時間絕對給多了,但是考慮到教學任務,考慮到大家的基礎,還 是預留了給大家充分準備的時間),文檔可選。這次的個人小項目,确實有不少人是認真完成的,但是也有個别人不屑于做這些,交上來的人裡有人是簡單的修改了 一下以前做過的東西(不是教學任務的那種),還有人則在生搬硬套設計模式。總之無論是技術基礎還是思想覺悟,我們都還有很不夠。早在大一學C語言的時候, 我就跟他們中的有些人說了,學知識要注重對本質的掌握,先保證能夠将知識點融入到自己的了解裡,然後,如果覺得課後作業太無聊,你可以嘗試新的思路,别一 碰到類似的東西就把以前的東西搬出來當作“已完成”。就是在這樣的情況下,我們的團隊每個星期都會進行交流,然而最初卻隻有我在講(主要是偏重“思想覺悟 ”,學習心得,外在建議大家抽出時間關注關注我們團隊的方向),大家聽得雲裡霧裡的,然後散會。後來有人提議,每個人輪流演講一個特定的主題(通常由各自 的分工決定),并且改為每兩個星期交流一次。這是個不錯的建議,我們立即就采納了,但是考慮到大家分工的側重點不同,如果一味的講具體的技術細節,往往讓 不了解的人感到困惑,于是每個人選題之後,我都單獨跟他交流并給出演講的側重點。在交流了幾次之後,非技術話題,比如團隊溝通、軟體工程管理等等的,都比 較有效果;但是技術性話題就不太樂觀了,似乎總是不能把握演講的側重點。我自己則重點講了Linux的基礎知識和Web2.0普及(這跟我們團隊的方向有 關),此外還有關于算法的演講,發現大家普遍數學基礎不夠,其實我那時想在課後單獨抽時間安排數學和專業英語的學習課程的,但是考慮了各種客觀因素沒有實 施。

我們的定位是一個從零起步的基礎研究型團隊,是以借着人數多的特點,分工涉及的範圍也比較廣,不過都是根據大家自己的選擇來劃分的,并且涉及到的任意一個 方向都有至少兩個成員在共同學習,這樣一來保證每個人都能找到可交流的對象,也有助于多樣化的分組讨論和集體讨論(學習之外,我們也根據個人興趣經常一起 活動)。至少我是這麼設想的,但是交流始終是我們最緻命的障礙,也許是我作為管理者有點杞人憂天,也許是自己對大家的關注度不夠,總之團隊出現了讓我很不 舒服的現象。其中一人(他是唯一有女朋友的)從來不跟其他人交流,剩下的人則根據自己原來的交際圈子分成了兩個彼此隔離的小團體,其中我老鄉和他自己推薦 進來的兩個人是一組。我認為這不是一個好現象,于是,我經常跟大家個别交流,說說我們的團隊,聽聽大家的看法,并且不忘了叮囑多多與其他成員交流(特别 的,我還請幾個成員沒事多跟那個不與别人交流的人談談,因為他們經常一起打球),我以為會起到一些效果的,更多的人還是隻關注自己的學習(的的确确就是他 自己的)。這中間我和我那老鄉也曾找過幾個項目想來練練手,但是由于大家意見不一緻而沒有真正開工(我知道,有人是嫌沒有報酬),有些項目則是以小組的形 式進行的,但是沒有一個是完整完成的,通常都是随着時間的增加或者意見的不合就有人退出。

不得不說,我的這個老鄉是真心把我的團隊當成了他自己的,然而雖然他很有上司 者風範,但是畢竟沒有管理學方面的知識,或者說對團隊成員做了過于理想化的假設。他是個直話直說的人,那時還不懂得顧及對方的感受,導緻說話的語氣和方式 讓一部分人受不了,這是小組項目沒法繼續的一個原因。在我調解沖突的過程中,還發現了很多其他的因素。現在我知道了,其實大多數人願意加入這個團隊,純粹 隻是來跟我學習的,而對其他成員則沒有什麼特别的感覺,這就解釋了為什麼會有小團體的存在;考慮到我們是“從零起步的基礎研究型團隊”這一基本隊情,無論 是個體還是整體上來看,我們的基礎都不夠,是以就有了兩種情況,一種是想借做項目來學習,但是要求接有錢的項目,另外一種是認為自己基礎不夠,需要繼續學 習理論,理由是“做項目之前,我總得知道我(學的東西)能做什麼吧”。第一種現象我不認為是個好現象,一直沒有采納(其實總是有老師找我做外面接來的項 目,但是我跟他們說了有機會卻又沒人加入,當然我也不是沖着錢去的),第二種現象比較難解決,程式員是高傲的貓,一點沒錯,即時是他們認可的我所給的參考 意見也不會輕易接受,更忽略了其實他們都不算差,而單純的技術隻是一張紙而已,工程型或實驗研究型的知識怎能純理論的學?我了解這種對知識的渴望,我也曾 這麼走過好幾年,但是正是因為如此,對于這種方式的利弊很有感觸,基本上等到實踐的時候,理論還得再學一次,還不如一開始就“邊做邊學”;第三個原因則更 加的含蓄和不容易實證,即時大家知道自己的方向,自己也有能力學好(傲氣就是這麼來的),但是還是無法脫離教育和考試的束縛,這也可以了解,畢竟考試不及 格關系到很多今後的發展,但是以“怠慢自己的路”為代價就太不能讓我了解了。上述的幾個理由則導緻了這樣一種現象,毫無疑問,我的能力他們都是認可的,布 置的任務基本也都願意去做,但是我整理的資料卻不被重視(這從“團隊資源”被放在什麼目錄下面就可以看出來了),曾經我問過他們,我給的文檔模闆和軟體工 程老師給的模闆有什麼不一樣,郁悶的是沒有人說得出來,其實我們都是在用标準的模闆,隻不過我自己重新按排版要求整理過(下載下傳的和老師的文檔格式我看着不 舒服)而已。

為團隊交流這事我沒少操心,每兩周的交流隻能保證交流會進行的那兩個小時,剩下還有13.5天呀。我可以不時的和其他成員單獨交流,但是有人明确的說了, 如果我時不時就往他們宿舍跑會有種被監視的感覺(實事上我從國中住宿開始以來,就一直不喜歡串門的)。不得已,我假裝交出管理者的職能讓其他人代替,目的 就是讓大家感受一下,自己是屬于一個團隊的,也是應該為團隊負責的。與此同時,我将責任都歸咎到自己身上,這些批判中不乏很多是實話,但是我更想起到的作 用是借剖析自己來喚醒麻木的人,結果交流現狀依然沒有任何改善,當然也不了解我為什麼這麼做,更讓人窩火的是,團隊會有沖突真得就是我一個人的錯了。看得 出來,我一直都是把身邊的人往好的方向想,可誰注意到這點了?果然我太感情用事,不适合做管理者。

沖突的暴發也不是出于偶然,然而我怎麼也想不到沖突的原因竟會如此簡單:團隊目标不明确!其實我在和大家個别交流時沒少提這點,而且,在包括《團隊規劃草 案》在内的文檔也有幾份,内容是非常詳細的,隻怕根本沒有人看。事實上,(接下來的叙述我保證客觀,不過可能會讓部分人不舒服),團隊成了初期,我那老鄉 就問我如果他自己也組織一個團隊行不行?是以他連續推薦人進來,再到後面的小團體我很不舒服。當然,他自己是很信任我的,也确實為我們的團隊提了不少有建 設性的意見,但是他推薦過來的人,我總是感覺有點疙疙瘩瘩(後來他們對團隊的心态,我老鄉也很失望)。老實說,我對他們不了解,他們也沒有特别的想讓我了 解(也許是性格太内向所緻),反倒是他們三個人關起門來讨論我們以後會是做這個呢,還是做那個。好在我那老鄉跟我單獨提到過這件事,發現跟我的期望目标不 一緻,我立即糾正了方向,我老鄉很感激,幸虧我詳細說明,要不然他們根本就考慮不到這個層面。

前面也提到不少關于大家不關心團隊而隻顧個人學習的原因,而且我們的團隊存在着與其他衆多學生團隊可能不一樣的基本隊情,我感覺該采取些其他政策了。當然 如果了解不了我這政策,則又會産生更大的誤會,事實驗證了這點。我的政策是,暫停團隊事務,因為再過不了多久就進入教學計劃的實習階段了,我是想,大家經 曆過實習期的話肯定會對團隊有更深的了解,而且對于他們個人在團隊中扮演的角色的了解也會跟着加深,畢業之後,我們可以再聚到一起繼續我們的目标。我前面 是說“暫停團隊事務”,然而無一例外的,幾乎所有人都了解為“解散團隊”了,即時我解釋了我這麼做的原因,也沒有什麼效果。不過,憑良心說,我這麼做确實 還有另外一個用意,踢掉明顯不适合團隊的人。隻是考慮到大家感情深了,直接說有點不合适(我還是太感情用事了)。

自從“解散”團隊之後,我感覺輕松多了,有旁觀者跟我說:其實你們這個團隊早就該解散了(他為我所做感到不值得)。然後他給出了一些理由,都是我(因為我 有對人“本善”的假設)所沒有考慮到或不想正視的因素。這也是我首次檢討放棄聯考的代價,聯考有發揮失常的牛人很正常,但是分散到每個具體的學校裡,其普 遍實力也就确定了,好學校和差學校的有價值差別,對于知道自己要走什麼樣路的學生來說,主要就在于周圍的夥伴吧,劣根性不是輕易能改變的。

生活還是要繼續,如果現實中難以找到合作夥伴,那就将目光投到網絡上。事實上,為了讓大家産生“計算機感覺”,我經常鼓勵大家逛論壇寫部落格等等,隻是收效 甚微而已。曾經有很長一段時間我在CSDN Java版塊(以及版主的)混,時間長了發現論壇的公利性太嚴重,而且話題大多不合我口味,不過也确實接觸了一些牛人。後來就自己建立了一個QQ 群,也就是現在的“思維藝術”,連鎖反應的陸續進來了很多牛人。思維上的交流,最好的基本保證當然是參與交流的人知識背景不一樣,而這也是吸引其他牛人的 重要因素。于是我就在CSDN的各大版塊發廣告貼(也有群友自己轉載到其他地方去了),結果來了一大幫學習的人,現在發現,那些看了說明以“我不适合這個 群”為由退出去的人是多麼可敬。這種即時交流環境跟論壇郵件清單不同,人數非常有限,不适合潛水(占了潛在交流者的位置,那種“一個話題抛出後沒人 理”的感覺也更加的強烈)。另一方面,經曆了太多“理想主義的熱情”和“現實世界”的沖突,我的心也發生了潛移默化的改變。我周圍從來就不缺少“向我學習 ”的人,不錯,你有這權利,但是我沒這義務。我追求黑客精神,我渴望交流和讨論,是以,給我個理由,評什麼你信任我,我就要回答你那上網一搜到處都是答案 的問題?我時常在我活躍的地方提到“提問的智慧”,為什麼你連一遍都不願意完整的看完!?另一方面,我也很不了解,你明明就接受了來自一個集體的很多幫 助,那為什麼在這個集體的其他成員有困難時,你總是習慣性當成沒看見?!本來我不反對我的群裡讨論小白問題,我隻是希望大家能夠建立起一個完成的交流體 系,但是無論什麼話題,似乎我不參與,就不會有其他人參與,最後有問題就直接來問我了,因為隻有我在聽。為了避免尴尬,我不斷的強調“提問的智慧”,我不 是鄙視你,相反我是在幫你,正如我現在體會到的,這個混亂的世界,真得是求人不如求己。寫作此“成長軌迹”文章的過程中,有支援我的人問“關健是,你寫這 麼長根本沒多少人願意看完怎麼辦”,我很簡單的答到“那就說明他不是我想影響的人”。是的,人各有志,社會也需要各種各樣的人,我尊重任何人的選擇,我也 已經習慣了單槍匹馬,如果我已經盡力要交到你這個朋友但卻失敗了的話。

在我組織這個“思維藝術”的過程中,經群友介紹,知道了劉未鵬這個牛人,然後加入了TopLanguage,這個清單确實不簡單,比我的“思維藝術”好多 了,我也确實學到了很多東西。最初的一段時間裡,我經常不知天高地厚地給大家添亂,而且一有人說話就忍不住想回應。好在現在已經慢慢擺正自己的位置了,即 使現在技術上沒法參與到大家的讨論中,不過慢慢來,在自己該走的路上,大家都在努力呢。加油!

繼續閱讀