導(dǎo)讀:原文作者Andriy Solovey在softwarecreation.org上發(fā)表的一篇《Three Spirits in The Soul of a Software Developer》,由國內(nèi)整理編譯《支撐軟件開發(fā)人員的三種精神》。Andriy Solovey從事軟件開發(fā)已有15年,做過開發(fā)人員、軟件經(jīng)理和系統(tǒng)架構(gòu)師。關(guān)注構(gòu)建優(yōu)質(zhì)、可靠和可用的軟件。文章內(nèi)容如下:

我注意到有三種精神指引著軟件開發(fā)人員的靈魂??偉大的藝術(shù)家精神,可信賴的員工精神和自私的實用主義精神。

偉大的藝術(shù)家精神

如果你聽到一種聲音說“你不能這樣畫”,然后,你繼續(xù)這樣畫,這種反對的聲音會被壓倒。??文森特?梵高。

第一個精神是能推動我們團(tuán)隊程序員接受新挑戰(zhàn)的偉大藝術(shù)家精神,能夠創(chuàng)新方法,尋求自我實現(xiàn)。這種精神給我們創(chuàng)造新解決方案的力量與渴望,使我們通過學(xué)習(xí)和實踐不斷進(jìn)步。好的軟件背后都蘊(yùn)藏這種偉大的藝術(shù)精神,它會使開發(fā)人員跳出思維框架,為了寫出完美的編碼而兩耳不聞窗外事。但對于傳統(tǒng)的公司,這種精神既是有力的支柱同時也存在危險??因為無法預(yù)見也無法保證開發(fā)人員不會因此而忽略客戶的需求。在這種精神的指引下,程序員會拒絕平庸,但卻有足夠好的解決方案,他會用自己的方法達(dá)到超越所需的效果。這樣的開發(fā)人員無法容忍拙劣的代碼,對于一些重要的代碼,即使在演示前一晚,在測試員回家休息之后,他們也會進(jìn)行重構(gòu)……

可信賴的員工精神

沒有人是一座孤島,自成一體,每個人都是大陸的一小塊。??約翰鄧恩

第二個精神是可信賴的員工,他能在第一時間為團(tuán)隊,公司以及客戶的利益著想。在這種精神的指引下,開發(fā)人員會完全的將自己投入到為項目的成功以及獲得更大的利益上?尚刨嚨膯T工精神會抑制創(chuàng)造性,但另一方面,他們絕不會放任不被認(rèn)可而可能導(dǎo)致失敗的代碼的存在。這樣的程序員在后期限會熬夜完成工作或修復(fù)令人尷尬的代碼。他會在測試員測試之后再行測試,在管理員安裝后再行驗證安裝。這種無私的精神會使開發(fā)人員專注、負(fù)責(zé)并遵守公司的各項紀(jì)律,但有時也會引起壓力,不安,或浪費才能的感覺。這種精神的危害在于如果一家公司不關(guān)心開發(fā)人員的辛勞工作以及犧牲精神,那么這種精神會很快消失。

自私的實用主義精神

生活是你在忙于做計劃時發(fā)生的事情。??約翰?列儂

這種自私實用主義精神與個人利益、金融福祉、工作保障以及事業(yè)發(fā)展密切相關(guān)。這種精神促使開發(fā)人員接受負(fù)面信息,更多的關(guān)注薪水以及管理者的認(rèn)可程度問題。隨著年齡的增長,家事和私事日益取代了編寫完美編碼的夢想,日常生活問題日益取代了致力于工作、忠誠于工作之信仰,自私實用主義精神也隨之變得越發(fā)強(qiáng)烈。有時,開發(fā)人員在這種精神的影響下,開始更關(guān)注與對個人發(fā)展有利的工作,為了更好的工作保障而編輯混亂的代碼,為了長期合作而增加代碼的復(fù)雜性,或者甚至只專注于自己的項目和業(yè)務(wù),或者干脆在網(wǎng)上浪費時間。這種精神是人們想要實現(xiàn)個人目標(biāo)的本能愿望,確保自己的未來,并且生活愉快。這種精神的危害在于,開發(fā)員可能獲得適得其反的結(jié)果,不關(guān)心工作質(zhì)量以及公司和項目的長期利益。

每一種精神都有它積極的影響:偉大的藝術(shù)家精神可以提供給你具有創(chuàng)造性的力量,可靠的員工會促使你嚴(yán)守紀(jì)律并專注結(jié)果,自私實用主義精神可以滿足你的個人利益。但他們也有其消極的影響:過分的藝術(shù)精神可能會錯過一些真正的需求,可靠的員工可能會導(dǎo)致失敗或者懼怕改變。自私實用主義會淡化公司和客戶的大利益。

這些精神顛覆了許多經(jīng)驗匱乏的開發(fā)人員的想法,并防止其在腦中形成和平思想。這場精神戰(zhàn)斗一般以什么結(jié)果收場呢?我看到許多開發(fā)人員后都由一種精神統(tǒng)治了其靈魂。不幸的是通常都是自私實用主義者精神,他們都不再奮斗,其他開發(fā)人員根據(jù)具體情況也徘徊在這樣的精神中:一些公司歡迎有創(chuàng)造性的偉大藝術(shù)家,一些則排斥自私的實用主義者。

這些精神的存在只是我的主觀觀察以及結(jié)論,但是可以幫助我們解釋一些軟件團(tuán)隊生活中的有趣現(xiàn)象。因此,親愛的讀者朋友,我有幾個問題留給您。

你同意這些精神的存在嗎?你能控制并使之達(dá)到平衡嗎?是不是我還遺漏了一些指引軟件開發(fā)人員的重要精神嗎?歡迎在評論中分享你的觀點。