效仿敏捷宣言,有人也搞了一個軟件工藝(Craftsmanship)宣言。在標題的下面是一行小字,提高準入門檻(Raising the bar)。
UncleBob就這個Topic在世界各地發表演講。他曾經把程序員與醫生做比較:既然程序員與醫生一樣都是提供職業服務(Professional Service),那么他們就應該遵守類似的行為準則。醫生在做手術之前需要洗手洗三遍以防止病人被細菌感染,而且需要用特殊的方式內搓三下外搓三下。假如病人說,我不希望你洗手。醫生會拒絕這樣的要求,因為這是他們的職業準則。程序員給代碼做整理,不屈服于客戶(在醫生例子就是病人)的不合理的時間要求,因為程序員相比客戶來說,程序員是職業的(Professional),應該知道什么樣才是正確的事情,什么樣才是真正為客戶好(在醫生的例子里就是怎樣才能保護病人)。相反,如果我們屈服于時間壓力了,沒有對代碼做整理,沒有堅持更廣泛的那些“正確的事情”,那么我們就不是職業的(Professional)。
他在世界各地做演講之前都會問一個問題,多少人被Bad Code困擾過。結果自然是所有人。然后第二個問題就是,這些Bad Code都是誰寫的。他的結論是,我們這個行業充斥了大量的Bad Code,而根源就是有太多不合格的人在從事這個行當。所以,這才有了那標題下的一行小字:提高準入門檻。但是,這有用嗎?
我們來看看參加軟件工藝北美大會(SCNA)的Speaker名單。假設這些人都是合格的Professional。他們都是在什么樣的公司呢?
1、Small Group 咨詢公司或者獨立咨詢
Robert C. Martin,Michael Feathers ~ Object Mentor
Ken Auer ~ RoleModel Software
Ward Cunningham ~ 一個人干的產品 AboutUs.Org,曾經的c2.com
Jim Weirich ~ EdgeCase
Christopher Avery ~ 貌似獨立咨詢
Cory Foy ~ 獨立咨詢
Kevin Taylor,Dave Hoover ~ obtiva
Micah Martin,Paul Pagel ~ 8th Light
Carl Erickson ~ AtomicObject
2、高Value的產品
Fred George ~ TrafficBroker
Dave Astels ~ Engine Yard
Bobby Norton ~ DRW Trading
那么所謂的不合格的Professional都在什么公司呢?這個就不用問了。顯然不是那些精英咨詢公司和高Value的產品公司。他們廣泛分布于印度中國的外包企業內,而且這個行當每年都在以更快的速度制造這些不合格的Professional。那如何提高準入門檻呢?
但是有什么門檻好提高的?因為門檻已經在那了。如果你不是合格的Professional,像TrafficBroker,DRW Trading的公司會招聘你嗎?如果你不是合格的Professional,UncleBob他自己的咨詢公司ObjectMentor會招聘你嗎?這是一個金字塔。一個人從塔基進入,先從不規范的民企,最次的外包企業開始,然后到好一些的外包企業,然后開始去做咨詢,然后要么獨立咨詢要么就是被Google的Wave Team挖去,要么就是一幫人聚集到DRW Trading這樣的小公司,給資本家寫期權模型。如果我們只看塔尖,這個門檻已經在那了。Dan North, Bobby Norton這些人自己的道路,就已經說明了走到塔尖是多么的不容易了。那為什么還要提高準入門檻呢?難道是讓Tata這樣的外包公司不再招聘不合格的畢業生來堆砌代碼?且不說其他方面的可行性。哪里來的合格的畢業生?Professional之所以成為Professional,肯定不是一畢業就是Professional的。那么提高門檻的目的就是不再讓畢業生加入到寫代碼的行列來嗎?
如果沒有這巨大的塔基,如果沒有大量的公司招聘大量的Unprofessional。你們塔尖上的人到哪里去招聘人?我同意Software Craftsmanship強調的價值,但是提高準入門檻卻是一個很無聊的事情。關鍵不在于讓誰進來,不讓誰進來。而是我們這個行業,如何才讓像律師和醫生一樣提供給畢業生在職的鍛煉,而不是兩三天買一個證書的培訓。按照經濟規律,牛人扎堆在了牛人一起,而Unprofessional扎堆在塔基在廣大的外包軟件公司里。那么我們除了牛人從塔尖向下望,搖頭還是搖頭。那么我們除了塔基的人向上望,搖頭還是搖頭。還能有什么其他的結果?
到底是環境造就了這樣一批人,還是 這樣一批人造就了現在這樣一個環境呢?到底是什么讓這些product owner相信軟件可以由non-professional寫出來,繼而創造了一個可以創造更多non-professional的環境。是我們,還是他們,還是the damn god?
浙公網安備 33010602011771號