當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 房地產(chǎn)OA系統(tǒng) > 相關(guān)系統(tǒng) > 房地產(chǎn)項(xiàng)目管理軟件
程序員的“七年之癢”
申請(qǐng)免費(fèi)試用、咨詢(xún)電話(huà):400-8352-114
算一算已經(jīng)做了七年的應(yīng)用軟件,做過(guò)的項(xiàng)目資料也擺了半個(gè)書(shū)架。想一想每一個(gè)行業(yè)都有自己的酸甜苦辣,我們程序員也一樣,不由得腦子里浮現(xiàn)出徹夜加班的辛苦、寫(xiě)問(wèn)題報(bào)告時(shí)的自責(zé),還有做各種各樣枯燥的測(cè)試。當(dāng)然也有設(shè)計(jì)出巧妙算法的滿(mǎn)足和看到有人在用自己寫(xiě)的程序時(shí),從心底感到的快樂(lè)。但我們程序員與其他行業(yè)的從業(yè)者突出的不同感受是什么呢?不同的人有不同的看法,但軟件業(yè)發(fā)展很快,程序員要不斷學(xué)習(xí),這一點(diǎn)可能大家都十分了解。除此之外我感覺(jué)寫(xiě)程序,甚至有一種寫(xiě)樂(lè)曲的感覺(jué),那就是幾十個(gè)人一起寫(xiě)樂(lè)曲的工作吧。開(kāi)發(fā)的本質(zhì)
1999年的時(shí)候有機(jī)會(huì)接觸到Delphi做的MIS(管理信息系統(tǒng))。好像那個(gè)時(shí)候感覺(jué)做MIS很火爆,在中關(guān)村,一個(gè)做MIS系統(tǒng)的高手往往都是我們敬仰的對(duì)象。很奇怪當(dāng)時(shí)好像很多公司要做MIS都找一個(gè)軟件公司開(kāi)發(fā)只適合自己公司管理流程的軟件,沒(méi)有像今天一提到工廠(chǎng)管理軟件,我們就會(huì)想到用友、金蝶、SAP這些ERP軟件,買(mǎi)幾個(gè)模塊,找個(gè)大公司來(lái)做實(shí)施。當(dāng)時(shí)業(yè)內(nèi)沒(méi)有這個(gè)概念,都要找軟件公司從頭來(lái)做,至少我接觸到的幾個(gè)都是這樣,軟件公司也乘機(jī)發(fā)一筆財(cái)。但往往軟件公司做了一個(gè)版本給客戶(hù)用,一到后期變更服務(wù)的時(shí)候,雙方就會(huì)產(chǎn)生很多矛盾,這種MIS系統(tǒng)的執(zhí)行效果很多也都達(dá)不到預(yù)期的效果。而MIS高手后來(lái)已經(jīng)不是軟件高手,都成了某個(gè)行業(yè)的業(yè)務(wù)流程專(zhuān)家了。也可能其中的很多人成了后來(lái)的ERP軟件實(shí)施顧問(wèn)吧。這個(gè)時(shí)候Delphi、PowerBuilder等等用得很多,后臺(tái)再使用功能強(qiáng)大的數(shù)據(jù)庫(kù),能做出很好的應(yīng)用程序。這個(gè)時(shí)候好像沒(méi)有人再用FoxPro了,不知道過(guò)去的FoxPro高手那時(shí)選擇了什么樣的出路。
2000年的時(shí)候,我有機(jī)會(huì)做一個(gè)分析軟件,主要是對(duì)工業(yè)檢測(cè)設(shè)備上采集來(lái)的大量數(shù)據(jù)畫(huà)成圖表,并進(jìn)行一些內(nèi)容的統(tǒng)計(jì)。這個(gè)程序開(kāi)始做得不好,到生產(chǎn)線(xiàn)上一用,發(fā)現(xiàn)問(wèn)題太多,沒(méi)幾天就被客戶(hù)投訴了。這時(shí)才發(fā)現(xiàn),這樣的程序與MIS是完全不同的兩種程序。這個(gè)程序要求的是程序的強(qiáng)悍性、分析的實(shí)時(shí)性、數(shù)據(jù)分析的正確性,要求的是容錯(cuò)和算法。而過(guò)去做的MIS用的是快速開(kāi)發(fā)工具,基本上不用考慮效率和算法,專(zhuān)注于流程控制。這次的“打擊”真是太好了,雖然被老板扣了工資,但我看到了軟件開(kāi)發(fā)的一些本質(zhì)的東西,過(guò)去學(xué)的數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)中的很多知識(shí)都用上了。這個(gè)時(shí)候開(kāi)始了解軟件不僅是寫(xiě)代碼,是有設(shè)計(jì)、有韻律的一種東西。后來(lái)上研究生課的時(shí)候,聽(tīng)一個(gè)數(shù)學(xué)系的教授講課,他說(shuō)過(guò)去有兩個(gè)行業(yè)容易出天才,一個(gè)是數(shù)學(xué),一個(gè)是音樂(lè)?,F(xiàn)在又多了—個(gè),是軟件。
ERP的出現(xiàn)改變了很多程序員的思維
思路決定出路
我是從1998年開(kāi)始接觸軟件,那個(gè)時(shí)候FoxPro很流行,很羨慕他們用FoxPro開(kāi)發(fā)出的一些界面好看的程序。當(dāng)時(shí)經(jīng)常感覺(jué)大學(xué)中學(xué)習(xí)的軟件相關(guān)課程與實(shí)際相差很遠(yuǎn),好在我還是一個(gè)非常看重學(xué)習(xí)過(guò)程的人,沒(méi)有放下課程學(xué)習(xí)去專(zhuān)門(mén)學(xué)習(xí)FoxPro?,F(xiàn)在看來(lái),基礎(chǔ)的軟件知識(shí)對(duì)于程序員來(lái)說(shuō)太重要了。
2001年和2002年看到C++和面向?qū)ο缶幊痰木薮蟀l(fā)展,也是由于做課題的需要,又開(kāi)始學(xué)習(xí)C++。剛開(kāi)始覺(jué)得它沒(méi)什么,但一到用的時(shí)候總覺(jué)著不順手,現(xiàn)在想來(lái)那時(shí)根本沒(méi)有理解C++的思想,其實(shí)還是用C的思路考慮程序,沒(méi)有建立起面向?qū)ο蟮乃枷?,?dāng)然也就學(xué)不好了。當(dāng)時(shí)找了好幾本VC實(shí)戰(zhàn)之類(lèi)的書(shū)來(lái)學(xué),跟著書(shū)把例子都做了,但一放下書(shū),還是不能隨心所欲地用。后來(lái)找了一本《Borland C++3.1》,編譯器跟DOS系統(tǒng)的TC編譯器差不多,重新開(kāi)始學(xué)。這才發(fā)現(xiàn)事實(shí)上過(guò)去學(xué)VC的書(shū)不光用到C++,還用到了MFC(微軟的基礎(chǔ)類(lèi)庫(kù)),而且還涉及到Windows編譯的原理。
持續(xù)走低的FoxPro
管理與控制
2003年我加入了軟件公司,成為了真正意義上的程序員。很慶幸我們公司是真正做軟件的公司,為什么這么說(shuō)呢?這幾年做的軟件都是幾百個(gè)人參與的大規(guī)模軟件項(xiàng)目,往往都是幾十個(gè)人共同開(kāi)發(fā),這可能類(lèi)似于作坊與工廠(chǎng)的區(qū)別。我工作幾年感受最深的不是又學(xué)會(huì)了什么編程語(yǔ)言、學(xué)會(huì)了高級(jí)的算法,而是幾年的軟件項(xiàng)目開(kāi)發(fā)使我理解了軟件過(guò)程的管理與控制,同時(shí)建立了團(tuán)隊(duì)開(kāi)發(fā)的概念,這與過(guò)去自己寫(xiě)程序是完全不同的兩個(gè)概念。
加入公司后做的第一個(gè)項(xiàng)目就是20個(gè)人規(guī)模團(tuán)隊(duì)的項(xiàng)目。將近兩個(gè)月,我印象中就沒(méi)寫(xiě)過(guò)代碼,每天都在寫(xiě)一些數(shù)據(jù)表格、設(shè)計(jì),再就是評(píng)審,忙得不可開(kāi)交。過(guò)去也做軟件設(shè)計(jì),但最多幾個(gè)人,寫(xiě)兩張紙的內(nèi)容,大家商量商量就開(kāi)始編碼了。而現(xiàn)在設(shè)計(jì)用了兩個(gè)月,各種表格、設(shè)計(jì)書(shū)、評(píng)審記錄加起來(lái)兩大本子,而我做的才僅僅是個(gè)顯示模塊。這樣的過(guò)程真令我很驚訝。接下來(lái)的過(guò)程更讓我終生難忘:只有兩周時(shí)間的編碼。這我可以應(yīng)付,但沒(méi)想到代碼寫(xiě)出來(lái)了,評(píng)審時(shí)候被指出了無(wú)數(shù)個(gè)錯(cuò)誤,而且根本和設(shè)計(jì)脫離。這時(shí)我才感覺(jué)到什么是軟件設(shè)計(jì),什么是編碼規(guī)范,“人月神話(huà)”看似簡(jiǎn)單,實(shí)則是團(tuán)隊(duì)開(kāi)發(fā)的重要原則!
單體測(cè)試、結(jié)合測(cè)試、信賴(lài)性測(cè)試,又花了3個(gè)月,這時(shí)才發(fā)現(xiàn)前期設(shè)計(jì)做得好,編碼符合規(guī)范,后期出的問(wèn)題就少,就是出問(wèn)題,也很好查。我當(dāng)然是結(jié)結(jié)實(shí)實(shí)又忙了三個(gè)月,總算把1.0的版本交上。正打算好好歇一歇,但好像大家又開(kāi)始很忙了,各種數(shù)據(jù)統(tǒng)計(jì)、總結(jié)報(bào)告,還有總結(jié)會(huì)議。當(dāng)然我還是最忙的人,因?yàn)榻y(tǒng)計(jì)和總結(jié)的內(nèi)容都是前幾個(gè)月的工作情況,我因?yàn)閱?wèn)題最多,補(bǔ)寫(xiě)了很多問(wèn)題報(bào)告。而這個(gè)時(shí)候新的項(xiàng)目又進(jìn)入了準(zhǔn)備階段,有很多新的軟件設(shè)計(jì)開(kāi)發(fā)工具等著去學(xué)。
當(dāng)幾個(gè)項(xiàng)目下來(lái),這一過(guò)程已經(jīng)完全熟悉之后,一年多的時(shí)間已經(jīng)過(guò)去了。這時(shí)很不愿意做的事之一就是在過(guò)去寫(xiě)過(guò)的代碼基礎(chǔ)上做修正。往往有讀天書(shū)的感覺(jué)。甚至在問(wèn)自己這是我寫(xiě)的嗎?怎么一點(diǎn)印象都沒(méi)有!
“一站式”的軟件開(kāi)發(fā)系統(tǒng)
總結(jié)與思考
本文只是簡(jiǎn)單聊了一下筆者這幾年程序開(kāi)發(fā)的感受。好像有句話(huà)叫“痛并快樂(lè)著”,這個(gè)時(shí)候說(shuō)感覺(jué)挺合適。可能隨著時(shí)間的流逝我們會(huì)漸漸失去不斷學(xué)習(xí)的勇氣和精力,但程序員不斷發(fā)掘未知領(lǐng)域的挑戰(zhàn)和設(shè)計(jì)思維的藝術(shù)性魅力可能會(huì)越來(lái)越強(qiáng),也會(huì)吸引更多的人來(lái)從事這樣的工作,體會(huì)其中的痛和快樂(lè)。
轉(zhuǎn)自:賽迪網(wǎng)