有人說,程序員不配叫工程師!
我的一個(gè)朋友最近提到:“科技界習(xí)慣把程序員稱為工程師。但是我覺得,那種嚴(yán)格按照規(guī)定修建橋梁的人才算是工程師。”
這個(gè)說法讓我心生感慨。大家都知道,硅谷經(jīng)常用“工程師”這個(gè)詞來形容技術(shù)工作者。不知道是出于什么緣故,如果你在初創(chuàng)公司工作,而且又不是銷售、 營銷或者設(shè)計(jì)人員,那他們就會(huì)把你稱為工程師。“我們正在招聘工程師”是初創(chuàng)公司的口頭禪,指的可能是從JavaScript程序員到機(jī)器人專家的各種崗 位。
這種“工程師”可能是“軟件工程師”的簡稱,但這個(gè)用法暴露了天機(jī):對(duì)于軟件開發(fā)工作來說,工程師這個(gè)頭銜太“硬”了一些。因?yàn)?strong>在傳統(tǒng)上,工程師會(huì)受到監(jiān)管、獲得認(rèn)證,經(jīng)歷學(xué)徒教育和繼續(xù)教育。工程對(duì)于公眾安全性和可靠性負(fù)有明確的責(zé)任,就算不一定每次都能實(shí)現(xiàn)。
科技業(yè)拉低了“工程師”頭銜的含金量
最近幾年,軟件行業(yè)爆發(fā)了一些重大故障,導(dǎo)致塔吉特、家得寶、哈佛大學(xué)、LastPass等等機(jī)構(gòu)和公司的海量數(shù)據(jù)遭到泄露,但這只是計(jì)算機(jī)系統(tǒng)帶來的網(wǎng)絡(luò)安全問題的冰山一角。大眾汽車柴油排放造假案也屬于“軟件事件”,雖然那是對(duì)軟件的故意改動(dòng)。
但這僅僅是幾個(gè)比較轟動(dòng)的例子。如今的計(jì)算機(jī)系統(tǒng)給個(gè)人和社區(qū)帶來的風(fēng)險(xiǎn),如果發(fā)生在橋梁、高層建筑、電廠,或者導(dǎo)彈防御系統(tǒng)這些更有形的領(lǐng)域,完 全屬于不可接受的范圍。某些人的iPhone在更新蘋果的iOS9系統(tǒng)之后“變成了磚”,無法使用。而像谷歌文檔這樣的服務(wù)也會(huì)莫名其妙地宕機(jī),讓重度用 戶陷入困境。 “你的密碼包含了無效字符,”Twitter上有人吐槽一個(gè)網(wǎng)站的提示,“不,是你的公司包含了不稱職的工程師。”
和辦公室大樓結(jié)構(gòu)的完整性、國家核武器庫的安全性相比,這些看起來都是小事。但是你買的新車很少出現(xiàn)不能啟動(dòng)的情況,你辦公樓的電梯也很少會(huì)莫名其妙地卡住吧?計(jì)算已經(jīng)成為了一種基礎(chǔ)設(shè)施,但它沒有其他基礎(chǔ)設(shè)施運(yùn)轉(zhuǎn)的那么良好。
在摩天大樓和橋梁、發(fā)電廠和電梯這些領(lǐng)域,都有專業(yè)標(biāo)準(zhǔn)和監(jiān)管機(jī)構(gòu)對(duì)工程進(jìn)行管理。但是,對(duì)軟件開發(fā)進(jìn)行工程化的努力已經(jīng)進(jìn)行了五十年,如今卻離成功越來越遠(yuǎn)。
人們目前采用迭代方式開發(fā)軟件,這倒也很合情理:制造業(yè)和建筑業(yè)的項(xiàng)目一旦實(shí)施就難以改動(dòng),但軟件業(yè)和它們不一樣。
軟件業(yè)與世界的隔絕
軟件雖然變得更加重要,但它與世界之間的隔絕加深了。早期的計(jì)算機(jī)系統(tǒng)涉及企業(yè)、行業(yè)、政府和社會(huì)等方面。比如汽車客戶管理系統(tǒng)需要對(duì)經(jīng)銷商、供應(yīng) 商、運(yùn)輸商、銀行和貸款機(jī)構(gòu)、監(jiān)管機(jī)構(gòu)、遺留系統(tǒng)和客戶進(jìn)行整合。但是,今天的軟件大多都非常獨(dú)立。比如照片共享服務(wù)Instagram去年的估值達(dá) 350億美元,它需要的只是在服務(wù)器和應(yīng)用之間上傳和下載照片。
可以肯定的是,今天的云工具仍然會(huì)依靠一些基礎(chǔ)設(shè)施(尤其是物理服務(wù)器和網(wǎng)絡(luò))來處理數(shù)以百萬計(jì)的用戶訪問數(shù)以十億計(jì)的文件。但這些活動(dòng)基本上都被外包給了基礎(chǔ)設(shè)施巨頭去做。
在對(duì)通訊、金融和存儲(chǔ)之間的整合進(jìn)行了抽象之后,單個(gè)軟件開發(fā)人員可以將它們當(dāng)作黑盒子來使用。這種抽象有時(shí)候可以讓軟件更好更可靠地運(yùn)行,但它也可以把開發(fā)人員與外面的“雜亂世界”隔離開來。
結(jié)果就是,軟件開發(fā)已經(jīng)在體制上成為了一種類似閉門造車的活動(dòng)。而這和“工程”的主旨是背道而馳的。工程的主旨是與世界合作,而不是置身于一個(gè)單獨(dú)的空間,一心要超越世界。
傳統(tǒng)的工程學(xué)科——土木、機(jī)械、航空航天、化工、電子、環(huán)保——即有技術(shù)屬性,又有社會(huì)屬性。在工程師的協(xié)調(diào)下,橋梁和大樓修建起來。工程師設(shè)計(jì)了車輛和重型機(jī)械,又發(fā)明并實(shí)現(xiàn)了驅(qū)動(dòng)這些設(shè)備的動(dòng)力系統(tǒng),設(shè)法把所有系統(tǒng)連接在一起。
硅谷不重視證書
其他工程學(xué)科都有證書和許可證機(jī)制。如果你想雇傭一個(gè)土木、結(jié)構(gòu)或液壓工程師,肯定會(huì)找擁有專業(yè)工程師(PE)證書的人。專業(yè)工程師一般需要獲得4年制的學(xué)位,并通過一種或多種考試,并在注冊(cè)工程師的監(jiān)督下,接受4年或更多年的專業(yè)實(shí)踐。
但I(xiàn)T行業(yè)不僅不像工程業(yè)那么重視證書,而且還越來越不把它當(dāng)回事。一些硅谷大佬對(duì)正式學(xué)位并不在意,即使是谷歌那樣的大公司也表示,他們看重的是能力而不是學(xué)歷。
在軟件開發(fā)的模式上,敏捷開發(fā)已經(jīng)占據(jù)了主導(dǎo)地位,它側(cè)重于快速迭代,而不是長期規(guī)劃和復(fù)雜的文檔。Scrum是一種流行的敏捷開發(fā)方法,其特點(diǎn)是朝著一系列不斷變化的目標(biāo)進(jìn)行短暫的“沖刺”。
應(yīng)用或Web服務(wù)具有暫時(shí)性,和橋梁、大樓那樣的“百年基業(yè)”非常不同。但是,軟件開發(fā)與我們生活的息息相關(guān),卻并不亞于橋梁和大樓。我們的汽車、 飛機(jī)、醫(yī)療設(shè)備,以及銀行系統(tǒng)、醫(yī)療機(jī)構(gòu)和保險(xiǎn)系統(tǒng),電話和通訊網(wǎng)絡(luò),乃至于娛樂活動(dòng)都在使用計(jì)算機(jī)。像Scrum這樣的方法即使可以產(chǎn)出像樣的成果,也 無法保證基礎(chǔ)設(shè)施級(jí)別的穩(wěn)定性。
創(chuàng)業(yè)文化也正在改變工程教育。創(chuàng)業(yè)是崇高的,加速器和孵化器比比皆是,并非所有讀計(jì)算機(jī)科學(xué)課程的學(xué)生認(rèn)為自己會(huì)成為初創(chuàng)公司億萬富翁……但也不是 所有的學(xué)生都不這樣認(rèn)為。這些“工程師”獲得的鼓勵(lì)是把每一個(gè)項(xiàng)目都當(dāng)作一門潛在的生意,做好擴(kuò)大規(guī)模和兜售它的準(zhǔn)備,而不是在這門學(xué)科中長期浸淫,把社 會(huì)福利看得至高無上。工程一向都是高薪職業(yè),但是IT業(yè)把它視為了一種投機(jī),而不是一種使命。
是生意,還是工程?
“工程師”這個(gè)詞讓人聯(lián)想到頭戴安全盔的高大形象,他們是設(shè)計(jì)者和締造者,兢兢業(yè)業(yè)地開創(chuàng)著明天。工程的尊嚴(yán)來自于數(shù)十年來的嚴(yán)格管控、教育,以及學(xué)徒式認(rèn)證制度,現(xiàn)在,一些人卻把它看成一種寬松的速成手藝,想把它當(dāng)作一門生意來做。
硅谷擅長于重新定義一些事情,比如他們把商業(yè)利益重新定義為一個(gè)“改變世界”的過程。而工程,就被他們定義成了一個(gè)建造臨時(shí)性東西的過程。畢竟,像 平面設(shè)計(jì)師和對(duì)沖基金經(jīng)理這樣的專業(yè)人士也確實(shí)可以創(chuàng)建東西,但我們通常不會(huì)把他們稱為工程師。他們的成果可能會(huì)成為基礎(chǔ)設(shè)施,也可能不會(huì),可能會(huì)符合公 共利益,也可能不會(huì)。
如果成果是基礎(chǔ)設(shè)施,而且又符合公眾利益,那么他們做的就是工程,而不僅僅是生意。
在加拿大,很多土木工程師都戴著一枚鐵指環(huán),象征著對(duì)這份職業(yè)的道德承諾。他們畢業(yè)的時(shí)候會(huì)參加一個(gè)“工程師冠名典禮”,被告知自己在工程界工作的義務(wù),并宣讀詩人魯?shù)聛喌?middot;吉卜林撰寫的誓言,然后才被授予這枚指環(huán)。
加拿大有一座魁北克大橋,在1907年修建過程中垮塌,造成數(shù)十名工人遇難。有人說鐵指環(huán)的制作材料就取自于那座垮塌的橋梁。這個(gè)說法雖然不是真 的,但卻流傳不衰。鐵指環(huán)的材質(zhì)象征著魁北克大橋以及其他所有其他設(shè)施。工程師對(duì)公眾負(fù)有責(zé)任。作為橋梁、高樓或者軟件的設(shè)計(jì)者和建造者,他們?cè)谪?zé)任心驅(qū) 使下發(fā)揮著各種才干。只有在對(duì)自己職責(zé)做出承諾之后,工程師才開始建造東西,無論具體建造的是橋梁、建筑物,還是軟件。
來源:騰訊科技 作者: Ian Bogost
譯文:http://tech.qq.com/a/20151115/006881.htm