高來高去的扯淡–所謂的《軟體工程師與程式員的差別》

來源:互聯網
上載者:User

剛看了一篇疆的《軟體工程師與程式員的差別》,明顯是中了某些所謂“大師”的毒太深的。

從前我們搞語言祟拜,後來又有了模式祟拜和軟體工程祟拜,現在則流行UML祟拜和架構祟拜。《國際歌》說得好:從來就沒有什麼救世主。F.Brooks在二十多年前說過:沒有銀彈!--實踐是檢驗真理的唯一標準,這二十多年來的實踐已經證明,Brooks的論斷是正確的。

第一,在編碼之前,不能有效地理解軟體的設計思路與內容,具體表現為不能充分理解規範的UML模型;

果Coder不能有效理解,僅僅是Coder的問題嗎?Architect有沒有把他的設計思路說明清楚?而且UML也不是設計的唯一表達手段,還有就是
Architect自己是否對需求作了正確的理解,也許他的設計本來就是錯的。再說了,如果Coder的水平高到可以很容易地看明白設計思路,甚至糾正其
中的錯誤,那還要Architect幹什嗎?

第二,在編碼之後,不能向整合測試或系統測試人員提供高品質的代碼,具體表現為不能自覺地進行單元測試;
不能自覺地進行單元測試固然主要是Coder的責任,但是按TDD的精神來說,測試(名詞)是需求的表現,它應該是“先行”,而不是在編碼完成後。這裡同樣存在一個問題:Architect在編碼開始之前能否做到將需求細化到可以測試的程度?

第三,在編碼過程中,不能有效地與其他開發人員進行協作,具體表現為缺乏基本的軟體配置和變更管理概念與實踐基礎。

作不良的問題存在著中國傳統文化的基礎,但還有一個很關鍵的原因是:公司自身的團隊建設工作做不到位,也就是說那些Manager們有很重要的責任。至於
軟體配置和變更管理的使用完全沒有技術含量,只要作一個簡短的培訓就行了,關鍵在於長效管理機制,比如制度化的Daily
Building等。這些跟Coder也沒有什麼關係。

作為一名Coder,最重要的是把Coding工作做好。

地球人都知道,一個軟體的成功或失敗,並不完全是Code的原因。如549在ari的《漸近, 悟道!》的回複中所說:事實上,現在大部分人連做coder都不合格。這是一個很重要的事實。在這種情況下鼓吹Coder需要具備那些本該是Architect和Manager的素質是一種很陰險的論調。如果Coder們都有這樣的能力的話,還要你們這些Architect和Manager幹什嗎?

同樣是在ari的《漸近, 悟道!》中,小錯回複說:

不同層次的人對自己職業人生的規劃和認識都不一樣,就像你幾年前醉心於技術細節研究,感覺做一個coder很爽,過兩年coder不能帶給你快感,你漸漸
從喜歡研究架構,團隊....於是你覺得PM才是你的追求,再過兩年,你覺得PM的成功還不夠,於是你就開始搞些資本運作,大談管理理念。再過兩年你已經
是個國際人士了,開始和陳天橋平起平坐啦,有過兩年你開始熱心於寫寫自傳,到企業傳道授業其實關鍵是不要停止思考不要滿足現狀就行,至於此刻悟道的,過兩
年回頭看看覺得很可笑,因為你又在另一個層次了。

這揭示出了其中的根本原因:那就是做Coder沒有提升的通道。

每個人都有自己的特長與適應的範圍,並不是所有人都適合於做Architect或Manager,更不用說什麼資本運作之類的。按《彼德原理》的說法,當一個人被升到一個不能勝任的位置的時候,就會開始有這樣的表現:故意表現出一種高深莫測的感覺。

或者如本文的題目所說:高來高去的扯淡。

我不敢說國內所有的Architect或(Project) Manager都是如此,但至少是大部分。最簡單的判斷這種人的方法就是:他們是不是在項目進展出現問題時,把責任一味地推給Coder。

其實本文的題目源於前幾天與令狐在MSN上的閑聊。令狐說:


實現在感覺那些關於Architect的所謂技術都是扯淡,這種高來高去的東東還不是說什麼就是什麼。國內談這些東西的目的很簡單,就像我在群裡說的“資
本運作”一樣,弄點新概念出來吹吹,一是可以顯示自己“了不起,這麼新的東東我都理解了”;二是吹這個沒風險,又不需要實際系統也不需要具體案例。

我補充道:還可以騙錢。中國的軟體業沒希望了,沒人想踏踏實實地做事。

令狐:現在整個環境就是如此,大家都很浮躁,公司首先浮躁,客戶也浮躁。因為現在很多項目是官方的,他們不怕花錢,所以工程商也無所謂,我只要我想要的效果,錢無所謂。就是這樣。如果真的要花自己的錢,恐怕很多人就會認真的想想這個功能是不是自己真的需要的了。

其實ari在《漸近, 悟道!》中說出了軟體的本質:真正的用戶(或者說成熟的用戶),永遠不會在乎你技術細節的選擇他只關心他的需求得不得到滿足!

我在《效顰篇:編程本質論》也曾經表達過類似的觀點:軟體開發就兩個重點,一個是需求,一個是對需求的實現。其它的手段都是為這兩個重點服務,否則就是本末倒置。

那些高來高去扯淡還是少一點,多幹點實事吧。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.