posts - 156,  comments - 601,  trackbacks - 0
              盼了好久的國慶節(jié)終于到了,整理一下手邊的工作,工作進(jìn)度的追蹤,code review和工作管理報告都已經(jīng)完成。終于松了口氣,長假可以盡情休整一下(雖然回來工作會更忙碌),但這段時間可以有很多的自由時間分配,打算給自己好好的沖沖電。

              閑話少說,進(jìn)入正題。之所以本人要提出"找工作一定要先了解公司的團(tuán)隊文化"這個建議,是因為最近一項工作中的一些事情讓我感觸頗深,所以寫下來,也且當(dāng)發(fā)發(fā)牢騷。
              由于最近公司與一個專業(yè)的軟件公司X公司(不方便直注該公司名稱)簽訂開發(fā)了一套比較大的系統(tǒng),現(xiàn)在到了開發(fā)合同到期, 按雙方領(lǐng)導(dǎo)協(xié)商,開始系統(tǒng)的交接工作。本人被任命參與到這項任務(wù),擔(dān)任移交過程中所有的技術(shù)支持工作。
             
              交接工作其實就是對方公司提交約定要求設(shè)計文檔,最新的源代碼,接口文檔,我這邊負(fù)責(zé)審閱這些文檔和代碼,再重新按公司文檔要求重新整理,備案,當(dāng)然前題我必須完全整理這些文檔的內(nèi)容和代碼的每個方法的功能。
              就在移交過程中,發(fā)生一些事情,讓我頭疼了好一陣,才引發(fā)了我對大家找工作的這條建議。
              事情的全部經(jīng)過大概是這樣,因為系統(tǒng)比較龐大(其實共有五個獨立的子系統(tǒng)組成),所以一個子系統(tǒng)的進(jìn)行交接,每個子系統(tǒng)交接安排在兩周至三周時間。首先交接的就是文檔,當(dāng)我接到文檔后,著實讓我吃驚不少。文檔基本上看不太明白,不僅內(nèi)容不全,而且基于上與系統(tǒng)對應(yīng)不上。所謂的設(shè)計文檔,只有界面設(shè)計(而且沒有幾個與現(xiàn)系統(tǒng)能完全對應(yīng)上的)與數(shù)據(jù)表設(shè)計外,其它的什么都沒有。沒有辦法,所以讓領(lǐng)導(dǎo)干涉,但多次溝通無果后(跨公司合作很難), 最終只要放棄對文檔部分的要求,公司這邊也是希望我這邊通過掌握他們的代碼,這樣文檔部分就可以由我們邊來整理了。

             當(dāng)然讀代碼并不是件易事,尤其是讀別人寫的代碼。所以我也整理了一套方案,希望對方公司能提供下面一些簡單文檔以幫助我順利開展代碼的閱讀工作。
              1. 程序清單--包括程序名稱(功能)對應(yīng)的源代碼文件,對應(yīng)的數(shù)據(jù)表名 (因為用C#開發(fā),基本上一個源文件,一個窗體文件)
              2. 接口文檔(主要對其它子系統(tǒng)的接口部分,因為他們的實現(xiàn)是通過共享表實現(xiàn)數(shù)據(jù)交互,所以這塊接口說明就更加重要)接口文檔希望他們能整理出 接口的功能說明,接口所在的源代碼,接口數(shù)據(jù)表字段說明,觸發(fā)的動作,觸發(fā)的頻率。

              這次對方公司很合作,三天就把文檔寫完發(fā)給了我們,但質(zhì)量呢?,除了程序清單還算可以看外,接口文檔就丟了幾張數(shù)據(jù)表過來,而且還有三分之一的表名沒有列到文檔中,其它就什么都沒有的。(這是接口說明文檔,當(dāng)然覺得不行了,這個根本沒有辦法整理), 所以提議想與他們的技術(shù)人員溝通一下,猜想可能對方是沒有太明白我們接口文檔的要求吧,所以溝通后,與他們的一個項目經(jīng)理協(xié)商(到里覺很,安排得很好,這樣的任務(wù)與技術(shù)領(lǐng)導(dǎo)溝通問題應(yīng)該馬上就能解決了,我刻意先打聽一下這位經(jīng)理的一些情況,聽說是有很高的學(xué)歷和資歷),準(zhǔn)備好說詞后,就與這個經(jīng)理進(jìn)行了交流,但結(jié)果讓我有點意外,他強(qiáng)調(diào)這個文檔沒有問題,所以我按原準(zhǔn)備好的說詞,與他說明接口的重要性,接口文檔應(yīng)該怎么編寫。而他的這次回答,就讓感覺太意外了。他解釋到,接口不是一個東西(頭一次聽說),在他們的設(shè)計中,所有的代碼設(shè)計都是個人邊想邊寫的,而且他們的系統(tǒng)是一個整體,沒有接口(那幾個子系統(tǒng)交互的數(shù)據(jù)說明沒有,那還不亂了),所以他解析根本沒有"(你們說的)接口"這個東西,是因為我們提了要"(這個他認(rèn)為不存在的)接口", 所以弄了幾張表給你們。還說以前他們給別人做系統(tǒng),別人從沒有這么要過。同時故意詢問一下他手下幾個做開發(fā)的人員,"你們知道接口嗎?能按他們要求整理出來嗎?"結(jié)果他手下很會意的回復(fù)到,怎么會有這東西,現(xiàn)在能整理得出數(shù)據(jù)表已經(jīng)不錯了,我寫代碼現(xiàn)在早記不清楚,給你們弄表名已經(jīng)夠花時間的了。(真是無話可說),接下來他還要"教導(dǎo)"我,說我對接口是一個錯誤的理解,要幫我糾正過來。聽他們這樣的回復(fù),真是無奈的很,但畢竟工作沒完成,無法向領(lǐng)導(dǎo)交差,還是堅持的一點希望他們能按要求交出接口文檔, 但足足說了20分鐘,都無果(可能有人會問,怎么會花這么多時間,我只能說大家都看過大話西游的唐僧吧)。
           
             最后終于放棄(無奈啊),無功而返?;厝ズ?,雖然頭疼,但必竟是自己的任務(wù)沒有完后,只好自己花時間讀代碼,希望把接口這部分的文檔整理出來。結(jié)果一看代碼,簡直讓我哭笑不得,到處都是不知明的變量a1,ttt,text1,不知明的方法button1Onclick, button5Onclick。方法沒有參數(shù),都是通過全局變量來傳遞,還有更嚴(yán)重的就是數(shù)據(jù)庫操作竟然沒有事務(wù)(后來與他們一個開發(fā)人員交流后,才得知他根據(jù)就不知道什么是事務(wù),也不知道事務(wù)有什么用途), 與他們經(jīng)理溝通,結(jié)果他很“聰明"來一個拖延戰(zhàn)術(shù),沒辦法,系統(tǒng)問題太多,不交接對方公司就不提供源代碼,也就無法解決問題(最終他的戰(zhàn)術(shù)成功).

             到現(xiàn)在為止交接過程就在這種狀況進(jìn)行近一半了,交接了有二個系統(tǒng)。也陸續(xù)見過一些他們的開發(fā)人員,都是畢業(yè)二三年的年青程序員,實話說看他們的代碼,真是件非常痛苦的事情(怎么會有這樣的程序員),但反思過來,替他們一想,想必他們剛從大學(xué)出來,應(yīng)該也是雄心壯志,也想做一個優(yōu)秀的程序員(應(yīng)該是誤入了這個這么糟的團(tuán)隊所致吧)。其實我心里一直想問他們一個問題,"你們真不擔(dān)心自己的前途和發(fā)展嗎?"(并非我忋人憂天,像他們雖年輕,但時間一晃就過,照他們現(xiàn)在沒有目標(biāo)規(guī)劃,只是與現(xiàn)在的團(tuán)隊熬下去的話,到了三十歲以后,那就比較難補(bǔ)救了。)
           
            說了這么多,的確啰嗦了。最后還是強(qiáng)調(diào)一下我們觀點,找工作,一定要多去了解面試的那個團(tuán)隊的文化氛圍。本人認(rèn)為好的團(tuán)隊,才能帶領(lǐng)員工成長和發(fā)展的。
          祝國慶快樂!

          Good Luck!
          Yours Matthew!

          posted on 2008-09-29 00:48 x.matthew 閱讀(678) 評論(1)  編輯  收藏 所屬分類: 其它
          主站蜘蛛池模板: 兰州市| 岐山县| 大石桥市| 重庆市| 大关县| 宝应县| 长治市| 永新县| 尚志市| 富裕县| 苏州市| 大新县| 华池县| 南木林县| 伊金霍洛旗| 平邑县| 静乐县| 东光县| 碌曲县| 汤原县| 长海县| 慈溪市| 孙吴县| 靖州| 福清市| 剑河县| 温泉县| 元谋县| 荥经县| 永城市| 青冈县| 铜川市| 莆田市| 福贡县| 兰考县| 历史| 桂东县| 应用必备| 两当县| 台东市| 开平市|