|
程序江湖:第一章 少年不識愁滋味
歐陽明一直想出來闖闖。離開自己的家,遠離自己的故鄉,到一個自己從來沒有到過的地方去闖蕩。這是他一直夢想的。因此,他選擇了到外地讀大學。這樣,他就可以逐漸適應離開父母的庇護后的生活。
事實上,他感覺他過的還可以。因此畢業后他準備到北京繼續闖蕩。
要闖蕩江湖,可不是那么簡單的事情。特別是獨自一個人闖蕩,更加是難上加難。對于一個新人來講,這個時候根本不知道應該怎么闖蕩,只是本能地去找一個工作,把自己養活,然后再說。
可是,找什么公司呢?他也不知道。不過他是學計算機的,當然就要選一個IT公司了。
這就好像是武俠里的門派一樣。投靠什么樣的門派,對于一個新人來說,感覺很重要。最重要的還是待遇好,有成長機會。但是,這么多門派呢。國內的有號稱“巨大中華”四大中華的門派,掌門人都是一代高人。其中“華山”派,當年更是卯足了力量,在全國各大院校招生。揚言,是個人就要!海外的門派也都在中國建立了基地。其中勢力最大的有三大門派:藍色巨人、帝國時代、神諭天堂。這些門派也在招人。當然了,他們要的是人中龍鳳。歐陽明覺得自己語言能力不行,還是不要進海外門派了。華山派去面試了,對方輕松給了Offer,這倒讓他猶豫了。
他是有他的道理的。但凡選擇基本會有兩個共同認知。大門派,待遇是好,但是機會不一定多。因為你的前輩很多,甚么時候輪到你啊。小門派呢,正在成長期,機會就會很多的了,只不過開始的待遇可能會低一點。
還有一點顧慮是和歐陽明本身有關的,那就是越是容易得到的,越是不敢去接受。華山派這次這么大規模的招人,到底結果會如何?誰也不知道。而且競爭的態勢不可避免。
最終,他還是決定再選擇看看。反正就是這樣,門派招人,人選門派。雙向選擇嘛。
與歐陽明不同,他的朋友有更多的其他選擇。有很多人選擇了繼續讀書。說是考研,其實就是覺得現在選門派,別人不一定看上他們。或者想去的門派門檻太高,希望自己有個好資歷,再去投靠。有些人喜歡在離家近的地方找。有些人甚至到自己的家鄉去找。
其實,歐陽明不是沒有考研,而是沒考上。那么他就沒有其他選擇了,只能一門心思去找工作了。其實面試也挺有意思的。他發現很多門派的面試方法都不一樣。
有一次,考官問了他一個關于斷點續傳的問題,問他如何實現。他雖然沒吃過鹿肉,但看過鹿跑啊。那時候非常流行的軟件就是網絡螞蟻,他幾乎天天都在使用。所以就半猜測半演繹的說了一堆。說得好像考官還直點頭。
還有一次的面試,考官更加有意思。他們把一大堆來準備投靠的人,全部安排坐在一個屋子里,然后對著所有人都問了三個同樣的問題:
第一、愿意到京城工作嗎?
第二、家里人舍得你去嗎?
然后依次回答。輪到歐陽明的時候,他就說他愿意,家里都舍得他,他沒有什么牽掛。
這次奇怪的面試,讓他最終選擇了這個門派。當然了,不是因為這個面試。他是覺得這個門派有發展前途,因為他們
第一、是在做產品
第二、是在做全國市場
第三、近些年的業績都不錯
同去面試的還有兩個朋友,胡志兵和馮會揚。胡志兵直接被拒了,到現在歐陽明也沒搞明白為什么。因為他沒有搞明白他和胡志兵的回答有什么差異。馮會揚倒是也給了Offer,但是他卻看不上。他還是喜歡到更穩定的門派去。
江湖上還有一類門派,表面上和其他門派沒什么差異,其實都是國家政府在后面支持著。比如說做錢莊生意的,做通訊生意的,做媒體的。其中做媒體的,更是要審查身份清白,才可以允許參與選拔。馮會揚的父親是做錢莊行業的,他也想在這個行業繼續發展下去。
胡志兵呢?這個人比較有惰性,所以最后也沒有在更多的門派中選擇,反而直接投靠在一家學校附近的門派。門派還不錯,就是那種喊著要上市的口號來招人的門派,這個門派寫文章都不錯,因為他們奉承的宗旨是三個字:信、雅、達。
忘記說了,歐陽明選擇的門派叫“巨軟”。這可不是“巨大中華”四大門派中的其中一個,但是他們一直都夢想著成為中國的No.1。
就這樣,歐陽明就選擇了京城繼續發展。父母問,為什么不是南京,為什么不是上海,這樣就好經常去看他了。他對此卻不屑一顧。他渴望去更遠的地方。如果可以的話,他還希望去西藏、去深圳。他想走遍大江南北!而且,他希望他自己一個人去。
于是父母同意了他自己一個人去京城工作,作為禮物,送給他一張機票。沒想到因為這張機票,還給他惹來了一些煩惱。
程序江湖:第二章 初生牛犢不怕虎
北京在哪里?對于歐陽明的外甥來說,是在天上。因為他是看著歐陽明坐著飛機走的。從此,每次舅舅回來,就會嚷著要跟舅舅一起做飛機走。對于孩子來說,北京就是意味著神秘和有趣??墒菍τ跉W陽明的父母來說,北京就是意味著離別。目前在目送完歐陽明登上飛機之后,眼淚完全控制不住的流了一路。最后大家勸他,想兒子了,就可以去北京,很快的。這才慢慢停息下來。但從此每次離別,都會反復揭開這個傷疤,又要等待好長時間才能結上疤。
對于歐陽明自己來說,北京意味著新的征程。他正意氣風發呢。
不過當他獨自一人來到北京后,北京對他來說意味著大。因為從機場到公司總共花了兩個多小時。等到他趕到公司了,公司已經下班了,沒有人接待他了。他只能就近找了一個賓館住下來。說是賓館,比招待所還要差。北京其實很少有賓館的。特別是那些五環以外的地區。
歐陽明的公司就是在五環外。這個地方有一個非常響亮的名字:上地。關于這個名字,還鬧了很多笑話,他在向很多人介紹的時候,別人總是誤解為“上帝”。其實,“上地”之名由來已久,地處海淀區中東部,南臨圓明園遺址不遠。早年間因這里的地勢微見崗丘,相對來說比周邊地區略高一些,形似一個高地,故稱“上地”,意為“上升之地”,形成村落后稱“上地村”。后來這里還挖掘出“古漢墓”,更加增加了這個地方高貴色彩。而現在這里已成為我國以電子信息產業為主導,集科研、開發、生產、經營、培訓和服務為一體的綜合性高科技產業區。
安頓好住處,歐陽明就躺在屋子里休息。這是一個標間,卻只有他一個人居住。這是為了方便和安全。和別人同住一個屋子,財產安全很成問題。到了晚上,歐陽明走出賓館,隨便找了一家飯店。隨便點了地三鮮和土豆絲兩個菜,卻招來服務員的一頓說辭。她其實還是好心的提醒歐陽明,他點的菜太多了。歐陽明很奇怪了,才兩個菜啊,怎么多了?在他堅持下,兩個菜都上來了,這他才知道,原來,北京的菜的分量非常大,至少是南方吃的菜盤子的三倍。怪不得別人提醒他呢。也沒法反悔了,只能硬著頭皮吃了。雖說這點意外,但整體上還是很爽的,畢竟吃飽吃足了嘛!
第二天早上,早早退完房,就打車趕去公司。第一次去,畢竟還得認一下門嘛。歐陽明對路其實非常敏感,很容易記住路線。車子很快就到了公司。
在公司遇到了很多在一起面試的人,歐陽明很熱情,主動上去和他們搭訕,知道了他們的名字。一個來自浙江的,叫項大帥。還有個來自四川的,叫童子貢,一個來自沈陽的,叫李自勇。瞧了,這四個人還被公司安排到一個地方去住。北京的房價很貴,大部分剛來北京的人,找房子也很難,況且工作剛開始,也沒有很多費用去支付房租。于是公司代租,四個人租了一個兩居室。這樣費用就很便宜了。房租每月1000,四個人,每個人就是250。算起來,這個費用只能租那種平房,但是歐陽明他們能夠住到樓房,已經很不錯了。
就這樣,歐陽明在北京也算簡簡單單有了一個落腳的地方。實際上,這個地方也就是晚上睡睡覺。因為大部分時間,歐陽明都是在公司待著的。特別是夏天的這個時候,公司有空調。而家里只有風扇。
不過二百五的房子也只是臨時的,遲早會分開的。雖然這里也同樣注定會留下很多美好的回憶。
程序江湖:第三章 莫等閑白了少年頭
周五因為羽毛球比賽,沒有更新,今天繼續。
讀者反饋:很多讀者反饋主人公的名字比較土。呵呵這個沒關系,可以在整理的時候統一修改。另外有些人表示特別希望看到職場的故事,這個放心。本就是這個方向的。
令歐陽明意想不到的是,巨軟公司給他們準備了三個月的培訓套餐。不過也好,他希望通過這些時間,經快調整好狀態,適應北京的生活。
北京的干燥是他始料未及的。他出生在海邊,氣候非常潮濕,北京卻非常缺水。剛開始的一個月,躺著睡覺,都覺得鼻子要流血。后來在屋子里放了一盆水,才稍微有點好轉。
培訓的開始,是公司的一些老員工交流。他們會和大家在一起交流很多工作體會。還有一些很特別的課程。一個是講如何從學生轉變為職業人,一個是講如何做人做事的。聽了這些課后,很多人在總結的時候,都說自己要成為職業人了,歐陽明就覺得太假了,哪有學習了之后,就是職業人了的。而令他印象更加深刻的是一位資深老員工講的,要先做人后做事。技術的事,再大的事都是小事,人的事再小的事也是大事。后來歐陽明才知道,這些其實是文化培訓課程。
這些是為了讓新員工很快體會到新角色而設置的課程,希望他們經快融入到新環境中。但是歐陽明并不知道這些。對他來說,認識新同伴更加重要。
他心里也是有一些想法的。大家都是什么水平?自己是什么水平?自己在這群人中是個什么位置?人往往就是這樣,總是愛比較個高低。自己是一個鶴,還是一只普通雞,感覺就會有很大的不同。
如何看出水平呢?這個很簡單。每次老師講課的過程中,誰的問題最多,說的想法最深刻。這一定是位水平高的。因為他就是這樣的人。所以他用這種標準來看其他人。這也同時讓他在班上迅速出了名氣。
他們基本是白天講課,晚上復習,第二天早上考試的模式。于是晚上就非常忙了。經常要把所有的講課資料從頭背到尾。
說起來,日子好像就這樣的過去了。你好像不知道日子去往何方,也不知道自己如何去走。感覺很混沌,但是又感覺非常忙碌。日子就變成了考試,然后下一次考試。不過幸好還是有一些可以讓歐陽明感到興趣的東西。
第一個就是Delphi的學習。讓歐陽明感到意外的是,班上有幾位好像已經對Delphi很熟悉了。經常是老師問到的問題,他們都能提前回答出來。這讓他很好奇,請教之后,發現他們在到公司之前,自己就預習過了。歐陽明是那種好像完全不擔心自己未來的人,所以經常不做準備。不過歐陽明經常期望的就是有人告訴他,他應該做什么。從小他就希望有人告訴他下一步應該怎么走,但是遺憾的是,他所作的事情,別人都沒有經驗。因此他只好邊走邊學。
同組里有一個樣子很像蘿卜頭的,他總是和歐陽明一起爭論。這讓歐陽明影響非常深刻。但越是這樣,歐陽明越是喜歡他。他來自貴州,更加巧的是,班上還有一個是他的同村同學。這個絕對是緣分。
除了平時學習,周末的時候,會有一點時間上網。有一次,歐陽明遇到了他的大學同學,互相寒暄之后,問起了最近近況。歐陽明大喊真累,同學卻非常羨慕他還可以培訓。很多人都是直接上了工作崗位的,根本沒有培訓。這讓歐陽明突然意識到,原來自己還是有點優勢的。真是不比不知道啊。不過人比人,就怕比了之后,你不如別人了。歐陽明感覺良好,是因為他善于發現優勢。
實際培訓中,Delphi只是歐陽明下面工作中需要使用的一種武器罷了。用武俠世界里面的話說,這只是一些招式的學習。真正要成長起來,必須打好內功基礎。第一門內功心法,就是面向對象思想。在大學的時候,就有這個課程。但是在歐陽明頭腦里,能回憶起的,只是記得那個老師是個女老師。具體什么是面向對象,根本不知道。關于這點,可能學校也確實存在問題。有時候,學校是為了開課而開課,至于有沒有專家學者,那就是后話了。說起來,有這門課已經算很不錯的了。要是翻起那時候的教程,你會吐死。
面向對象也只是上世紀90年代才開始流行起來,并逐步被大家認可,形成編程領域里公認的基本理論。大學因為沒有和社會結合緊密,所以課程質量可想一般。不過在這些剛剛興起的軟件企業里面,就完全不同了。他們中有一些人依據把思想運用到了實際產品中。這讓這個思想開始有了生長的土壤。
面向對象,就是一門內功。但是并不是很多人都能練好。我老想起武俠世界里的一個現象,那就是某某人得到了一個武術秘籍,理解就可以無敵于天下。我一直大不以為然。同樣是一本書,不同人讀到的東西都不一樣,練習起來,還有資質差別。武功不是說練就能練出來的。即使做到了如同KFC做漢堡的標準流程,你也會發現,KFC的漢堡味道也會走樣。面向對象也是如此,很多人都沒有練好這個內功。很多人不重視,他們往往看到的兵器如何如何的厲害,卻很容易忽略了必須掌握的內功心法。
再加上,面向對象本身也是新興起來的理論,很多人心里的想法啊,可能都是淺薄和錯誤的。那學習的效果,就更加打上一個折扣的了。面向對象學到最后,就如心法吐納一樣,每時每刻都在練習。不能改變吐納方法的,只能照本宣讀。練到家的,才是真正的能夠把面向對象用起來。
實際講課中,面向對象的講解案例,是Delphi的控件框架體系VCL。這個控件庫,有源代碼可以閱讀,也可以修改后進行調試。所以學習的價值非常大。這些是業界的精華。歐陽明一下子像找到了寶似地,每天都在里面暢游。這為他以后成長,奠定了很好的基礎。
緊張的學習很快就結束了。下面到了分配到項目組的時候了。公司定的規則是雙向選擇,歐陽明要做如何選擇呢?
程序江湖:第四章 不識廬山真面目
現在有了觀眾,每天寫一章,反而感覺是一種責任。希望不要辜負了大家的期待。如果沒有特殊情況,一定保證每日一篇更新。
那時候,公司的研發組織結構是矩陣式的。也就是說,存在一個研發中心這樣的組織,來管理所有的研發資源,資源分為三類:需求、開發、測試。而在其下面,又分N個項目組,每個項目組,會從研發中心,借調需求、開發、測試若干人等,組織成一個對市場提供產品的項目組。
公司做的產品,所以很多項目組的存在時間會比較長。而有些項目又是新興成立的。
對于歐陽明來說,選擇哪個組雖然不知道,但他也只知道,這些有關他日后的職業發展。選擇到一個好項目,可能能學到很多新東西。這些東西以后對他來說就是核心競爭力。也可能會得到一個好的崗位,這樣也不錯。
在實際的選擇中,大概一半人喜歡去新項目,另一半人喜歡去大項目。這是兩類特別吸引人的地方。新項目,技術往往可能是新的。大項目,機會往往比較多。因為往往會有職務變動。
歐陽明糊里糊涂,自己也沒拿定主意。不過他是被拿定主意的。令他沒想到的是,在雙向選擇開始之前,他已經被內定了。原來,公司新成立的一個研究所的部門主管,就是他們的講師。因為歐陽明老在課堂上下問問題,有時候老師也回答不出來,所以呢,被認為是可造之才,就直接選拔到研究所了。
同去研究所的,還有前面提到的那個蘿卜頭祝子山和另外一位王傳雄。
歐陽明第一個任務是和祝子山一起,負責給產品部門A,提供一個以產品B為基礎的模塊窗體,格式為ActiveXForm,因為是要進行跨語言的窗體交互。產品部門A的負責人,叫朱鶴亭,是出了名的要求嚴格,而且也是公司的一個技術大拿。
所以在交付的時候,歐陽明其實是很忐忑的,不知道對方會提出多少低級錯誤出來。不過,畢竟歐陽明他們還都是新手,出錯誤是難免的。朱鶴亭在審查產品功能的時候,提了一個非常簡單的要求,那就是:內部實現我不關心,必須在我的環境下運行通過。這個驗收標準確實不高,但結果還是出洋相了。
裝上之后發現組件就是跑不起來。朱鶴亭絕不是省油的燈,沒兩下就找到了原因,絕對路徑的問題。原來,歐陽明他們在實現的時候,一些配置文件的路徑,都是讀取的絕對路徑,到了別人機器上,因為路徑設置不完全相同,結果就不對了。這個他們好好上了一課,環境測試很重要啊。歐陽明感覺自己在別人眼里看起來,應該不怎么樣,確實有點沮喪。
正式的工作,就這么開始了。每天中午大家吃晚飯,幾個人就沿著園區的小路散步。一是消食,二是聊天,這是這些朝九晚五的必修課。每到中午,就看到成群結隊的出來,直到下午上班位置。歐陽明的經驗是,如果夏天中午很熱,可以到銀行的大廳中吹空調、侃大山。大家聊聊自己學校的奇聞異事,交流交流情感,互相加強認識。日子好像就這么過去了。
不過,歐陽明即將遇到工作中的第一個選擇。他會如何選擇呢?結果怎么樣呢?
程序江湖:第五章 機會是一種困擾
有代碼的地方,就有程序員,有人的地方就有江湖。IT職場,不一樣的江湖。
歐陽明的業余生活很單調。這就是沒有女朋友的好處。好在同宿舍的其他三位也沒有女朋友,所以大家還可以相依為命。周末的時候,就在小區里的飯店一起聚餐。他們做了一個約定,每周必吃一個新菜。這樣就會給生活平添很多新意和樂趣。
北京的夏天,還有一個特色就是露天的大排檔。都是那種白色塑料的椅子和圓桌。圓桌中間還有一個圓洞,可以插入一把大傘,以防突然來的雨水。歐陽明他們在周五的晚上經常來小區里的大排檔吃飯。
這天伙伴中增加了一位異人,姓只,名艾煌。大家聊得不亦樂乎。特別是猜謎語階段,更加精彩。經常是小只提出謎面,大家一起都猜不出的情況。當然了,五個男人在一起,也聊不出甚么高雅的話題出來,經常是:是個男人看五個女人洗澡等等謎語。不過,青春不就是這樣嗎?看上去非常傻B,但實際卻充滿激情和回憶的歲月。
歐陽明的老大是個土博士。這是他們偷偷給他起的外號。意識是研究能力很強,并不是實際意義上的博士文憑。事實上,即使是博士,也不容易有他的成就。土博士不光是歐陽明的老師、老大,也是公司的老板之一。有著三老,按道理說,應該是讓人很敬畏的一個人,但卻十分隨和。這讓歐陽明他們非常開心。經常有甚么困難就找他去。
上一個任務完成之后,歐陽明就發現老大在忙一些東西,有時候就去問問,老大也很高興,就和他們講講。講了幾次之后,有一天老大突然在辦公室說了一句:現在有個網格控件,要寫一個樹狀表頭,小祝和小明,你們誰來做???
歐陽明心里立即對這件事進行了分析,他很喜歡控件繪制這一塊,一直想做一些有意義的東西,所以很想做這件事。但是,他的嘴張不開。很多人都是這樣的,當自己想要的時候,不一定能張開嘴去爭取。心里或許有點猶豫,又或許有點不自信??傊?,在歐陽明應答之前,蘿卜頭小祝已經爭取到了。其實說這一句話很容易:那我來做吧!
這讓歐陽明非常懊惱,總覺得自己沒有把握好機會。明明就在眼前,自己卻不敢去拿。有很多人說機會是留給有準備的人的,他這就是沒有準備好自己的狀態。
在后來的幾天里,歐陽明想出了另外一個方法來排解自己的情緒。那就是經常了解小祝的工作情況,讓自己感覺到也是參與其中的感覺。慢慢就好起來了。而且,他還開始主動建議土博士,做這樣或那樣的改進工作。不過這樣的建議一般都被打回來。雖說是打回來,但土博士每次都詳細地告訴他,做這樣改進的好處和壞處各是什么,為什么不做的原因,或者把可以預測到的結果說明清楚。這讓歐陽明也受益不淺。
直到有一次,歐陽明在學習Delphi中TDataSet類的時候,發現公司的一個重要存儲控件,也應該可以基于這個體系來做。于是做了建議。這一次出乎他的意料之外,老大很高興的說了一句,好啊,這個以前一直想做,但是沒時間做,你先做一下嘗試吧。
這讓歐陽明非常興奮,第二天早上就提交了一個演示版本。老大也為這么快的響應速度很滿意。于是就將這個任務直接指定為一個專項任務,由歐陽明負責。這個任務最后完成花了5000多行代碼。對歐陽明對框架的深層次了解有非常大的幫助,可以說,基于這個,他成長起來了,而且有了第一個屬于自己的產品。
在很久的以后,歐陽明帶了兩個徒弟。他也有意識的將一個任務拋給兩個人,讓他們自己選擇誰來做。他也是想用這件事,來告訴他們,甚么是機會,甚么叫抓住機會。
正當歐陽明感覺越來越順手的時候,他遇到了工作中的第一個低谷,這是怎么產生的呢?請繼續關注程序江湖。
程序江湖:第六章 忽視客戶的代價
公司食堂的飯菜,開始吃起來還是挺香的。歐陽明是南方人,從來不吃炒餅之類的面食,現在也開始吃起來了。但是好景不長,慢慢的聞到食堂的味道,就想吐了。于是三群兩伙的,到外面覓食。對于朝九晚五的工作人員來說,中午覓食是個很大的群體。很多快餐業都瞄準了這個市場,最早的就是麗華快餐。但大都是一開始賺口碑的時候還行,慢慢就倒閉了。
上一個數據庫的任務完成的很好,這讓歐陽明多少有點飄飄然。與其他人交流技術問題的時候,也總是感覺自己什么都可以的感覺。很快,他接到的一個新任務。
土博士這次給他的任務不是控件,而是一個軟件,一個排版軟件。這個排版軟件是給客戶直接使用的。因此他接觸到了一個新的朋友,葛工。這是一位來自市場的朋友,他來負責需求和測試。經過一段時間加班加點,系統終于出爐了。測試過后,基本可以了,就交給了客戶。
但是,客戶在實際環境中使用后,發現問題了,主要是在某種操作下,數據可能莫名奇妙丟失。問題反饋給歐陽明后,正好是周五,于是他決定周一再修改。而且他也客戶建議了一個避免的方案。
沒想到周一等待他的,是土博士的一頓訓斥。早上剛到,他就被叫到土博士的辦公室。土博士,其實不會訓斥人,但是話語很嚴厲,這是歐陽明從來沒見到過的。土博士很生氣,歐陽明知道后果很嚴重。后來歐陽明才知道,土博士這么生氣,是因為客戶直接投訴到了董事長,董事長再和他說,他當然很生氣,自己的手下給他丟臉了啊。
歐陽明怎么也沒有想到的是,客戶居然有這么大的力量。不就是做軟件嗎?你要的功能給你做了,不就得了嗎?怎么會這么嚴重呢?因為這件事,葛工直接被調到歐陽明身邊一起工作,這就類似敏捷中講的結對。效果還是很好的,客戶也很快被安撫。
即使這樣,歐陽明也還是很糊涂,到底什么是好?做到怎么樣才算無可挑剔呢?為什么這件事和前面的工作不一樣了呢?這不是他一下子就能明白的,很多人都要經歷這一關。
歐陽明很快從這件事的陰霾中走出來,即將轉正了,他轉正順利嗎?
程序江湖:第七章 認準老大是關鍵
實際上,歐陽明在上次的事件中,是有很多委屈的,至少他這么認為。不過,人就是在無數的委屈和喜悅中成長的。
與歐陽明同時入職的,總共21位。要說和他聊得最好的,卻不是蘿卜頭小祝,而是項目組的王維。兩人這么熟,是因為都是晚上加班,而且經常吃飯能夠碰到一起。朋友嘛,往往是從酒肉飯桌開始的。這一來二去,兩人就熟悉了。還經常在一起討論算法。這讓歐陽明很開心。他最喜歡的,就是解決實際問題。而王維恰巧就是從項目組里帶來了實際問題。這既能幫助到朋友,又能驗證自己的水平,一舉多得啊。
有一次都已經到晚上11點了,兩人還聊得特別投入。主要是在說關于一個樹形數據結構的處理問題。其中一個最重要的就是遞歸算法。他們看到項目中一段代碼,包含遞歸,又用的是循環思路,這讓這段代碼非?;靵y。讀起來非常費勁,修改BUG更是難上加難。
說起BUG,我們叫臭蟲,對于歐陽明來說,是沒有什么感覺的。但對于王維來說,天天都是家常便飯。每天都是他吃的最多。所以,慢慢的,王維的聲譽越來越高。到最后,歐陽明發現,第一個轉正的,就是王維。這多少讓歐陽明有點羨慕,大家也一樣,所以都慫恿著王維請客。單身男子漢嘛,這方面當然當仁不讓。
已經到了冬天,路上已經可以結冰。請客是在晚上。吃完飯后,王維騎著自行車,帶著歐陽明。突然后輪一滑,歐陽明從車上直著摔下來,屁股直接著地,立馬就麻了,一晚上也沒有好轉,怎么睡都疼,最后趴著才好點。第二天,歐陽明還是堅持去上班了。經過非常艱難的行走,他終于走到了公司。他后來都懷疑自己是怎么走過去的。在和大家的聊天中,老大知道了這個事情,立即感覺他應該去醫院,于是老大就帶著他,上了他的奧拓。直奔海淀醫院。因為歐陽明不能跑,老大還得親自跑來跑去。好在最后拍完片子發現就是肌肉損傷,老大這才放心。
這些情意,歐陽明一生都記著。還時不時地講給其他人聽。日子就這樣溫馨的過去了,直到歐陽明的轉正答辯來臨。
如何準備轉正答辯?不知道!歐陽明就把自己的做的一些事都寫出來了。轉正現場還有那位非常嚴格的朱鶴亭,這讓歐陽明多少增加了點緊張。在說明的時候,越加結結巴巴。好在旁邊的老大,經常接上評委的問話,幫助歐陽明解釋。轉正順利通過。
歐陽明是提前一個月轉正。和王維一樣,慣例,請客。其他人都是正常轉正的。公司決定,同時這么多人轉正,就直接提交轉正申請就得了,不進行答辯了。但請客是不能取消的。所以那段時間,請客就變成了排隊,天天吃。
真是一段難忘的歲月,歐陽明常常這樣想。隨著成長,歐陽明也逐漸遇到很多煩惱,他會如何解決呢?
程序江湖:第八章 釋放成長的煩惱
回復: 有網友說,目前這樣寫,有些空洞。確實是這樣的,一些細節確實跳過去了,沒有勾勒。目前因為還有工作,每日寫一篇,主要還是講職場故事。要寫出小說級別的,需要更多的時間投入。希望大家繼續支持。
有一天,突然傳來一個消息。說在某項目組的岳亮,已經當上項目經理了。這個岳亮也是和他同時進入公司,同時參加培訓的。這猶如一個石頭,砸進了歐陽明平靜的心里。同屋的小伍似乎看出這點,說了一句:“誰先當上項目經理,不代表什么。關鍵還是做出成績。”
也有人跟上話。小祝說:“話是這么說,但是,他確實是第一人啊。”
小伍繼續說:“什么叫后來者居上啊?他這是有機會了,等到你們有機會的時候,你們照樣上。”
后來,事實證明,這些項目經理成了先烈。因為從技術轉項目經理,必須克服很多東西,很多人都克服不了。當然了,這是后話。歐陽明他們還停留在羨慕他們的地步上。
不管怎么樣,心里的蕩漾,逐漸促使他開始思考下一步走向哪里的問題。正好有一天,公司的總經理來到辦公室,和他們交流了一段話。老大嘛,大概就是講講使命和遠景。但是你還別說,很多人并不清楚自己的部門的使命和遠景,于是就容易迷茫。歐陽明就是這樣。
總經理說:“研究所,是研究技術,但是我們不是科研單位,我們來自項目,還要走進項目。所以我們的人也一樣。也需要到項目里去回爐,然后再出來。”
當時還有很多人很熱烈的和總經理談話。歐陽明及記住這句了。是啊,他感覺他得出山了。在幾年以后的一次總結中,他把這部叫成:英雄下山了。當然了,這要和后面的機遇聯系在一起完成。這里且先不說。
方向問題基本解決了,這讓歐陽明輕松不少。可是日常的工作中,同樣也會出現很多困擾。最典型的就是一些問題解決不了,非常頭疼。后來,他找到了一個方法,這個方法很簡單,歐陽明取了一個名字叫:煩惱轉移法。就是當他因為某件事想不清楚的時候,就去找另外一個人,試圖給他講清楚整件事。往往是講到一半,他就知道該怎么辦了,反而留下對方,在哪里傻愣著,不知道怎么回事。
這個方法很好,不過就是苦了蘿卜頭小祝了。不過小祝隨之練就了另外一個功夫:三不神功。對于任何別人的煩惱,都可以做到不聽、不想、不究。你以為他聽了,他其實沒聽進去。
這也讓他們倆人,成為了一對好朋友。一起共患難,一起創造成就。
歐陽明真的要下上了,可是下山之后還有很多事情需要他去做,他知道怎么做嗎?
程序江湖:第九章 設計就是畫類圖?
王維是第二個成為項目經理的!知道這個消息的時候,歐陽明已經不驚訝了。雖然多少還是有點羨慕,但還是由衷的祝福他的朋友。沒等他當面祝福,王維已經來找他了。王維需要招兵買馬!他希望小祝和歐陽明成為他的左膀右臂。
這不是歐陽明自己能決定的。但他顯然很愿意接受這個請求。
事實上,上面早就已經同意。只是需要征求他們自己的意愿罷了。既然都沒問題,這件事就定下來了。
他們下來的準備工作,就是對新系統進行一個系統架構設計。設計?架構?怎么做?王維不知道,他交待給歐陽明和小祝來做??蓪τ跉W陽明他們來說,他們也不知道怎么開始。他們之前的工作都是一個小模塊,并沒有項目設計的經驗。
那怎么辦?看看書上怎么說!哦,說到設計,有一個軟件叫Rose,有一個語言叫UML。那就便用邊學吧。打開軟件,其他也沒明白怎么回事,但對于對象設計還是大概了解的,那就畫類圖吧。搞清楚類圖,系統架構應該就搞清楚了吧。
他們也煞有其事的,在一個小屋子你反復討論業務中對象之間的關系。然后在針對這些對象進行抽象。設計對象的屬性和方法。最終,形成了一個復雜的類圖。
王維來問問系統進度,他們就拿了Rose圖給他看。
“這可以嗎?”王維充滿了疑慮。但是,那個時候,公司沒有一個人知道系統應該如何設計。
歐陽明卻拍著胸脯說,“沒問題,就是這樣子的。”
最終,王維的擔心得到了支持。公司派出公司最高的技術牛人朱鶴亭,駐場主導設計,歐陽明和小祝跟著。按照老朱的說法,他們三人組成了JAD。原則是少數服從多數。不過,老朱也是一個不懂得業務的人,所以設計還得歐陽明的老大土博士友情參與。這樣實際上形成了一個3+1小組。三人決策不了的問題,會加入土博士進來,再進行決策。
風風火火的設計就這樣開始了。歐陽明能學到什么呢?
程序江湖: 第十章 三人吵出的設計
歐陽明一直以為知道面向對象編程,就可以天下無敵了。至少,拋去自己的修煉問題,面向對象編程(OOP)應該是最好的武功了??墒?,面對一個大型系統的設計,他發現無從下手。
這里面固然有經驗的問題,他也確實遇到了瓶頸。設計和編程,不是一個領域的。
俗話說,有了老大,打遍天下都不怕。有朱老大帶著,感覺沒問題。不過說起來,歐陽明真是天將降大任,正好趕上非典。而他們的工作環境是在一個小區里面封閉。每天都在屋子里,擔驚受怕。中午出去吃飯也是如此。做城鐵公交的,都會隨身帶著口罩??谡钟卸螘r間都脫銷了,還報道有黑心棉的口罩出現。公司也給歐陽明他們發了一些,但是都沒用上。
發生非典是在春天。北京的春天,刮一下大風,更顯得非典之后的荒涼。朱老大開玩笑說,在這鳥不拉屎的地方,非典也是不會來的。不過后來朱老大還是用上了口罩,因為他感冒流鼻涕了。工作中也帶著,因為呼吸難受,所以還把口罩上面掖在鼻孔下面,方便出氣??瓷先ヌ貏e有意思。
設計就這樣開始了。朱老大先聽一遍需求,然后用用例圖(Use Case)理解一遍,然后再用順序圖,理解一下業務流程。到具體的業務模塊,用包進行分組管理,在每個包內,進行相對的獨立設計。
畫圖的技巧,基本上邊讀書,邊理解,很快就達成一致認可了。但是關于一些具體的設計,就不容易達成一致了。
有一次遇到一個問題,關于有匯總關系的兩個類的組織。小祝認為因為匯總關系,字段都差不多,不如直接繼承。歐陽明認為既然不一樣,還不如再抽象一個基類。朱老大來投決定性一票。但是老大就是不一樣。他先和他們討論原則問題。
“這兩種方法是不是都能解決問題?”
“是的。”小祝和歐陽明都承認。
“那我們是不是應該看看,什么情況下應該是繼承,什么情況下不應該?”
于是這個問題,就換成了,上級匯總類,是不是下級類的一個子類,即“IS-A”的判斷。這一下子轉換成了一個業務問題,問題就簡單多了。
不過朱老大也不是萬能的。有一次遇到一個問題,小祝和歐陽明同樣吵得不開交,朱老大聽了之后,表示無法判斷。只能邀請在旁的土博士參與進來,進行了一個傾向性判斷。關于這件事,歐陽明還當面嘲笑了一下朱老大,沒想到朱老大給他們深深地上了一課。
“如果兩個方案,以10為總權重,一個1,一個9。權重越大表示越好。你們會選擇誰?”
“當然是9。”兩個人異口同聲。
“如果是3和7呢?”
“還是7。”
“那么,如果是4和6呢,或者5和5呢“
“我選6,如果都一樣,就無所謂了。”歐陽明似乎有點感悟。
“但我可以選4。”朱老大卻出人意料的說出這樣一句話。
“為什么?”又是異口同聲,但這次是驚訝。
“如果6是我提的,4是對方提的,我愿意選4。對方是4,表明可以做好,而且我自己是6,很可能是有自我暗示的因素。最關鍵的是,我不是為了選誰而爭論。”
歐陽明突然被震住了,因為他突然意識到,這不是個技巧問題,也不是單純的心態問題,這更是一個做人的層次問題,視野的高度問題。要做好設計,不光是血技巧,也得隨時修煉自己啊。他忽然感覺學到了很多,卻又感覺自己懂得很少。
設計就這樣吵吵的過去了,基本非典結束,他們也結束了。下面就進入了緊張的開發階段,項目組要從歐陽明和小祝兩人中選擇一個做開發經理,他們誰會當選呢?
程序江湖:第十一章 不一般的小插曲
讀者反饋:有朋友hhkun0120希望能描繪的再細致一些,那樣的話,文章的耐讀性會更高,而且更具有教育意義。這點我非常認可。剛開始寫作,最關鍵在于堅持。慢慢順了,就能進行這方面的改進了。謝謝lifg06938的支持。
歐陽明開發的項目,對公司來說是一個非常全新的嘗試。公司完全啟用的新人,采用新的工作模式。雖然歐陽明不知道,但是能隱約感覺到這些。一天公司的大王總來看他們了。之所以叫大王總,是因為有很多王總,這位歲數最大。這是歐陽明非常尊敬和景仰的一位領導。很有親和力和感染力。剛到了,就喊他們幾個出來搬東西。
“給你們帶了點水果,你們吃吃。”王總隨便說了一下。
歐陽明和小祝就一人搬了一箱,王總又問:”沉不沉啊?”
歐陽明趕緊回了一句:”不重不重。“心想,就這點事,哪能叫苦呢。
沒想大王總補了一句,”你們真不會說話,人家帶來東西,要說沉,表示帶的多嘛。哈哈!”
歐陽明和小祝心里一陣汗啊。
王總是下午來的,等和王維交流完工作后,已經是晚上了。就說要請我們吃飯。這點歐陽明非常歡迎。特別是大老大請客,一定要吃。吃飯的時候,王總說了幾句語重心長的話,讓歐陽明和小祝兩人倍感責任。
“公司這次全新的嘗試,是有風險的。但是,公司相信你們可以。”
“不過,這個重擔,不是王維一個人能承擔的,你們哥倆要做好王維的左膀右臂,幫助他承擔啊。”
說得歐陽明和小祝立即主動表態:”這點您放心。我們本來就是一起的。他要是有什么困難,我們都會上的。”
“那就好。”
有些話,王總沒有明說,但是在后面的幾天,逐漸的露出端倪。歐陽明隱約知道,王維感覺壓力大,就和上面請辭了。所以大王總才特意過來看大家的。為此,歐陽明和小祝協商好了,特意找了王維一次,第一給他鼓氣,第二想讓他打消這個念頭。
至此,這件事算告一段落了。他們仨的溝通也越來越緊密。王維還經常請他們倆吃飯。印象最深刻的就是烤羊棒,這在之前,歐陽明是沒有吃過的,南方好像沒有這個,而且感覺特別香。從此他就愛上這個菜了。
程序江湖:第十二章 爭來的開發經理
這一日,歐陽明和小祝被朱老大突然叫到一起,說是要征詢一下他們的意見。
他們三人是在公司的大會議室。說是大會議室,其實也就容納30人左右。雖說會議室大,但歐陽明卻沒有感覺到絲毫空蕩。因為朱老大拋出的問題,讓他幾乎有點窒息。
“部門需要選拔一個開發經理,你們倆看看,隨愿意來當???”朱老大的話很直白,一邊說一邊翻閱他隨身帶著的記事本。歐陽明和小祝都是空手的。
這個問題,對于歐陽明和小祝兩人確實是很突然的。之前的工作任務之爭,說起來只是一個普通任務而已。而開發經理是一個崗位,一個管理崗位。誰不想去做呢?特別是這些剛剛畢業工作,血氣方剛,希望年輕有為的朋友。他們也是這樣,揣摩著對方的想法。但是誰都沒有先開口。
“是這樣的,王維問我誰適合當開發經理,我的意見是先問問你們的意思,別到時候,你們都不愿意做。”朱老大看著有點寂靜,就補充了幾句緩解的話。
歐陽明突然感覺到這是一個機會,他必須抓?。∧X袋也突然什么都不去思考,就是想要抓住這個機會,于是脫口而出:
“我想做。”說完,才看了看小祝,他發現小祝也微張嘴唇,可能也是想要說出來了吧。但畢竟還是歐陽明先說出來了。
小??戳丝?,突然也說了一句:“我也想做。”
朱老大看看兩人都有意愿,立即做了總結,
“好,既然你們倆人都愿意,那就好辦了。今天就這樣,等決定了再告訴你們。”
第二天早上,王維宣布了任命,宣布歐陽明擔任開發經理。歐陽明很高興,也同時為自己當時主動說出自己的意愿很滿意。心里面經常有“幸虧”的字眼出現。
大概隔了一個月后,一次偶然的機會,歐陽明和小祝遇到了朱老大一起吃飯。朱老大說了當時的決策情形,特別是他當時的一些判斷和建議。顯然這些建議是決定性的。
“兩個人從能力上看,應該都可以。但是我認為歐陽明的性格會開朗一些,這個性格會讓壓力到他身上的時候,能夠彈開,而不是象下雨天騾子駝草一樣,最后被壓死。小祝的性格剛剛相反,所以我覺得歐陽明更加合適。”
“哦…”歐陽明心里說了無數個哦,他一下子又領悟到很多。人生,不就是這樣成長起來的嘛。
接下來的工作里,歐陽明會遇到前所未有的挑戰,這個挑戰是什么呢?他會怎么去解決呢?
程序江湖:第十三章 風險驅動的任務
所謂屁股決定腦袋,很多時候,你坐到什么崗位上,你才知道你需要做什么。沒有人去教歐陽明怎么去做開發經理。只是項目經理王維說了一句:
“以后開發的事情你來負責”。
這就是說,歐陽明的工作從以前有人安排,突然陷入到需要自己給自己安排工作的境界。打個不好聽的比方,磨粉的騾子,突然沒有了鞭子,反而不知道向前走了。
在很長的一段時間內,歐陽明的工作就是有什么事情找他,他解決什么事情。慢慢的,他總結出,這就是一種風險驅動的工作模式。他急忙的去翻閱書籍,開始學習很多研發管理方面的理論和實踐故事。這是一個孤單的旅程。開發經理只有他一個,別人也沒有經驗可以參考給他。他必須堅定的走下來。那個時候他讀了《快速軟件開發》、《人月神話》、《需求管理》等等一些書,但是理解不深刻,總感覺不能和實際工作聯系在一起。
比如說,快速軟件開發中的工作量估算中,一個功能點,對應多少代碼行。這是一個經驗值。但是公司當時沒有這個數據,只能估算一個。
沒有銀彈這個論斷雖然大家都接受,但是大家都還在追求銀彈。
需求管理很專業,但是沒有人愿意改變原有的工作模式去接受新的方式。
開發經理,讓歐陽明接觸到了除了編程技術以外還有很多問題需要解決,還有很多領域他不清楚,他曾經認為擅長的,只是占有了一小塊。
關于如何做好一個開發經理,歐陽明曾經看到網上有一段描述,說外國的某某某,堅持每天編程半天,說這樣才能了解系統的整體情況。他也堅持這么做了。雖然他也不知道這樣對不對。不過依他很多年之后的總結來看。如果真想做管理,那就應該放棄這些技術上的誘惑,否則,技術只是他管理的干擾。
就這樣,歐陽明工作也是越做越順。系統也慢慢的接近發版。但是在這個時候,歐陽明突然接到要轉到其他項目組做開發經理的邀請,這讓他非常猶豫,最后他的選擇是去還是留呢?
程序江湖:第十四章 離開讓男人成長
開發部經理小易,是一位非常親和力很強的人。他畢業于清華,典型的有清華學生的敏銳和智慧,說話語速還特別快。有一次,他就提了一個非常有意思的問題,公交車下車的人,從車前面過馬路好,還是從車后面過馬路好?很少有人注意到這個問題,但是他能注意到。
這天他找到了歐陽明。問了他一個問題:
“你說,一個項目是基于SQL開發的。如果現在遇到了維護困難的問題,你認為應該怎么解決?”
這是在考我啊,歐陽明這樣想。“我認為關鍵是要分清楚SQL的職責,SQL用來去業務數據視圖,沒有問題,但是不要把業務邏輯,特別是界面控制邏輯也放進去。否則,SQL的復雜度會急劇增加,維護起來當然就很困難了。”
“好,現在有個項目就遇到了這種情況,你有沒有興趣去幫忙解決啊。”
“好啊,我去了解了解。”對于能夠展現自己能力的機會,歐陽明是不愿意放棄的,更何況,他喜歡幫助別人。至于哪個因素更占優勢,誰知道呢?
就這樣,歐陽明利用一半的工作時間,開始接觸該項目的產品代碼。對方項目經理周曉輝對此事非常高興,也非常支持。
沒隔兩天,小易又找到歐陽明,這次周曉輝也在。
“怎么了?什么事?”歐陽明顯然不知道怎么回事。
“我就開門見山的說了吧,”小易說,“小周的項目現在缺少一個開發經理,現在很希望你能過去幫忙。而且你也有很多想法,可以在那里一顯身手。”
這讓歐陽明一下子不知道說什么好,只是問了一些問題,“他們現在沒有開發經理嗎?”
“沒有,所以小周也希望有個人能夠幫助他管理開發。”
“而且,”小周在一旁插入了一句,“現在開發也有很多問題,整體系統框架很差,幾乎一句維護不動了。所以,特別希望有個高手能夠進來解決這個問題。”
“哦。”歐陽明看了他們兩位,拿不定主意,只好說了句,“能讓我想想嗎?”
“當然可以!”小易和小周都好像看到希望,異口同聲的說。
這次談話,讓歐陽明一下子就陷入到兩難的地步。他突然發現,他對現在的項目有特別多的依戀。畢竟,他已經在這上面奮斗了一年多,而且項目即將就要發版了。他對系統中的很多都非常熟悉,這個產品,就像自己的孩子一樣。他發現,他舍不得離開它。
但,同樣的,新機會,會有新的挑戰。這對他來說也是一種誘惑??墒?,他應該如何取舍呢?
他不知道。他也不知道該找誰商量。即使找到別人,別人是否真心指教,還是未知數。這個時候,他鬼使神差的想到朱老大。竟然沒有遲疑的就去找他問去了。可能也是抱著試試看的態度,所以就沒想太多。
朱老大聽了問題后,卻非常重視。他對歐陽明說,
“如果是我,我非常愿意去新項目。”
“為什么呢?”
“因為新項目我又可以結識新的朋友啊。”
歐陽明突然意識到“新朋友”的意義。去新項目,不是代表我原來的項目的人,就不再是朋友了,就不再交往了。這些人,這些事,都還是他的啊。并且,在新項目中,結識到新的朋友,反而使得他的朋友更加多起來。
離開就項目,不是失去舊項目。只是割舍了一份責任。當我們拿起來一樣東西的時候,我們是準備去奮斗,當我們放下一些東西的時候,我們是在成長。
歐陽明有一次偶然看到一個動畫片廣告,廣告上說到:“離開使人成長”。是啊,這不就是說歐陽明的現狀嗎?
離開需要勇氣,歐陽明已經下定了決心,因此他有了這份勇氣,去迎接新的挑戰。他很快就接受了這份新的任命。不過,事情永遠不會是你想得那么簡單。歐陽明能夠搞定這些嗎?
程序江湖:第十五章 熱衷傳銷的團隊
反饋:今天因為工作太忙,所以沒能按時發布。感謝liangweiqing00 、 pcliuguangtao、sohu_2011、Catchyflying的支持。正因為有大家的喜愛,我才能一步一步走過來。
一天,一個親戚有一次打電話問歐陽明,安利這個公司如何。歐陽明很是摸不著頭腦,他從來沒聽說過這個公司。就建議這位親戚在網上搜索。因為他能做到的也只能是這樣。讓歐陽明沒有意識到的是,這個公司在未來的十年里,深刻影響著中國。
他的公司、一些同事也同樣沒有幸免于難。
先是一些一直希望在銷售上大展拳腳的人,這部分人的特征,往往是希望培養自己這方面能力。歐陽明對此不感興趣,但也不反感這樣的人,反而是佩服的。其中有一個人,還是北大的,拉住他說那個金字塔的成功模型,歐陽明不相信。歐陽明物理學的好,不要只關注個體,整體的趨勢一定要了解清楚。因為整體上一定有一些規律:
第一、只有少數人發財
第二、要發財早就發財了
基于這些判斷,歐陽明不相信這些。但別人相信,他也不反對。
第二階段,就是聽到一些傳言。有一次家里還打來電話,告訴他如果某某某向他借錢,千萬不要借。到第三階段,也就是歐陽明進到新部門擔任開發經理之后的事情了。
一開始小易完全沒有告訴他這些事。他發現,每逢工作休息期,幾個開發人員就會在一起閑聊。其中一個人就會說他最近吃了什么什么蛋白質,以前什么什么都好了。最夸張的是,有一次竟然說自己長高了,非要大家去幫助他丈量一下。
最奇怪的是,一個已經是博士的開發人員,也跟著搞這套,沒事就想去賣安利的產品。
這讓歐陽明很是惱火。首先他找到項目經理小周,然后又找到開發部經理小易。結果他們表示確實知道這個情況,但是也不知道怎么解決。歐陽明感覺自己被騙了。也怪自己先前幫忙解決問題的時候,沒有注意到。
現在后悔也不是辦法了。歐陽明的態度卻異常的明確:不能改變,就得換人。并且,必須制止在上班時間兜售安利產品的行為。歐陽明委托小易把這件事當成開發部的整體制度宣貫下去了。
結果還挺有效果。但氣氛卻異常的壓抑。歐陽明知道,自己得趕緊招人了!
說起招聘,到也有很有樂趣的一件事。一次,來了一位大叔級人物,關鍵是,他一直在和歐陽明講道理。這讓歐陽明很尷尬,只能趕緊找話題,結束面試。
后來又來了一位,感覺挺好。還聊起了敏捷。那個時候敏捷只是一個方向,一個理論。正在實踐的少。所以這位面試者表示自己很愿意嘗試。這讓歐陽明感覺他很好溝通,容易接受新思想。于是就要了下來。這就是后來加盟的春哥。
后來,歐陽明把自己的得力助手老冀也調過來了。還特意借調了一下和老冀一起來的老孫。新力量的補充,讓原有的幾個搞傳銷的開發,特別不舒服。慢慢他們主動提出離職了。
這是個好事,歐陽明及時補充了兩個今年剛畢業的新人。新的團隊基本組成完畢。要開始給系統動手術了!歐陽明該怎么做呢?
程序江湖:第十六章 天上的團隊建設
時值夏天,北京是異常的熱。公司的空調還算給力。歐陽明他們選了一個好位置,剛好是最靠近空調機的房間。所以出口的溫度非常低。但這并不是所有人都喜歡。春哥和冀揚兩人就是屬于怕冷型的。所以整天能看到他們裹著一個春秋衫,樣子極其可笑。
公司還給團隊新調入一個業務專家,大家都叫她王姐。經過幾輪人員的進進出出,換血工作基本完成。歐陽明也得以有時間把系統進行第一次重構。
在那一年,還不流行“重構”這個詞。歐陽明主要還是想對系統架構做一次優化。讓系統模塊間變得更加獨立和簡單。這個系統,基本是在做一個業務流程,每個模塊,就是其中一個活動。依據這個特點,歐陽明就把這些模塊從整個系統中獨立出來,定義一些基本交互接口,然后再嵌入到系統中去。這樣,流程環節中新增活動,就可以很容易的擴展出去。
你要是技術架構經驗很豐富的話,會感覺這個改動很簡單。事實上,軟件開發的初期,這種情況很容易出現。很多人一起去開發系統。沒有初期的架構設計,大家就是在一個系統上改來改去,系統變得越加臃腫不堪。早期可能感覺開發效率很高,但越到后來,越是要進行客戶交互的時候,發現系統改不動了。
歐陽明的第二個動作,就是進行系統中SQL的整理。把SQL定義為數據視圖的獲取,不進行SQL的邏輯編程。這在當時還是很有意義的,因為團隊中很多人,并不是很熟悉SQL的編程。而且,相對來說,早期的SQL編程的可讀性,并不如Delphi的可讀性強。只要不出現性能問題,都還是可以接受的。
有一次部門例會上,小周開始講一些客戶反饋。中間提到一個客戶對項目產品的抱怨。大家聽得卻義憤填膺。說這個客戶怎么怎么不理解我們。歐陽明卻補充了一句:
“大家也嘗試去從客戶的角度考慮考慮,他在使用產品的過程中,遇到這樣的問題,他也不好受啊。他的領導說不定還會責備他呢。”
雖然這話,大家聽了聽不舒服,但是確實有道理。慢慢的,經過這一頓整改。團隊也慢慢接受了歐陽明的能力和人品。
不想事情又發生了變故。一天小周找到歐陽明,大概說了一下希望他來當項目經理的想法。
“為什么?”歐陽明第一反應是不理解!
“哎,主要是壓力大啊。產品到現在還沒有正式發版!而且,我也不喜歡做管理工作,我還是喜歡做技術工作,我喜歡做需求。”
“可是我也不行啊。”
“你比我強,而且還能進行換位思考,能夠理解客戶的需求?,F在開發團隊管的也不錯。應該可以的。”
“可是……”
“這件事我已經和上級談過了,上面也是同意的,只要你同意,這兩天就辦交接手續。”
“我…….那好吧。我先試試看!”
“你沒問題的。”
歐陽明當然想做項目經理。但是他必然還是很忐忑的。畢竟是沒有做過啊,只是想走一步算一步。關鍵是先做起來再說。對于歐陽明來說,他完全不知道做項目經理,應該做什么。好在,工作會讓他清楚他的職責。
歐陽明也算是任命于危難。剛上任,就接到命令,帶著所有團隊去南京和云南。
“什么?這么多人一起去?怎么去?”
“坐飛機去!”
“機器怎么辦?”
“托運。”
原本,研發人員對于出差,都還是喜歡的。只要不是長期駐扎,短期的出差,往往是向往已久的。再加上還是飛機來去,那就更加讓人向往了。但不是所有人都高興。春哥非常沮喪的找到我,問歐陽明他能不能不去。歐陽明以為他要臨陣退縮,當然不同意。誰想他是怕坐飛機。
頓時項目里炸了鍋了。大家都非常熱情洋溢的討論這件新鮮事。不過討論歸討論,問題還得解決,最后決定讓春哥先做火車,提前出發。其他人在第二天做飛機去。
任務刻不容緩,歐陽明就帶著團隊所有人,殺向了北京機場。公司特意專車護送他們。機器是他們的武器,所以必須保護好。除了包裹的要穩妥,為了防止硬盤發生故障,還必須拆卸下來,單獨存放。
一個團隊一起飛到外地辦公,這在公司的歷史上,是從未僅有的事情。以后也說不定是后無來人了。
飛機上,歐陽明和冀揚坐在一起,靠著窗戶。歐陽明發現,冀揚真是博學多才。一路上,冀揚都在講述各種現象的科學解釋。比如說天上云的形狀,是“自相似分形”。這個詞歐陽明是第一次聽說,所以特別欽佩。這些都是平時看不到的,但是因為這次出差,歐陽明對整個團隊中的每個人,都開始有了真實的了解。
一場天上的團隊建設,從此就拉開了帷幕。這次經歷又將如何呢?下次再詳細說明。
程序江湖:第十七章 火焰山中的南京
南京,“中國四大古都”之一,有“六朝古都”之稱。千百年來,奔騰不息的長江不僅孕育了長江的文明,也催生了南京這座江南城市。南京襟江帶河,依山傍水,鐘山龍蟠,石頭虎踞,山川秀美,古跡眾多。
南京話在歷史上長期是中國的官方語言。明代及清代中葉之前中國的官方標準語一直是南京官話。歐陽明喜歡聽的《喝餛飩》就是用南京話唱的,清雅流暢、抑揚頓錯,非常好聽。
不過,現在這個時候的南京,卻是人稱四大火爐之一的城市。另外幾個是南昌、重慶、武漢,他們都是在長江流域。氣候潮濕,卻又異常悶熱。叫你出了汗,卻排不出來。
歐陽明他們下了飛機,頭等大事,不是去感受氣候。而是去搬運機器。這是他們的命根子。沒有機器設備,就無法工作。所有的注意力都是查點設備。
東西點齊了,就到機場出口,等待來接的南京分公司的同事。過程還是很順利的。分公司的同事,是兩位男孩子,接了頭之后,大家坐上出租車,直接就開往分公司辦公地點了。
一路上,分公司的同事,非常熱情的介紹南京的風土人情。印象最深刻的還是房價的持續上漲。離機場不遠,但是離南京市中心還很遙遠的地方,房價已經不菲了。老百姓都買不起房子啊。
不過歐陽明也沒有感到驚訝,北京早就這樣了,他們已經麻木了。不久,他們就到了目的地。
南京分公司,是在南京市中心的一座辦公樓里。樓下就是商業區的步行街。歐陽明他們搬著東西就上樓了。本以為和總公司應該是同一種感覺,沒想到進了辦公區,才發現,辦公室里沒有開空調,因為一開空調就跳閘!
歐陽明也管不了那么多了。先布線,爭取今天就能把電腦接上工作。因為擔心分公司沒有專業網管,項目組還請了總部的專業網管彤哥同行來幫忙。
專業就是不一樣,線和設備都提前準備好了。到現場就直接布線,調整每天機器的登錄方式,設置IP地址。一個小時過后,大家的機器就可以互聯互通了。這個時候已經是晚上六點了。
彤哥回了南京的老家,而歐陽明他們卻堅持先對系統進行了一次復測和調試。而王姐和當地的經理進行了需求的溝通和了解。直到晚上十點,他們才打車去住宿的地方。因為分公司說好了住宿的地方,所以大家也沒著急。但是等他們去了之后,才發現,賓館因為他們去得太晚,所以取消了預約,讓其他人住了。
也就是說,半夜十一點,歐陽明他們一伙兒,卻突然發現,沒有地方可住。真是可憐啊。他們只能沿著大街往前走,準備找到一家是一家,先住下來再說吧。路經一個混沌攤,大家發現早就餓得不行了,紛紛要了一碗,解了燃眉之急。南京的餛飩和北方的餛飩是不一樣的。北方的餛飩到南方,更像是水餃。南方的餛飩,講究皮薄,肉餡。而且很多餛飩都是直接卷出來的。
吃完飯后,他們還真找到一個地方住??墒莿倻蕚滢k手續,電話打過來,讓他們搬回原先約好的賓館。原來,之前總部歐陽明的老大,不放心,就打電話問歐陽明,歐陽明說明了賓館的情況后,總部領導立即找到分公司經理,協調住宿資源?,F在終于協調好了,就通知他們回去住了。
這樣,總算有了落腳的地方。洗漱完,洗完衣服掛在空調下后,大家就上床睡覺了。冀揚和歐陽明是一個屋子的,這晚他們進行了深入的夜聊,直到睡著了。
清晨早早起來,吃了早飯,他們就趕到了分公司,發現門還沒開。等到門開后,他們發現空調終于啟動起來了。可是溫度總是降不下來,所以大家一直還是熱著。逐漸的出汗久了,也就慢慢不知道出汗了。
吃飯分公司也沒有食堂。歐陽明他們就只能自己下去吃飯了。好在下面就是商業街。吃的倒是多得很。鴨血粉絲非常著名,可是人很多,而且分公司的同事介紹說并不好吃。
歐陽明他們就隨便走了幾家,但是走到每個屋子里都很熱。原來,南京市缺電,所以規定所有商場,溫度必須設定在28度以上。
哎,可憐了歐陽明他們啊。先找個地方涼快都不行。
晚上回到賓館,發現晾的衣服竟然還沒干。而歐陽明突然發現自己帶的衣服就兩件T恤!只能再去買幾件將就了。真是鍋爐城市啊,整天都是桑拿天。
那么,歐陽明他們工作會順利嗎?
程序江湖:第十八章 察顏觀色的伙伴
中午吃完飯,歐陽明和幾個同事,在南京分公司下面的地下商場里散步。一是為了消食,而是為了納涼。突然,一聲刺耳的鳴笛響起,大家還沒明白怎么回事,就發現有人突然奔跑起來,于是所有的人都跟著跑起來?;ハ嘀g還問問,怎么回事?。坎恢腊?!
歐陽明屬于后知后覺,不隨意跟風的那種。沒搞明白回事,是不愿意跟著瞎跑的。等他慢慢走到門口,才搞明白,原來這是一次消防演習。歐陽明的老大老盧曾經這樣說過他,他就是對面打來一排子彈,領導讓他趴下的時候,他還在考慮為什么要趴下的那類人。
等到下午回到辦公室的時候,歐陽明就開始發現胃部不舒服了,好像吃的東西一直消化不了。問了一下冀揚,說吃思密達比較管用,于是立即吃了點藥。
春哥也已經在第二天趕到了南京?;疖囯m然慢點,但可以很好休息。不過那也得看這人是否可以適應。春哥就是不能適應的,所以晚上也沒有休息好。但春哥還是立即投入到了緊張的工作中。
歐陽明一直很高興有這樣的同事。在這群同事中,春哥和王姐都是比他年長的。其他人都比他年幼。于是他要求項目組內,大家必須以哥和姐尊稱他們。至于王姐和春哥他們之間如何稱呼,嘿嘿,互相尊稱。有時候他們之間的稱呼,反而成為了項目組的樂趣。
到了晚上,歐陽明越發感覺不行了。特別是在吃了晚飯之后。臉色非常不好。所以在聽工作匯報和工作討論的時候,都沒有參與進去。到了八點鐘的時候突然不行了,沖進衛生間,發現這個衛生間非常小。原本想在洗手池沖沖臉,卻一下子吐了出來。以至于到最后吐完后,很多地方都沒辦法沖洗。這讓歐陽明很不好意思。但是他也不顧不了那么多了。因為他的身體實在太虛弱了。
好在吐了之后,頭腦清醒了許多。同事們的話漸漸地能聽進去了。最先聽到的是冀揚的話。
“我一直看到你臉色不好,以為你是不滿意我們的工作現狀。所以大家壓力都很大。”
“是嗎,我就是胃不舒服。一直消化不下去。”
“你沒事就好。大家看不到你有笑有樂,就都輕松不起來。呵呵,這下子好了。”
“是嘛!”歐陽明顯然在一段時間內忽略了自己存在的價值。他以前在很多時候,都會在大家需要支持的時候,在大家旁邊,開開玩笑,打打氣,出出主意。都不是特意做的,沒想到大家這么需要啊。
歐陽明立即提醒自己要注意自己的團隊的狀態。晚上買了幾套T恤后,及時換上,讓自己精神煥發。這一晚,冀揚和他聊得更多了。因為冀揚一下子發現原來老大也有虛弱的時候。老大,一下子很接近了。而歐陽明也感覺大家和自己其實非常近,只不過平時沒有機會表達出來。
讓大家在一起生活和工作,絕對是一種絕佳的團隊建設方法。除了費用可能高點,你會發現很多好處。歐陽明現在正在開始收獲這些好處。好處之一,就是貼心的交流,人與人之間變得更加信任了。
南京的活基本還是順利完成了,他們即將轉戰第二個戰場昆明。昆明之行又會如何呢?
程序江湖:第十九章 四季如春的昆明
南京的主要工作,其實就是當面實現他們的需求。為什么要出來開發?這在和南京分公司經理的交談中,多少透露了一點。根據他們的反應,主要源自于分公司總感覺項目組拖延他們的需求,從而導致他們的市場活動延后??偛颗蓺W陽明他們出來,就是要安撫大家的這種心情。
這就比如說,客戶遇到問題了,銷售解決不了,服務解決不了,反饋到總部還是解決不了。公司就可能派一個程序員到客戶那里。說是進行現場調試,其實關鍵在于讓客戶知道,我們確實在努力解決這個問題,即使程序員不能在現場解決問題,客戶還是能夠認可的。既然技術都解決不了,那就確實可能是環境的問題了。那就重新安裝軟件把。
這就是人性吧。信任往往來自于行動。正是因為目前這種分布式的運營模式,所以才容易產生很多不信任。當反饋不如自己的想象的時候,就開始進行猜忌。所以說,適當的短路是必要的。比如說,經常把各個地方的經理都集中在一起培訓。讓他們互相成為朋友,這樣很多事情,都可以在信任的環境下完成。流程環節上比較遠的部門,也經常聚聚,聊聊,埋怨經常能夠轉換為理解。
歐陽明團隊的工作狀態顯然還是得到了南京分公司的認可。他們看到的是一個不畏辛勞的團隊,也是一個勇敢的團隊。這一點很重要。
不過,他們即將轉戰昆明。這個問題最大的受害者是春哥,因為他得做火車去。這可比不得從北京到南京。中間還得倒車,最關鍵是,西部的鐵路很慢的。春哥只得一人提前一天上路??墒牵€是比較大家晚到一天時間。整整坐了三天兩夜。
當歐陽明他們下飛機的時候,機場上吹來的一陣清心的涼風,讓歐陽明突然忘記了火爐中的南京,真是氣候宜人啊。他們同樣是下了飛機就被接到分公司。在堅持先安裝完設備之后,他們被帶到住宿的地方。這是分公司的簽約賓館,可以有優惠的。讓歐陽明他們奇怪的是,這里的賓館沒有空調。大家洗完一個澡之后,已經到了晚上。正好,好好休息一下吧。
昆明的夜市還是很發達的,正好這兩天還有歐錦賽的足球比賽。所以路邊的餐館中會有很多人邊吃邊看球賽。球賽的聲音都傳出到街上來,讓你不得不去看一眼。到晚上睡覺的時候,歐陽明才明白,原來這里睡覺的時候的溫度剛好是人體最舒適的溫度,所以根本不需要空調。所以昆明因此少用了很多電,也因此少了很多氟污染啊。
第二天就有昆明的同事開始講解。你如果注意觀察路邊的人,會發現他們在一天中,有人穿短袖,有人穿長袖,還有人穿厚的衣服。因為昆明早晚溫度還是有差異的,中午還經常下一場雨。
吃飯就更有意思了,這里的飲食和中原的差別還是很大的。每家飯店都會自己用一些東西泡酒。就是上了一個西紅柿炒雞蛋,昆明的同事還解釋到,昆明的西紅柿特別好吃,因為光照非常足,所以西紅柿的味道特別濃厚。還有就是很多蟲子菜。呵呵,這個很多人是接受不了的,但是到了昆明,還是得嘗嘗的。還有就是竹筒飯。新鮮的竹子里面放得米飯和少量花生。吃的時候,竹香味和花生的香味混在一起,特別好吃。
在歐陽明的腦海中,幾乎感覺昆明真是無所不好啊。但是,很快他就和昆明分公司經理去拜訪客戶了。到那里他才發現,昆明的另外一大特色。先是看到一個竹筒煙,他不認識,就請教分公司經理,他笑著說,有機會你會看到的。果然一會就看到了。而等會兒他們參加一個需求討論會的時候,發現里面的所有人都在抽煙,整個屋子就是煙霧繚繞。整個會場,大家主要就是在發煙,而不是發言。
哎,昆明,真是天堂和地獄的復合體?。?/p>
歐陽明他們下面要因對客戶的評標,他們會如何勝出呢?
程序江湖:第二十章 講標的前一晚上
說明:非常抱歉,這周參加了太多的會議。原來寫作也是需要心情的,當沒有心情的時候,你都懶得動筆。
歐陽明來到云南的最主要的目的,是為了應對昆明客戶要求的評標。就是客戶邀請了幾家資質還可以的公司,分別演示和講解各自的系統,然后再進行評選。而這一次他們就是要進行講標。歐陽明沒有講過標,這次也不是他講,是當地的分支經理親自上陣。分支經理名字中也有一個“琨”,因此人稱琨哥,另外還有一個響當當的名號:“西南王”。是公司西南幾個省市的市場負責人。
西南王不是蓋的。至少講標方面,歐陽明一行人都得好好學習。
講標的前一天晚上,大家都還在進行緊張調試,做系統驗證。大家的思路很明確,按照講標的順序,把系統完整演示一遍。過程中不允許出現任何錯誤。這個方法他們取名叫“主流程覆蓋法”,后來一直持續使用下來。這個方法的最大好處,在于真正結合業務在進行驗證,而不是單純的功能驗證,所以目標導向很強。但即使這樣,系統也還是一直在報錯。
“這個系統的框架太差了,必須進行改進!”歐陽明在旁邊給冀揚他們打氣,慢慢就聊開了。
“不如重寫一個得了!”冀揚也基本同意他的想法,但更愿意自己寫,而不是改寫。
“嗯,重寫一個是必然的,因為這個產品目前是拓展客戶,還屬于需求收集階段。需求穩定后,必然會進行大版本升級的。”
“那什么時候才可以升級呢?”
“這個還得有點時間,目前關鍵是解決系統的穩定性問題。”
“那得從那里著手呢?”
“目前,影響穩定性的主要有兩個方面:第一個是模塊之間存在不必要的耦合,導致數據一致性常常存在問題。”
“嗯,是的。”
“第二個問題是,數據量大的時候的軟件性能問題。常常出現大工程,系統就歇菜了。”
“嗯,要解決這兩個問題也很麻煩啊。”
“是的,不過整體思路還是很明確的。耦合的思路就是解耦,用接口的方式,將模塊獨立出來,不允許模塊對模塊的直接引用。”
“這個還好說,那性能呢?”
“嗯,表面上說,性能問題很復雜,因為形成原因多種多樣。不過針對咱們的系統,性能往往來源于大數據量的導入(到SQLServer)和服務端的數據獲取。”
“那又怎么樣?”冀揚繼續問道。
“就是說,我們第一解決好導入數據的模型,然后適時優化數據獲取的SQL即可。”歐陽明這樣解釋到。
討論還沒有完,但是時間已經很晚了。為了更好的應對明天的講標,大家都要好好休息。因此在最后一次流程正常走完之后,下班的命令被歐陽明下達了。
第二天,他們的講標順利嗎?
程序江湖:第廿一章 守在門外的講標
謝謝同志們的期待。終于忙過了繁忙的九月。是你們的關注,堅定了我寫下去的決心。
第二天,歐陽明他們早早就和團隊一起來到了客戶招標現場。但他們被告知,由于名額限制,他們不能隨同入內。只有講標的一個人可以進去。因為不是第一個講標的,所以昆明的經理琨哥和歐陽明他們都在外面坐下來了。
大家都很緊張,沒有經歷這個陣勢。但是琨哥顯然很有經驗,和大家介紹情況。
“我們不是第一個,是很有優勢的。”琨哥說。
“為什么呀?”冀揚很奇怪的問。
“這是因為,客戶往往不知道自己需要什么。”
“所以,第一個就成炮灰了?”
“也不盡然,如果你特別優秀,當然是別話。”
“是不是就像選秀一樣,第一個還在找標準,所以會很嚴?”春哥在一旁,若有所思的插了一句。
“嗯,差不多!”琨哥肯定的說到,“可即使是這樣,抓住客戶的痛點是才是關鍵。”
“對了,我一直就很想問,講標應該如何講,才能獲得客戶認可呢?”歐陽明這個時候提出疑惑。
琨哥看了一下大家,確認大家都想知道這個問題的答案。邊點頭,邊慢慢悠悠的解釋起這個問題來。
“簡單點說,你要知道客戶為什么需要招標買這個軟件。是為了形象工程?還是上級的硬指標?還是業務中遇到什么困難了?”
說到這里,琨哥看著大家的表情,看是否理解了,又不補充了一句,“同時要看,評委都是什么角色,他們關注哪方面的問題。”
春哥于是問了一句,“一般都有什么角色呢?他們關注什么問題?”
“角色一般可以劃分為三類:高層領導、業務主管、IT經理。如果是高層領導,主要關注軟件帶來了什么價值,投入產出比是否合適。因為他是掏錢的。業務主管主要關注業務中的難點是否都能夠解決,因為他們是使用軟件的。IT經理關注這個系統運維是否簡單,擴展和整合是否容易,因為他們根本不使用軟件。”
“這么復雜啦!”歐陽明感慨到!
琨哥突然站起來,說了句,“我先去看看情況”,就走到旁邊去了。歐陽明他們卻開始興奮起來。顯然,他們學到了很多東西,同時也為自己的軟件開始擔憂起來。
一會兒,琨哥回來了。“第一家快要結束了,他們是老板親自過來講標的??磥砗苤匾暟?。”這話也是說給歐陽明他們聽的,意思是,這個標很重要,研發團隊也要重點支持啊!
“那我們會不會有危險?”春哥擔心的問到。
“沒事,我們有我們的優勢。”琨哥顯然是經驗老到,不慌不忙的樣子。知己知彼才能百戰百勝。琨哥是做了足夠的準備的。“對方講理念,我們講產品。我們的產品是可以用的,對方還只是原型,理念再好,也不管用!”
“哦,這樣子啊!”春哥故意來了一個長調,顯然是長舒了一口氣,心終于放下來了。
突然一陣騷亂,琨哥站起來了,“他們講完了,輪到我們了!”
歐陽明他們就在外面繼續等著。
做需求的王姐和做測試的小范,卻坐不住了,激動的聊起來。
“怪不得我們總是在走流程測試。”小范首先說。
“那是,這是客戶的核心需求啊。”王姐跟到。
“王姐,要是讓你進去講,你有把握嗎?”小范挑釁了一下。
“呵呵,沒把握。我確實沒有想到這么多!不過軟件我還是可以講的。”王姐很低調的回應。
“要我說軟件的價值,我說不出來。”小范更誠實。
“要讓很多人認可,我沒有把握。”王姐也接下一句。
“萬一演示軟件的時候報錯怎么辦?”小范突然擔心這個問題。
“我聽葛工他們說,演示之前,要自己演示十遍以上,現場演示,不多一步,不少一步!”歐陽明突然插話。
“但是,客戶還是會要求你在軟件上嘗試一下啊。”
“這是個問題,那就要看對軟件有多了解了。”
他們就這樣,一邊擔心著,一邊聊天。后來冀揚干脆睡覺,補補昨晚的辛苦。
等到大家都興奮起來,琨哥已經出來了。
“怎么樣?”
“還好!”琨哥一句話就回了大家。因為不是現場給分的,所以要回去等待消息。
直到歐陽明他們從昆明回到北京,消息才傳來。說上次的講標,只是一部分,下面還要繼續調整產品。
(未完)
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。