職業(yè)化之于軟件工程師非常重要。因?yàn)椋很浖强床灰?jiàn)也摸不著的,它的進(jìn)度也看不見(jiàn)摸不著,需要軟件工程師嚴(yán)格自律、善于溝通;軟件開(kāi)發(fā)是創(chuàng)造性的勞動(dòng),創(chuàng)造性勞動(dòng)依賴個(gè)人主觀能動(dòng)性,沒(méi)有自我激勵(lì)是不可能成為出色的軟件工程師的;軟件在國(guó)民經(jīng)濟(jì)和人們?nèi)粘I钪邪l(fā)揮著越來(lái)越重要的作用,軟件工程師的道德行為規(guī)范成為備受關(guān)注的問(wèn)題。
下面是軟件工程師十個(gè)“不職業(yè)”行為。在一些特定領(lǐng)域工作的人們可能會(huì)認(rèn)為這些不具有非常廣泛的代表性。例如,IEEE和ACM聯(lián)合發(fā)布的關(guān)于軟件工程師職業(yè)道德規(guī)范里,認(rèn)為軟件工程師首先要遵守的是社會(huì)公眾原則,即所開(kāi)發(fā)的軟件要給人類(lèi)帶來(lái)福利,不能制造類(lèi)似于計(jì)算機(jī)病毒那樣的具有危害性的軟件。由此,制作病毒顯然是最大的“不職業(yè)”。然而,在一般的商業(yè)型公司里這個(gè)問(wèn)題不是最突出的,因此制作病毒并沒(méi)有包含在本文列舉的十大不職業(yè)行為之內(nèi)。
行為一:對(duì)外交付半成品
我們的態(tài)度反映在我們的工作上,職業(yè)化的人士從不從自己手上交出不合格的工作產(chǎn)品。那些不職業(yè)的軟件工程師滿足于把工作做成半成品,等著讓別人來(lái)糾正他們的錯(cuò)誤。
開(kāi)發(fā)者總是不好好做單元測(cè)試,沒(méi)有確認(rèn)自己的代碼符合不符合要求,就盲目自信地認(rèn)為沒(méi)有問(wèn)題,提交給別人供集成和測(cè)試。殊不知,沒(méi)有經(jīng)過(guò)單元測(cè)試的代碼,往往在集成和系統(tǒng)測(cè)試階段發(fā)現(xiàn)大量的問(wèn)題,要修復(fù)這些問(wèn)題需要付出更大的代價(jià),這個(gè)代價(jià)比你自己發(fā)現(xiàn)并修復(fù)要大得多,給組織造成了巨大損失。
行為二:不遵守標(biāo)準(zhǔn)和規(guī)范
職業(yè)化的重要特征是遵守行業(yè)標(biāo)準(zhǔn),不能肆意按照自己的想象來(lái)發(fā)揮。每個(gè)行業(yè)都有自己的技術(shù)規(guī)范,軟件行業(yè)也同樣如此,如IEEE發(fā)布的國(guó)際軟件工程標(biāo)準(zhǔn)等;各個(gè)軟件開(kāi)發(fā)組織也有相應(yīng)的代碼規(guī)范、文檔模板、代碼審查清單等;有一定管理水平的軟件開(kāi)發(fā)組織還有相應(yīng)的過(guò)程文件。
這些都是軟件工程師在軟件開(kāi)發(fā)過(guò)程需要遵守的規(guī)定。特別強(qiáng)調(diào)的是,自人們認(rèn)識(shí)到軟件危機(jī)以來(lái),無(wú)論是學(xué)術(shù)界還是工業(yè)界都在不斷地總結(jié)出軟件開(kāi)發(fā)的失敗教訓(xùn)和成功經(jīng)驗(yàn),并把他們總結(jié)成為最佳實(shí)踐,進(jìn)而形成標(biāo)準(zhǔn),這些最佳實(shí)踐是在大量實(shí)踐的基礎(chǔ)上提煉而成的,要充分利用這些最佳實(shí)踐和標(biāo)準(zhǔn)指導(dǎo)自己的行動(dòng)。
行為三:不積極幫助他人
技術(shù)人員最容易犯的錯(cuò)誤是“保守秘密”,覺(jué)得自己開(kāi)發(fā)的成果屬于自己,不喜歡和別人共享。生怕影響自己在組織內(nèi)的地位。
幫助別人也是幫助自己,這個(gè)簡(jiǎn)單的道理卻被高智商的軟件開(kāi)發(fā)人士忽視。在其他行業(yè)中,幫助別人可能僅僅是一個(gè)美德,但在軟件開(kāi)發(fā)組織中,幫助別人還能為組織降低成本、縮短開(kāi)發(fā)周期、提高產(chǎn)品質(zhì)量,所有這些正是軟件工程學(xué)科所研究、并試圖解決的問(wèn)題。
行為四:版權(quán)意識(shí)不敏感
我們既是軟件的制造者,也是軟件最積極的使用者。如果我們自身不遵守版權(quán),就會(huì)給其他人造成極大的、負(fù)面的示范作用,也是對(duì)我們自己勞動(dòng)成果的不尊重。在實(shí)際生活中我們看到太多的例子,大量的軟件工程師盜版使用了其他公司的產(chǎn)品,并以此炫耀自己的能力。
不尊重版權(quán)的另一個(gè)例子是:不認(rèn)真閱讀開(kāi)源代碼的使用限制條款就隨意使用;隨便找到一個(gè)開(kāi)發(fā)包,不問(wèn)來(lái)龍去脈就嵌入到自己的系統(tǒng);錯(cuò)誤地認(rèn)為它在組織內(nèi)所做的工作成果是自己的,在離職后轉(zhuǎn)讓給他人;看到別人使用盜版軟件不制止,而且還繼續(xù)傳播。
行為五:對(duì)待計(jì)劃不嚴(yán)肅
軟件工程強(qiáng)調(diào)計(jì)劃性。在軟件項(xiàng)目管理里,任何項(xiàng)目都要經(jīng)過(guò)策劃(Planning),策劃的結(jié)果是項(xiàng)目計(jì)劃。項(xiàng)目管理者跟蹤項(xiàng)目計(jì)劃的執(zhí)行情況,記錄計(jì)劃執(zhí)行過(guò)程中存在偏差的地方,對(duì)任何與計(jì)劃有出入的想法都要事先經(jīng)過(guò)評(píng)審和批準(zhǔn),然后才能付諸行動(dòng)。
因此計(jì)劃是嚴(yán)肅的。計(jì)劃是大家溝通的平臺(tái),是檢查項(xiàng)目狀態(tài)(Project Status)的依據(jù),也是控制項(xiàng)目變更的手段。計(jì)劃還是一種承諾,因?yàn)椴邉澾^(guò)程是所有開(kāi)發(fā)者都參與的,或者是征求過(guò)開(kāi)發(fā)者意見(jiàn)的,承認(rèn)了計(jì)劃中的各種安排,就意味著你已經(jīng)對(duì)外承諾了這些。
軟件計(jì)劃具有難以精確估計(jì)并動(dòng)態(tài)變化的特性,因此需要我們軟件工程師更加嚴(yán)肅地對(duì)待計(jì)劃,而不應(yīng)該成為我們不按計(jì)劃行事的借口。
行為六:公事私事相混淆
公私分明是職業(yè)化的另一個(gè)重要特征。利用公司設(shè)備做自己的事情;在上班時(shí)間瀏覽自己感興趣、和工作無(wú)關(guān)的網(wǎng)站,如上班炒股票,都是不職業(yè)化的行為和習(xí)慣,屬于假公濟(jì)私。
反過(guò)來(lái)也一樣是不職業(yè)的:用自己私人的設(shè)備處理公司的事務(wù),用免費(fèi)的郵箱發(fā)送和接收公司的郵件;帶個(gè)人的電腦來(lái)辦公室處理公司的業(yè)務(wù)。這樣做,可能給組織的軟件安全性造成危害,也可能對(duì)組織的工作造成麻煩、惹出版權(quán)官司。在公和私之間畫(huà)上一道紅線,做到公私分明,是職業(yè)化軟件工程師必備的素質(zhì)。
行為七:不注意更新自己
職業(yè)的與非職業(yè)的軟件工程師一個(gè)重要區(qū)別就在于職業(yè)化的人士經(jīng)常學(xué)習(xí),不斷更新自己的知識(shí),保持自己在本行業(yè)的競(jìng)爭(zhēng)能力。
我接觸到的很多工程師,他們想走捷徑,對(duì)技術(shù)淺嘗轍止;知其然不知其所以然;他們畏難而退:不想在一線戰(zhàn)斗,喜歡搞他們想象的所謂的管理;想做測(cè)試,因?yàn)樗麄冨e(cuò)誤地認(rèn)為測(cè)試對(duì)技術(shù)的要求不高……這些都是和職業(yè)化的軟件工程師很不相稱(chēng)的。
行為八:不主動(dòng)與人溝通
溝通,在軟件開(kāi)發(fā)領(lǐng)域,是責(zé)任問(wèn)題,不是性格問(wèn)題。
不主動(dòng)溝通,其背后隱藏的更為重要的原因是工程師的責(zé)任感不夠。主動(dòng)和上級(jí)、同行、下屬溝通是職業(yè)化所必需的,因?yàn)檐浖_(kāi)發(fā)需要團(tuán)隊(duì)協(xié)作,任何一個(gè)工程師的工作都可能會(huì)影響別人,進(jìn)而影響全局。軟件工程的實(shí)踐表明,個(gè)別人缺乏主動(dòng)溝通,往往導(dǎo)致整個(gè)團(tuán)隊(duì)的技術(shù)方案出現(xiàn)偏差,或整個(gè)項(xiàng)目的進(jìn)度受到影響。
報(bào)告(Report)是溝通的一個(gè)方式,有時(shí)顯得特別重要。當(dāng)你承擔(dān)的任務(wù)進(jìn)展順利的時(shí)候,要報(bào)告;特別當(dāng)任務(wù)進(jìn)展遇到困難、可能會(huì)影響別人或引起變更的時(shí)候,更要報(bào)告。配合項(xiàng)目經(jīng)理和QA人員跟蹤項(xiàng)目的計(jì)劃執(zhí)行情況,是每一個(gè)工程師分內(nèi)的職責(zé)。
行為九:不遵守職場(chǎng)規(guī)則
一些工程師不能很好地遵守軟件行業(yè)的職場(chǎng)規(guī)則。比如:互相告知或打聽(tīng)工資和獎(jiǎng)金的多少;離職時(shí)帶走公司的源代碼和文檔;或急于到新單位工作而不專(zhuān)心交接等等。
軟件計(jì)劃的不精確性,導(dǎo)致開(kāi)發(fā)任務(wù)的分布不均勻,特別是重要里程碑(如產(chǎn)品發(fā)布)之前,往往需要一定程度的加班。對(duì)此,職業(yè)化的軟件工程師應(yīng)給予理解和配合。
行為十: 不夠誠(chéng)實(shí)和正直
配合項(xiàng)目經(jīng)理做好計(jì)劃是工程師不可推脫的職責(zé)。進(jìn)度的安排是根據(jù)任務(wù)承擔(dān)者的經(jīng)驗(yàn)、水平來(lái)確定的,對(duì)所安排的任務(wù),工程師本人應(yīng)該有比較正確的判斷。實(shí)際工作中,卻碰到有些工程師一天能完成的任務(wù)故意說(shuō)成是兩天,為自己爭(zhēng)取到過(guò)分寬松的環(huán)境。雖然,也有組織要求軟件工程師對(duì)工作量和進(jìn)度有一定的判斷和估計(jì)能力,但這和故意虛報(bào)計(jì)劃的性質(zhì)是不一樣的,前者是水平問(wèn)題,后者是誠(chéng)信問(wèn)題。
工程師的正直來(lái)自于強(qiáng)烈的社會(huì)責(zé)任感。只有維護(hù)行業(yè)的道德水準(zhǔn)和職業(yè)規(guī)范,軟件行業(yè)才能持久健康發(fā)展。犧牲職業(yè)道德和規(guī)范水準(zhǔn),換來(lái)了暫時(shí)的經(jīng)濟(jì)利益,傷害的卻是整個(gè)軟件職業(yè)的榮譽(yù)和信任度。
-
軟件工程師
+關(guān)注
關(guān)注
8文章
218瀏覽量
21135
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論