當MSX和Atari ST還很‘火’的時候,我在荷蘭的一家叫做Aackosoft的游戲公司里短暫的就職過一段時間,這個公司位于Leiderdorp —— 離海牙不遠的一個小鎮(zhèn)。之所以短暫,原因是這個公司神奇的倒閉了(一天晚上財務主管一進來就開始粉碎各種文件,我只好拿起公文包離開了)。除了管理方面的問題外,這里工作的人都很不錯。 要開發(fā)的程序非常有趣,這里的薪水還行(假如你是拿薪水過日子的),開發(fā)過程伴隨著大量的知識學問,讓我驚嘆不已。這里的設計人員都非常的優(yōu)秀,他們讓這不通用的顯示效果能夠在各種平臺上使用。對于我,有兩個人格外的吸引我:Steve 和 Chris,他們都是英國人。我們大部分人下班后都會一起坐一段很長的路程,我們住在“校園宿舍”里 —— 因為對這棟建筑的這個部分最好的描述就是校園宿舍。下班后我們就待在一起,我們叫了匹薩或泰國食品,聊天、玩游戲,有時是我們自己的游戲(Indy500, FlightDeck),有時是競爭對手的(是否還有人記得Gauntlet?)。
Steve 和 Chris 這兩個人極不相似。Steve 討厭大量的編碼工作,他有時會瘋狂的花上幾個晝夜的時間把一個游戲的框架搭建起來,之后他就會像泄漏氣的皮球,行動慢慢騰騰,像個蝸牛。而大概就在這個節(jié)骨眼上,Chris入場了。他撿起Steve已經(jīng)完成的那一大堆代碼,一個字節(jié)一個字節(jié)的,規(guī)整清理,使之可靠、高效。他們之間是如此了解,根本不需要討論哪段代碼是干什么、為什么這樣寫,只是用這種方式來回交替的進行,直到任務完成,通常都是迅速順利的搞定。
這其中的奧秘顯然是得益于他們值得稱贊的性格,長期共處培養(yǎng)出來的融洽,以及形成的一種依賴于對方的習慣,而不是相反的用大量的時間來相互傳授自己的知識和用意。Chris 已經(jīng)無數(shù)次的這樣配合Steve,已經(jīng)十分清楚的知道Steve想干什么。
如今我們也許可以稱這為“結對編程”,而這種結對的方式產(chǎn)生的效果遠超了他們兩個作為單獨個體的總和。Chris 如果一直依賴于這種工作方式,那他將不會有自己的原創(chuàng)作品。而Steve一旦失去了Chris,將不能完整的完成任何一個工作?勺鳛橐粋團隊,他們做出了出色的東西。就像是他們在搭起骨架,填充內(nèi)容之前,腦海中有了共同的圖紙,這是他們能成功完成任務的基礎。
數(shù)年里,Steve已經(jīng)積攢了猶如大百科全書那樣豐富的有用的程序代碼,這些足夠Chris用來發(fā)現(xiàn)他的思維軌跡。
這是程序員中的合作依賴。之后我再也沒有遇到這種情況,我也并不是真的想盼望看到這樣的組合出現(xiàn),這只是那些日子里能讓我感到獨特、至今回憶的一件小事,就像發(fā)生在昨天。
我所看到的是一種‘熱情’。我看到了Steve的(從個性上來講,我更喜歡他,但當我發(fā)現(xiàn)有趣的事情時,我卻不能像他那樣富有激情的工作)。我看到了Chrise的。
他們曾徘徊在各大公司里尋找他們的精神伙伴,但從來沒有遇到這樣能夠相知、能超出工作范疇、從個人角度上相互接受的人。這讓我產(chǎn)生奇想,也許應該有個“程序員約會服務系統(tǒng)”,像Steve和Chris這樣的人能夠遇到一起,一起合作創(chuàng)造出他們各自獨自根本無法想到的奇跡來。
原文:http://www.aqee.net/2011/03/22/a-tale-of-two-programmers/
本文鏈接:http://www.95time.cn/news/other/2011/8366.asp
出處:外刊IT評論
責任編輯:bluehearts
|