正文

第29章 工程師的謊言

創(chuàng)業(yè)的現(xiàn)實(shí) 作者:(美)蓋伊·川崎


當(dāng)今的程序設(shè)計(jì)是軟件工程師與宇宙之間的較量,前者拼命創(chuàng)造更大、更好、更容易操作的傻瓜程序,后者努力制造更大、更好的傻瓜。截至目前,宇宙是獲勝者。

——里克?庫克

雖然我非??粗睾妥鹁垂こ處?,但他們確實(shí)經(jīng)常說謊。或許說謊是進(jìn)行偉大創(chuàng)新所必需的,因?yàn)槟敲炊嗳烁嬖V你想做的事情不可能實(shí)現(xiàn)或者人們根本不需要。但是只要你明白他們在說謊,那就沒問題。

1.“我對市場營銷一竅不通?!边@是個(gè)故作謙虛的謊言,其實(shí)這個(gè)工程師在想:“我對市場營銷一竅不通,但是與我的開發(fā)工作相比,又能難到哪兒去?我應(yīng)該進(jìn)行市場營銷和工程設(shè)計(jì),我只希望工商管理碩士們提出一些配得上我的程序的想法?!辈贿^,不要過度擔(dān)心這個(gè)謊話,因?yàn)楫?dāng)工程師錯(cuò)過一個(gè)又一個(gè)最后期限,開始意識到他自己的問題更大時(shí),他們會對這個(gè)謊話進(jìn)行自我更正。

2.“我們就要進(jìn)行貝塔測試了。”這是句毫無意義的話,因?yàn)槭裁磿r(shí)候進(jìn)行測試關(guān)系不大,真正重要的是什么時(shí)候結(jié)束貝塔測試(當(dāng)今貝塔測試既有效又迅速的最后期限是“在你花完錢以前”)。

在過去的好日子里,阿爾法測試的意思是 “所有的功能都實(shí)現(xiàn)了,雖然不一定正常運(yùn)行”,貝塔測試的意思是“不會再出現(xiàn)重復(fù)性漏洞”。但今天貝塔測試的意思是:“我們向投資人承諾的產(chǎn)品推出日期已經(jīng)不能再往后拖了?!?/p>

3.“我會對程序進(jìn)行注釋,這樣接替我的人會明白我做過什么?!边@是一個(gè)善意的謊言。工程師的確想對程序進(jìn)行注釋,但是隨著時(shí)間消逝,最重要的任務(wù)已發(fā)生了改變。給管理者的問題變成了:“你是想讓我對程序進(jìn)行注釋呢?還是快點(diǎn)完成編程?”答案猜都猜得出來。幸運(yùn)的是,缺少注釋通常影響不大,因?yàn)槌绦虮旧砺┒窗俪觯坏?年就有要整個(gè)重寫。

4.“我們的程序結(jié)構(gòu)具有可擴(kuò)展性。”這是我最喜歡聽的謊話。典型的情況是,一個(gè)沒有推出過產(chǎn)品的工程師會先利用Visual Basic語言創(chuàng)造出一個(gè)原型,然后再這么說。整句謊話似乎是這個(gè)樣子:“谷歌搜索引擎的結(jié)構(gòu)不像我的這個(gè)這么有伸展空間,它同時(shí)可支持2500萬個(gè)搜索。我們能輕輕松松地解決10億。”幸運(yùn)的是,大多數(shù)情況下,產(chǎn)品的采用比總裁“保守的”預(yù)測要慢,因此可擴(kuò)展性沒成為一個(gè)問題。

5.“這個(gè)程序支持該產(chǎn)業(yè)的所有標(biāo)準(zhǔn)。”這幾乎是真的,但是遺漏了一小點(diǎn):“這個(gè)程序支持所有我同意的行業(yè)標(biāo)準(zhǔn)。”工程師私自決定忽略那些她不喜歡的產(chǎn)業(yè)標(biāo)準(zhǔn),比如微軟公司發(fā)布的標(biāo)準(zhǔn)。對于工程師來說,這只是小事一樁,反正用戶不會知道。

6.“我們有一個(gè)有效地錯(cuò)誤提交報(bào)告數(shù)據(jù)庫和系統(tǒng)。”可是,設(shè)計(jì)錯(cuò)誤提交報(bào)告數(shù)據(jù)庫和系統(tǒng)背后的假定是程序沒有漏洞,所以數(shù)據(jù)庫和報(bào)告沒多大意義。一般來說,如果有記錄的錯(cuò)誤最大值不超過1000,那就說明公司沒有仔細(xì)地追蹤錯(cuò)誤。

7.“我們可以讓一個(gè)境外的印度程序組更快、更經(jīng)濟(jì)、更好地完成這個(gè)工作?!背绦蚪M普通成員通常不會說這個(gè)謊話,一般只有首席技術(shù)官這么說。不知怎么會使人們認(rèn)為印度的每個(gè)程序員都又快,又好、報(bào)酬又低,而美國的每個(gè)程序員都又笨、又慢、又昂貴。這顯然不是事實(shí)。

8.“我們的貝塔測試站點(diǎn)喜歡這個(gè)?!痹趶氖录夹g(shù)行業(yè)的25年中,我從沒聽說到過有公司報(bào)告它的測試網(wǎng)站不喜歡它的產(chǎn)品。這有三個(gè)原因:首先,很多測試網(wǎng)站十分榮幸地獲得發(fā)行前的軟件,他們不想說任何負(fù)面評論。第二,大多數(shù)測試網(wǎng)站對這個(gè)軟件的使用率不高。第三,大多數(shù)測試網(wǎng)站不想說壞話來批評一個(gè)公司的新產(chǎn)品。因?yàn)槿绻菢幼鰰拖窀嬖V某人他的寶寶是個(gè)丑八怪一樣不為社會所接受。

9.“這一回我們對了。”有關(guān)這個(gè)謊言的可怕之處是工程師又真的相信了,問題是“這一回”反復(fù)出現(xiàn)。我很信任工程師們,并且相信從長遠(yuǎn)來看他們能做對,但問題在于從長遠(yuǎn)來看我們都是會死的。

10.“這個(gè)程序太差了,完全重做都比調(diào)試和擴(kuò)展當(dāng)前的版本要快?!泵總€(gè)程序員都會這么評價(jià)其他程序員的程序,有些人照樣會對重寫后的版本這么評價(jià)。

11.“我喜歡思考結(jié)構(gòu)的問題,但是我會寫程序?!边@說明這個(gè)程序員不會寫程序,并且還可能不會設(shè)計(jì)一個(gè)好結(jié)構(gòu)。

12.“這在我的電腦運(yùn)行良好。”“我的電腦”沒準(zhǔn)兒是世界上唯一一臺能正常運(yùn)行這個(gè)程度的計(jì)算機(jī)。

13.“當(dāng)然我可以不寫程序,改做業(yè)務(wù)?!边@是每個(gè)工程師出身的創(chuàng)業(yè)者著名的最后箴言。這說明他(或她)既放不下寫程序,又不能做業(yè)務(wù)。

14.“連我媽媽都能操縱顯示器?!碑?dāng)然能啦,你媽媽有麻省理工學(xué)院的計(jì)算機(jī)博士學(xué)位。

我喜歡工程師們說的謊話,原因有三:首先,他們的謊話表現(xiàn)了工程師對公司實(shí)際運(yùn)作情況的孩子般的無知。第二,工程師們確實(shí)相信他們說的謊話,而創(chuàng)業(yè)者、風(fēng)險(xiǎn)投資人和律師則不是。第三,他們說的大部分謊話并非不誠實(shí),而只是“有點(diǎn)早”或者最終會實(shí)現(xiàn)。如果你是一名工程師,現(xiàn)在你就


上一章目錄下一章

Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號