我等只会 选择组件-> 放在容器里头-> 调整位置和大小->调整属性-> 按两下-> 填写事件处理函数 的“程式女工”应该看看的文

  • 主题发起人 主题发起人 Pc 狂迷
  • 开始时间 开始时间
P

Pc 狂迷

Unregistered / Unconfirmed
GUEST, unregistred user!
我等只会 选择组件-> 放在容器里头-> 调整位置和大小->调整属性-> 按两下-> 填写事件处理函数 的“程式女工”应该看看的文章 (转贴) (0分)<br />转贴(超长,没看的希望能把它看完并点击一下“将此问题提前”。分(1)程式與
香雞排、(2)再論香雞排、3)香雞排三部曲:完結篇 、(4)程序设计师真情忏
悔录等四篇):
(1)程式與香雞排
當程式員很可憐,在台灣當程式員尤其可憐。薪資低、工作量大、地位不高、技
術又容易被淘汰。難怪有人半開玩笑地告訴我,他以後不寫程式要改行去賣香雞
排。
照理說,軟體開發是很專業的領域,越是專業的領域,越是處於金字塔的尖端,
應該薪資很不錯才是,但不知怎地,台灣的程式員就是從來未獲重視。我們不要
表面上的重視,我們要薪資上的重視。據我所知,大陸程式員的薪資水平,比起
我們台灣高出許多(從國民所得、物價、房價來比較),美國程式員的薪資更是
高得讓我猛嚥口水。
想想看,如果你在台北市租一間會漏水的小公寓,月租兩萬元(管理費和水電另
計)。莫名其妙的多元入學方案實施之後,小孩壓力更大,要補習的東西更多。
如果你有兩個小孩,每個月的補習費共要花上五千元。小孩要學費、生活費,又
是另一個五千元。(乾脆含淚將小孩送人扶養。)
長得不怎麼好看的老婆就只會天天敷 SKII 面膜,因為她妄想 SKII 獨特的
Pitera 成分可以讓她的皮膚水水嫩嫩的,就和鄭秀文一樣。明明身材不好,卻又
特別喜歡買 DKNY 昂貴的流行服裝。
光是這些支出加上你自己的支出,就已經超過五萬元了。你認為軟體公司會花五
萬元請一個程式員嗎?在台灣,程式員要有五萬元以上的收入,恐怕要另有兼職
才行。
於是你到歐萊禮兼職翻譯書,拼了老命把下班後的時間和假日的時間都拿來翻譯
書,結果超過半年才翻譯完一本,還好歐萊禮仁慈不扣你延遲交稿的違約金。但
這半年來身體變差了,微薄的稿酬光是拿來扣掉白蘭式雞精和補藥的支出,平均
一個月也只多了約一萬元的收入,但總算因此達到收支平衡。
但這倒也不算真正的收支平衡,意外的收入支出也是有的:統一發票中獎收入平
均一個月進帳 200 元,但偶而被倒會,加上有某個不長進的親戚時常來伸手要錢
,你每個月還得多支出 5,000 元。婚喪喜慶的禮金支出、平常還要繳這個稅和那
個稅、這個費和那個費的 ... 每每讓你心疼地暗暗叫苦。
台灣的軟體公司一向不肯好好地花錢雇用優秀的程式員,還奢談什麼知識經濟。
在寫程式與賣香雞排之間作抉擇,如果我要留在台灣,我可能會選擇賣香雞排,
如果我要出國謀生(美國、新加坡 ...),我會選擇寫程式。畢竟,要寫程式,
就要到一個尊重程式員專業能力的地方。寫程式的薪資不高,就沒辦法吸收好的
人才,至少我就不打算在台灣寫程式寫太久。興趣當然重要,但付不出帳單光靠
興趣撐著,你認為能撐多久?賣香雞排稱不上是知識經濟,但只要不炸得太難吃
,至少收入比寫程式好。
所以我覺得,到夜市賣香雞排的提議還真是可以考慮考慮,畢竟在台灣當程式員
,一家大小在除夕夜如同賣火材的小女孩一般餓死凍死的機會很高。賣香雞排,
雖然辛苦,但看著香雞排老闆們眉開眼笑的,荷包滿滿的,還可以趁著傍晚開市
前,開著賓士轎車帶著全家出遊呢。
台北市饒河街夜市的攤販告訴我,攤位租金一個月一萬元出頭,我估算了一下,
如果我平均一天擺攤 6 小時,賣了香雞排 300 個,每個淨賺 13 元,一個月淨
賺 117,000 元,扣掉攤位租金 15,000,可以收入約十萬新台幣(免稅),實在
比程式員普遍的月薪 30,000~40,000(未稅)好太多了。而且香雞排的炸法不會
每年推出新版本。
在台灣的軟體公司內部,有許多非科班出身的程式員,他們的薪資低廉,通常又
很努力。軟體公司就算聘到了這種便宜又努力的程式員,也不要太高興,因為這
樣的程式員,通常都只是把目前的公司當一個學習的過渡階段,等到學得差不多
,拍拍屁股就走人了,才沒打算一輩子接受這樣的低薪。但可悲的是,大部分的
公司都沒有良好的程式員生涯規劃制度,反正大家互相利用。所以這些程式員很
可能在做計畫的過程中,學不到東西又磨得身心俱疲。
所以,何苦來哉!不如我們通通去賣香雞排吧!但是你們只能到通化街夜市和士
林夜市賣,不可以到我屬意的饒河街夜市和我搶生意(我打聽過,饒河街的攤位
租金是三者中最便宜的)。我的攤位名稱要取做什麼呢?... 嗯!就叫做「Java
雞排」好了,以紀念我曾有過的 Java 程式員身份。我打算把雞排分成三種大小
,最大到最小分別叫做 J2EE、J2SE 以及 J2ME。哪天你到饒河街夜市,發現了一
個乾乾瘦瘦、看起來營養不良的少年頭家用著生硬的台語在吆喝著:「來呦!來
呦!好呷的香雞排,J2EE 一塊 50,J2SE 一塊 40,J2ME 一塊 30......」請你
也來光顧一下吧!... 看在 Java 的份上。

本文作者:蔡學鏞
張貼日期:12/12/01
(2)再論香雞排
由於許多讀者缺乏版權觀念,在網路上到處張貼轉寄「程式與香雞排」一文,使
得該文章在網路上引起程式員廣大的迴響。當「該文作者」在 BBS 各版和各種網
頁討論區都看到自己的文章被人到處張貼討論時,驚駭莫名。更荒謬的是,該文
章居然還繞了一圈被人轉寄到「該文作者」的 email 信箱中。該文章引起迴響的
程度遠遠超出「該文作者」的預期。
有的人對於「該文作者」寄予無限的同情,畢竟該文章內容寫得太負面了。Oh!
No. 你們搞錯同情對象了,事實上該文並非「該文作者」的寫照,畢竟「該文作
者」未婚(不用擔心 SKII 和 DKNY 的支出),也還沒未婚生子(不用擔心多元
入學方案和補習費),也從不標會(對高風險事物沒興趣),也從不對統一發票
的中獎號碼(這點小錢根本不放在眼裡),也沒有不長進的親戚敢上門伸手要錢
(言語犀利苛薄,親戚躲他像躲鬼一樣避之唯恐不及),也不是非科班出身的便
宜程式員(雖然沒本事取得博士學位,但好歹也是個清華大學的資訊碩士),也
在台灣和大陸的 Java 圈子都小有名氣(但不排除有些人孤陋寡聞)。橫看豎看
,「該文作者」都不算是一個受到壓榨的程式員。甚至「該文作者」經常逛街瘋
狂瞎拼買到手軟,出門懶得擠公車只坐計程車,在路上看到賣口香糖的老人或殘
障人士一定會捐錢,...... 這麼努力花錢,但不知怎地錢就是花不完,所以「該
文作者」可以說是生活得相當優渥的。而且「該文作者」還得寸進尺,常嚷嚷不
想工作,宣稱以後要辭職回家變賣家產,靠父母親一點一滴掙來的財產來過無憂
無慮的生活。你一定想問:既然如此,「該文作者」幹嘛寫了一篇胡亂抱怨的文
章,無端惹來你掬一把同情之淚?我希望你不要因此怨懟「該文作者」欺騙你的
感情,「該文作者」只是利用文學中「示現修辭格」的手法來撰寫該文章,以求
得強烈的閱讀效果,這和「十八歲賺一億」一書作者蓄意欺騙的行徑是完全不同
的。「該文作者」悲天憫人,對於許多程式員的遭遇感同身受,透過該文章,將
他所知道的一切披露出來,代替許許多多台灣的程式員發聲。
夠了!我們不要再談論「該文作者」了!免得讓你因為過度羨慕他而開始哀聲嘆
氣,畢竟這麼有福氣又囂張的人實在不多。該文作者「托夢」請我整理這些日子
以來讀者的看法,我無法拒絕這樣的請託,因為我和「該文作者」的關係實在太
密切了。
有一些有志進入軟體產業的在學學生憂心忡忡,表示看了該文章之後,信心開始
動搖,有幻滅的感覺。我認為,幻滅是成長的開始,早點經歷幻滅總是好事,才
不會一廂情願地只看到事物好的一面,也因此會多做好一些準備(不管是心理上
的準備或技能上的準備),成功的機會就會大幅提高。學生距離就業還有許多年
的光景,只要好好把握這些年充實自己,其實以後你們在軟體產業的發展前途仍
然是很不錯的。至於程式與香雞排的作者,則是一個「先天下之憂而憂,後天下
之樂仍憂」的一個「馬不停蹄地憂傷」的小子,所以你們不要把他那過度負面的
看法放在心上。香雞排,你們負責吃就好了,要賣也是我來賣。
也有許多讀者對於該文章感到心有戚戚焉,這類的讀者以程式員居多。我要警告
這類的程式員,如果你平常不好好加強自己的分析設計技巧、管理能力、或其他
技能,當程式員當了五年後仍然只是最低階的程式員,還得親自寫程式,辛辛苦
苦地追著瑣碎的技術跑,那麼你就真得要小心考慮,賣香雞排或許真的比較適合
你。
也有人的薪資不止五萬元,質疑該文章太悲觀。一般來說,這種人可能在外商公
司、或者已經脫離程式員等級、或者在不太軟的軟體公司(例如 chip design)
,或者在非軟體公司的 MIS 部門。我認識一個年資約兩年的程式員,在一家不太
軟的外商軟體公司當程式員,月薪約 6 萬台幣,但這樣的價碼可是大多數的程式
員都無法達到的。薪水這麼高的程式員,不需要轉行賣香雞排。
有些人則沒有受到「該文作者」的恫嚇所打擊,仍堅持要繼續在軟體行業走下去
,我很佩服這樣的人,因為你正是軟體產業需要的人。你不把錢看得太重,而且
肯努力、有興趣,只要繼續持之以恆,我相信你在未來的報酬自然也不會太差的
。但是你千萬要慎選公司,選擇一個有發展前景又願意栽培你的公司,否則你最
後還是可能會去賣香雞排的。
還有一些讀者提出許多有建設性的寶貴意見,這些意見包括了:「雞排一塊不只
賺 13 元,一天不只賣 300 個,十萬元的估計太保守」、「珍珠奶茶其實更有
賺頭,每杯淨賺八成」、「滷味不需要技巧,比較適合程式員轉行」、「當靈修
講師不需要大學學歷,輕輕鬆鬆月入七萬元」。但不管怎樣,我還是對賣香雞排
情有獨鍾,我兩小時前才剛到饒河街夜市吃了一個香雞排,此刻仍然齒頰留香,
回味無窮。賣香雞排的收入也有很大的差異,有些香雞排的攤位門可羅雀,有些
香雞排的攤位生意好到老闆累得一邊吊點滴一邊炸香雞排。前陣子我看到電視新
聞採訪一位在新竹科學園區附近賣香雞排的女老闆,她說她每個月賺 45 萬元以
上。她還告訴記者香雞排好吃的秘訣在於醬料,但任憑記者怎麼追問,她仍不肯
透露醬料的作法。急於開店賣香雞排的我對此婆娘小氣之舉很不以為然,我悻悻
然地自言自語:「哼!秘訣?你以為我無法得知你的醬料配方?」我決定重金禮
聘擅長偷拍的「郭女士」出馬,先接近該香雞排店的女老闆成為她的靈修姊妹淘
,取得信任之後,再潛入該女老闆的廚房裝設針孔攝影機。我相信,以郭女士純
熟的偷拍手法,醬料的配方會落入我手中。有了她的醬料,加上我獨門研發使用
高筋麵粉和數十種珍貴藥材做出來的銷魂蝕骨酥皮,我寫程式的苦日子即將結束
,我終將成為香雞排大亨的。想到這裡,我喜孜孜地笑了。
本文作者:蔡學鏞
張貼日期:01/01/02
(3)香雞排三部曲:完結篇
我所撰寫的香雞排首部曲(程式與香雞排)在台灣程式員圈子造成一股轟動,幾
乎每個程式員都讀過,成了網路上的熱門話題。香雞排話題太過度發酵,是我所
不樂見的。每當有程式員感嘆自己的收入太低時,就會丟出一句「不如改行去賣
香雞排」以為自嘲,香雞排儼然是軟體產業主管最不願意碰觸的禁忌圖騰。
據我所知,許多程式員讀過該文章之後,紛紛開始自怨自艾,不想在這個圈子繼
續待下去。我自感罪孽深重,所以連忙以比較樂觀的態度寫了香雞排第二部曲(
再論香雞排),希望達到平衡作用。但是現在,我必須告訴你,香雞排第二部曲
太過於樂觀,我必須寫下這篇香雞排第三部曲,也就是香雞排系列的完結篇,告
訴你其實也不要太樂觀。為了提高可信度,本文章會提出許多數據,以為佐證。
根據我多方打量,在台灣,大學畢業,具有工作經驗一年的程式員,約 30,000~
35,000 新台幣(月薪),我們就姑且取最高值 35,000 新台幣來估算好了。而在
中國大陸,大學畢業,具有工作經驗一年的程式員,(月薪)薪資差異頗大,有
2,000 人民幣的,也有 4,000 人民幣的,我取估計值為 3,500 人民幣,約等於
14,000 新台幣(人民幣幣值以新台幣四倍估算)。
你很覺得很更高興嗎?因為你的薪資是大陸程式員的 2.5 倍(35,000 / 14,000
= 2.5)。先別高興,你必須把物價和國民所得也考慮進去才行。
考慮物價因素。台灣電腦雜誌的售價 200 元新台幣,大陸電腦雜誌的售價 10 元
人民幣,約 40 元新台幣,是台灣的 1/5。台灣電腦書籍的售價 600 新台幣,大
陸書籍的售價 30 人民幣,約 120 新台幣,是台灣的 1/5。也就是說,台灣的資
訊出版品售價約為大陸的 5 倍,但台灣的程式員薪資只有大陸的 2.5 倍。也就
是說,在台灣的程式員買一本書,在大陸的程式員可以買兩本書。
考慮國民所得因素。台灣國民所得年平均近 15,000 美金,約等於 525,000 新台
幣,是台灣程式員月收入的 15 倍。大陸國民所得年平均近 1,000 美金,約等於
35,000 新台幣,是大陸程式員月收入的 2.5 倍。簡單來說,大陸程式員工作
2.5 個月,就能賺到大陸民眾一整年的所得;台灣程式員工作 15 個月,才能賺
到台灣民眾一整年的所得。比較起來,大陸程式員賺錢的速度是台灣程式員的
15 / 2.5 倍,也就是 6 倍。
因為大陸的都市生活水平比未開發的地方高出許多,貧富差距、城鄉差距很大,
為了減少誤差,我們必須把這些因素所造成的影響也算進去。我不知道大陸的房
租、交通費、餐飲費用為何,所以無法比較。但我估計,這會使得前述的「6 倍
」數字稍微降低一點,所以我把「6 倍」降為「5 倍」,這樣的估算應該算合理
,差距 5 倍耶!如果你的薪水原本是四萬元,五倍就是 20 萬新台幣。想想,在
台灣,一個月有了二十萬的進帳,日子豈不快樂似神仙。
台灣程式員的薪資水準比人家差五倍,難道能力也比人家差五倍?我不這麼認為
,我反倒認為台灣的程式員普遍能力比大陸程式員好,因為台灣的資訊產業、資
訊教育很早就開始了。像我這種寫了近 19 年程式的人也不是很少見,有過十年
以上程式經驗的人更是比比皆是。
香雞排三部曲系列文章不是為我自己抱怨,因為我對自己的未來有一套規劃,不
打算讓自己陷入「富爸爸,窮爸爸」一書所謂的「mouse race」中。只是,有多
少程式員會有這樣的規劃。台灣的程式員就像是在被熱水緩慢地煮熟的青蛙。而
我就像是一隻已經跳離開鍋子,開始尋找水塘的青蛙,我寧願在夏天發燙的柏油
路上,被川流不息的來車壓成扁扁的「青蛙乾」,也不願意當一隻任人烹煮的青
蛙。
我知道我這篇文章又會引起一些人的抗議,特別是資訊產業主管的抗議。如果你
是這樣的主管,我勸你先別找我興師問罪,因為根據我的判斷,這篇文章效用只
有短暫的。原本不自覺水溫上升的青蛙,在讀過這篇文章之後開始騷動「你說什
麼!鍋底正在加熱!」... 一陣子緊張之後又漸漸歸於平靜,或許是因為已經習
慣這樣的環境了,或許是因為擔心出了鍋子會找不到水源而乾死,所以青蛙繼續
待在鍋內,真正跳出鍋子另覓水塘的青蛙只有極少數。而有趣的是,勸青蛙不要
跳出鍋子的那些主管們,本身可能也是一隻待煮熟的青蛙呢!
拿起溫度計,現在就量一下你周圍的水溫有多少度?攝氏 60 度?攝氏 70 度?

本文作者:蔡學鏞
張貼日期:04/23/2002
(4)程序设计师真情忏悔录
前言:
不久前,蔡学镛先生发表了两篇分别叫做"程序与香鸡排","再论香鸡排"的文
章,受到的回响之大,据说连作者本人都接到该文的转寄.足以见得该文的内容道出
了台湾程序设计师心里最深处的想法.所以,本文想针对台湾程序设计师来做讨论,
看看身为一个程序设计师,究竟犯了什么过错,导致大家宁愿卖鸡排也不愿再继续
写程序.璩美凤小姐为自己惊动台湾社会的行为写了真情忏悔录,我们也该真诚地
检讨一下自己.
注意:
本文内容提及"程序女工"与"数据库女工",并没有对女性IT从业人员不敬的意思,
这些用语只是用来描述"长期从事相同且单调工作的人"的意思.请女性朋友勿介
意.
另外,本文也并非歧视"长期从事相同且单调工作的人",这些人都是台湾经济奇迹
的幕后英雄.本文只是单纯检讨程序设计师身价低落的主因,并提供主观的解决之
道.本文的检讨主角锁定为"专门写程序"的程序设计师,请勿将其它高阶角色的
IT从业人员和本文内的主角混淆.

本文:
在台湾,大部分的人都有个认知,就是"搞硬件的比搞软件的要好赚","做
SA/SD比coding地位要高".那些做ID Design的家伙待的公司所发的股票,永远比搞
Software Design的人待的公司发的还多,股价也高出好几倍. 搞SA/SD的人,在公
司地位好象也比单纯写程序的人高.于是我的父亲有一次问我:"是不是搞硬件的人
智商比较高?","是不是搞分析设计的人比较有地位?"

事实上,在学生时期我就认识不少人,有的人因为程序写不过别人,所以转换跑
道专攻硬件;也有人觉得每天面对示波器和逻辑分析仪让他们头痛,工程数学也学
不过人家,所以转行搞软件.到了实际上面对许多前来接受教育训练的学员之后,发
现有人是因为写了十几年BIOS和driver,觉得乏味而没有前途,所以想试看看应用
程序的开发;有人则是因为受不了客户每天改需求,而且写BIOS和driver的人好象
比较少,价格比较高,因此想学习如何撰写系统软件. 询问那些上高阶课程的朋友
,有的人发现自己只会胡做SA/SD唬烂老板和客户,所以希望重新打好基础,从基本
的coding做起;有的人则因为写程序写太久,觉得应该往上走向SA/SD的路子,毕竟
老了程序就写不动了.
这个世界上什么样的人都有,绝对不能以小现大.就很像搞政治的老是骗我们
台湾只分成外省人和本省人,搞帮派的人告诉我们警察是带着枪的流氓.实际上,每
个族群大家在没有被分化之前都相处的和乐融融,而虽然有警察掳妓勒索,上班时
间跑去聚赌,但是也有开我们罚单时酌情轻罚的警察,和保护我们身家性命的警察.

即使如此,身为一个程序设计师还是要问,那为什么写程序的好象地位就是比
较低?笔者认为,这是进入门槛的问题.会做相同事情的人多了,会会削弱那样技能
的价值. 就很像考过MCSE/MCSD证照的人,通常比起考过SCJP/SCJD证照的人要来的
没价值,前者因为考过的人实在太多,而后者考过的人少,仅是如此而已.但是绝不
是代表考过MCSE的人素质就比考过SCJP的人要差,也不代表考过SCJP的人实力真的
比较高段.
相信求学的时候您一定遇过一种人,他实力也不怎样样,可是考试的时候他x的
就是考的比我们高,怎么我们心里就是不服,可是大多数老师偏偏就是比较喜欢分
数高的学生.

因此,满坑满谷的人自称会写程序,老板不愁找不到可以做project的人,你要
求的薪水和价格很高? 没关系,找个学校刚毕业的小子,写的比你快,写的比你好,
用的技术比你新,更重要的,价格比你这个老屁股便宜一半.所以程序设计师在雇主
心中的地位日益低落,自然有迹可循.

那么,为什么写程序这个行业的进入门槛比较低???

在各位信息从业人员的身边,非科班出生的比率非常高(当然没还卖鸡排的高)
,科班出生的学生,搞不好在老板眼中的地位,还比不上一个半路出家的自学者. 那
位自学者靠着自己的天份,学会SP,JSP,PHP,C++,C+,Java,Linux,Windows,Oracle.
..等,十八般武艺样样精通.而我们科班出生的学生,只会离散数学,数据结构和算
法,Visual Basic搞不好用的没人家熟,网站的架设搞不好也没人家熟.更何况科班
出生的学生,他的基础学问搞不好根基也不扎实(问看看您身旁的科班学生,和现在
大多数灯红酒绿的大学生),难怪最常见的就是很多非科班的"高手"看不起科班的
学生,觉得他们无三小路用,连个Windows操作都比他们差,Word也没人家会用,甚至
还常常听到某些人大言不惭的说:"我这辈子写程序从没用过书上的数据结构和算
法,读那些干啥?". 长期下来,科班的学生也开始质疑自己的所学,甚至考虑转行.

当然也有曲高和寡,孤芳自赏之人. 但终究阳春白雪还是比不上下里巴人,这
个世界上能够看清现况的人毕竟是少数数. 总之,没办法受到老板垂青,薪水永远
那么少,想卖鸡排的念头就开始萌生.

之所以会有这种情况,笔者个人认为有两种主要原因,一是技术的流通性,二是
湾软件市场的需求.

为什么技术的流通性可以产生大量半路出家的非科班生? 这都要感谢台湾大
量作者,写出大量的入门书籍,大幅减低的进入程序设计领域的门槛. 即使在各位
眼中,繁体中文的烂书很多,而且比例多的惊人.但是,大家眼中的烂书,常常是再版
多次的入门书,对某些人认为是垃圾的东西,常常是另外一批人进入信息业的最佳
踏脚石. 不信各位到书店看看,是"24小时学C++","快快乐乐学Java"的书比较多,
还是"轻轻松松学微分方程式","21天学复变","电子学不求人"的书多? 两者的差
距是 N:0. 是微分方程式和复变比C++,Java难学吗? 笔者两个都学过,至少我可以
发誓,就一个有基本学习能力的人来说,难度是一样的,学成所需要的时间和功夫也
是一样的.

但是,别忘了,最大的问题也是在此. 如果有人可以轻松的就学会别人辛苦学
成的学问,那么那些身处信息大厂那些年薪是我们数倍的优秀程序设计师是白混的
吗? 我们承认这个世界上有天才,但是,人家以是经过努力再努力.不努力的天才,
顶多就像周芷若使出的九阴白骨爪,只徒具形式,不具威力.拼爆发力可能没问题,
但凭内力硬干的时候,只就只能像铁掌帮裘千刃的双胞兄弟一样躲躲藏藏.虽然可
以勉强唬过老板和不懂的人.但是你永远不会进步. 这种"浅碟文化"在我们的周遭
有太多例子.

再看我们的公开讨论区(BBS或Web Forum),我们可以看到大量的软件技术讨论
区,却看不到硬件技术讨论区(喔!请别跟笔者说那些每天问哪家主机板比较好,哪
台烧录器较稳定,或者说CPU时脉越高速度就越快越好,或是说x86的Out-Of-Order
Executon是"故障执行" 这一类浑话的讨论区和我说的硬件技术讨论区是一样的)
.

书籍和讨论区促进知识的流通,造成了大量的软件人才,更何况,学习设计软件
只要一台PC就能写出好用的软件,而学习硬件设计,需要的设备更是天价. 更重要
的一点,就是学软件的人,充分发挥儒家分享的精神,只要不是在BBS上冒充小妹妹
想要骗取大哥哥的同情来帮你写程序作业,只要不是很差劲的乱问一通,通常至少
会有热心人士愿意留下一个URL,让我们可以找到参考文件,更具热诚的,如新竹师
院BBS站Java版的TAHO先生,还擅长用很多生动的比喻让初学者体会技术的真义.
在这种知识充分流通的环境下,当然产生出非常多的信息从业人员.

每一台PC,上头各种软件的需求是无穷无尽的,每天都有各行各业的人需要各
种软件,所以程序设计师的需求有一定的量. 难怪有人说:"写程序的人饿不死,但
是也不会发大财)

再来就是台湾软件市场需求所引发的问题.

一般我们把软件分成系统软件(System Software)和应用软件(Application
Software). 编译器,组译器,除错器,操作系统,驱动程序,都是属于系统软件的一
部分.台湾除了硬件厂商,IC Design House之外,甚少有撰写驱动程序的需求. 前
几年Linux被炒的热时,也有许多高手投入操作系统,编译器以及简化标准函式库的
研究.而台湾所需求的软件,极大多数是属于应用软件,这些需求的应用软件其中很
大比例是和数据库有关系的(其实不只是台湾,其它地方也是约略相同的情形).

所以VB,Delphi和PowerBuilder这类IDE大行其道,因为他们容易上手,可以快速开
发数据库应用程序,相关入门书籍很多,会的人更多. 因此符合我们前面所说:"会
的人越多,价值就越低"的理论.

但是别忘了,系统软件有部分是偏向应用软件的,比方说开发软件用的
JBuilder和Visual Studio;制图用的AutoCAD;一套IC Design用的Xilinx或
Altera;做OOA/OOD的Rational Rose和TogetherJ, 笔者习惯称这些软件叫做"软件
的软件"(Meta software). 在一般程序设计师眼中,这类软件"理所当然"地认为都
是由国外所发展.要发展这类软件有极高的进入门槛,所以国外这类软件公司的获
利率很高,该公司的程序设计师可是身价非凡. 要知道,先前在媒体上有报导过,能
够让Microsoft买软件来用的公司,只有Rational Rose(当然,不可能只买Rose来用
). 如果做IC Design的人没有你的软件就没办法做事,身为一个程序设计师,你会
觉得你的身价和地位比做IC Design的人低吗? 如果你做的软件像SoftICE或
DriverWorks那样被做硬件的工程师大量地倚赖,你会觉得搞硬件的人比你厉害吗?


问题是,知道该如何设计一套这类软件的人,恐怕才是真正的异数. 而且需要
跨领域的专才.要不是许多OpenSource的project(例如:KDeveloper)正在进行,恐
怕很少人知道该如何设计一套IDE. 既然会制作这类软件的人在台湾少之又少,那
么他们的身价高吗? 很抱歉,台湾地区没有公司发展出足以和国外大厂竞争的开发
工具. 举IDE为例,台湾早期有家公司开发出一套名为DBtools的产品勉强可以算的
上是这类产品,旗标也曾为它出版过入门手册,可是使用这套软件的人好象...没看
过(如果该产品有不错的占有率,请原谅我是井底之蛙),没有市场,公司无法赚钱,
即使你是少数能做制作某类型产品的高手,公司最后关门大吉了,您也只能算是"少
数能让公司赔钱的程序设计师"罢了.所以我大胆假设, James Golsing或Anders
Hejlsberg如果学李敖一样50年不离开这个小岛,大概早饿死了.

以上的讨论,真正优秀的高手看了之后,或许会产生有时不我予,不得已必须远渡他
乡的想法.程序设计师的价值就如同书的价值一般,台湾地区和国外有不同的看法.
台湾地区教科书比较便宜,应用的书比较贵.国外教科书比较贵,应用的书比较便宜.
国外重内容,薄薄一本How Debuger Work可以卖44.99美金.而台湾,都是看页数来
计价(侯俊杰先生的书有努力在打破这个页数的迷思,也做的蛮成功).有很多原因
导致这两种文化之间的差异,但是,市场因素肯定是其中重要的一项.

程序设计师价值低落的原因我们讨论过了,如果您同意笔者的论点,那么不禁疑惑,
大家彼此毫不保留地让知识得以流通,技术得以扩散,本意是好的,结果反到造成自
己和别人身价的低落,这样我们是不是从此不再和别人分享我们的心得会比较好?


TAHO先生看过本篇上半部之后,发表了底下内容:
--------------------------------------------------------
发信人: TAHO.bbs@bbs.nhctc.edu.tw (痴人)

> 哈 恭喜TAHO兄上Java周报了...
> 通常至少会有热心人士愿意留下一个URL,让我们可以找到参考文件,更
> 具热诚的,如新竹师院BBS站Java版的TAHO先生,还擅用很多生动的比喻让初
学者体会技术的真义。

@@".....
光看这一段 好象是褒奖
不过看了整篇文章...
突然发现......
原来我是让程序设计师不值钱的凶手之一....
真是罪该万死啊....
--------------------------------------------------------

但是mue先生接下来的发言,说却命中本文真正的核心价值观:

--------------------------------------------------------
发信人: mue.bbs@bbs.im.tku.edu.tw (闲人)

: @@".....
: 光看这一段 好象是褒奖
: 不过看了整篇文章...
: 突然发现......
: 原来我是让程序设计师不值钱的凶手之一....
: 真是罪该万死啊....
不会啦..要是每个程序员都死守自己所会的..让所谓的专业门槛更高的话..就很
难进步了..就是让本来难的变简单..自然就会有更难更深入的东西出现..这样社
会才进步的快丫..
--------------------------------------------------------

做应用软件的人真的没价值吗? 有些靠应用软件赚了不少钱的朋友开始偷笑
了.软件必须加上专业知识,才能够发挥价值. 换句话说,如果您真的只会"写程序"
,
却没有配合各种领域的专业知识,"写程序"这项技能本身根本毫无价值可言.
就很像你的计算机装了浏览器,可是却没有对外联机的网络一样,如果没有网络本
身,浏览器一点价值也没有,更不需要一家公司大费周章地利用平台优势去整倒另
外一家公司.

我们可以把程序设计师比喻成架子上满满的信息相关书籍,而顾你的老板就是
前来买书的读者.你不能否认这么一堆书里头,有好书,也有烂书,你也不能否认你
心中的烂书是一本书,你更不能否认书里面教你如何写Java程序的内容是错的.可
是,购书的读者压根儿根本觉得某几本书一点价值也没有.

我们只能说,太多只会"写程序"的程序设计师打烂了市场,就像一牛车的烂书
一样,你不能说烂书没有价值,可是烂书会让你对架上其它书籍的价值大打折扣.除
非,你之前看到别人口耳相传这本书是好书.大家或许不相信"只会写程序"的程序
设计师存在于这个世界上,所以笔者举个简单的例子说明之:
很久以前, BBS上有人发表了post,内容大该是说某公司在整理旧的程序代码时,
发现了一则奇文,奇文内容如下:
---------------------------------------------------------------------------------
//底下是一个判对某个整数是不是奇数的程序代码
public static bolean isOdd(int n)
{
while(true)
{
if(n==1) return true;
else
if(n==0) return false;

n=n-2;
}
}
---------------------------------------------------------------------------------
您说撰写这个程序代码的人不会写程序,他又好象会写,
你说他会写程序,你又不服气,觉得这个家伙根本在胡搞一通.看过这则奇文轶事之
后,当您下次听到某公司抱怨他们的程序设计师做出来的软件一堆bug,速度出奇的
慢,产品永远卖不出去,害公司快经营不下去了,所以他们认为程序设计师一点价值
都没有,只是一堆劳碌命的杂碎时,您会不会更加怀疑,是一堆莫名其妙的程序设计
师,把你的行情给搞烂了?

所以从今天开始,如果你对程序设计有一股热爱,那么我们一起努力,做个真正
的程序设计师,而不要做一个破坏别人行情的程序设计师.做一个真正写的出有用
软件的工程师,不要做一个只会写程序的程序设计师.当然,如"意外的计算机王国
/ 联经出版社"一书所言,很多技术都是用来原本没有预料到的地方而大行其道.
许多科学研究无法有立即的贡献,但是影响深远,我们也期许有意从事基础研究的
科班研究生,认真的作研究,不要老是研究一些别人已经研究过的研究,不要老是冀
望骗国科会等研究机构的经费,到了最后计划结案时,才匆匆忙忙交出另外一篇骗
更多钱的计划书,或是拿不出台面的研究.

最后,我们反省自己是不是也是一个只会"写程序"的程序设计师呢? 请自行测验底
下几个问题,这些问题都不可能有客观的答案,所以每个问题都附上笔者主观的答
案,作为笔者自己的反省.

Q1: 你尊重专门技术吗? 换句话说,你认为术业有专攻吗?
当你接受外面的教育训练课程时,你总是崇拜看起来什么都懂的老师?
换句话说,你认为那些遇到课外问题就跟你说他不懂的讲师是烂老师?

你老觉得真正的高手应该精通各门各派的技术,如果你会XML,他不会,你就觉得你
比他厉害.你觉得他的履历上写的技能太少,证照太少,所以你认为你比他优秀?


有人老是觉得自己蛮会用MFC开发软件,所以直觉认为那些只喜欢,或是只会用VB的
人程度应该不高.问题是,有人用VB的程度是,当他觉得组件不好用,所以自己写程
序处理HTTP,因为他懂HTTP协议的运作方式.组件盘里附的浏览器组件太烂,就自己
用公认语法不是很顶尖的Basic语言来写parser.
相反的,有人号称会用MFC,但是除了靠Help找出名为Cxxxxx的类别来用,再
自己补上事件处理的部分之外,其它什么事都做不出来.

有人认为写Java程序应该善用工具,用UltraEdit根本是重新造轮子的行为,所以一
开始就学JBuilder的使用,其实他用JBuilder写了老半天GUI程序,哪天回头叫他用
文字编辑器写个简单的Frame + Button, 他却写不出来,因为他从没弄懂过Java的
事件处理模型. 他只会不断地: 选择组件-> 放在容器里头-> 调整位置和大小->
调整属性-> 按两下-> 填写事件处理函式,
成为一个名副其实的"程序女工"(再注:女工纯指"经年累月从事重复单调工作者",
没有歧视女性的意思).

有人觉得他精通各家厂商的数据库,所以看不起那些只会下SQL指令或是只会写
store procedure的人, 因为这个人精通ODBC, JDBC, ADO, ADO.NET各种程序的写
法.问题是,一个精通SQL的专家和只会写SQL指令的人,在数据库表格交互参考,资
料量很大的时候,要从中取出我们需要的资料,所下的指令在效率上是几秒钟和几
个小时的差别. SQL也是个专门学问,要能够巧妙的操作它,必须下非常多功夫做研
究,而且一研究可能就是十几年才有办法累积丰富的经验. 如果贵公司的项目老是
苦于数据库存取的效能不够,你猜老板会花钱找一个有能力彻底改善所有SQL命令
之中效能问题的稀有专家,还是再找一个号称他什么都会,结果一点用场也派不上
的"数据库女工" ?

我们常常看到某人列出他的履历,好象会很多就是很厉害.但是当我们完全深入
一项技术时(喔,我是说你真正下工夫的时候),通常我们会越来越感觉到自己的渺
小.

蔡学镛先生就是一个非常尊重专业技术的例子.
我们看到他在 CSDN专栏(http://www.csdn.net/expert/cxy/ )上写的,他说他
只精通 lots of Java APIs.我和学镛聊过三次,有一次,我听他说:"干麻叫我搞
Linux,我又不懂Linux!" 如果是你听到这句话,你会不会真的以为他玩起Linux来
肯定比你逊色?
笔者突然想起神雕侠侣里头的独孤求败,晚年只会拿树枝和别人比武,可是你拿再
厉害的刀剑就是无法打败他.
所以,请尊重专业技术,不要以为人家没说他会,你就比他厉害.真正厉害的人很多
都不在台面上,而是躲在后面偷偷笑我们呢! 而我们一辈子永远不知道我们被别人
偷偷取笑了.中国文化数千年来都是文人相轻的历史,够了,大家尊重专业吧!

Q2: 你觉得算法和数据结构无三小路用,因为你从没使用过?

我们承认"无招胜有招"是内功心法的最高境界,但是在信手拈来之际,后面所代表
的是对各家武功路数的彻底了解.由于台湾几乎只有应用软件的开发需求,没有系
统软件的需求,所以大多数的程序设计师都是站在"程序女工"的角度看世界,只要
有钱,只要有人贩售组件,有什么搞不定的.
但是今天如果你想设计一个XML parser,不懂数据结构和算法可以吗?好吧! 你说
我们不该重新造轮子,我们应该站在巨人的肩膀上看世界,如果什么都自己硬干,世
界是会退步的. 那么试问,当你在使用Java提供的Collection Framework时,你了
解ArrayList, LinkedList, TreeSet, HashSet之间的差别吗? 你知道他们的优缺
点吗? 你知道他的特性吗? 不了解ArrayList和LinkedList的差异,用哪种去写程
序执行结果都一样,可是效率差很多.

大多数的人连了解特性都谈不上,更别说很多每天想发展自己的语言,自己的编译
器,自己的操作系统的人,没有基础学问的了解,如何去设计一个
Collection Framework或STL?
你说数据结构和算法没有用,你去做看看现在IDE中普遍有的code insight功能看
看?以Borland C++ Builder来说,要在短时间内搜寻所有的标头文件并找出某函数
的prototype,如果没有对数据结构和算法有充分了解,一样做的出来,只是产品会
卖不出去罢了.

我在课堂上常常举一个scalability的例子给学生看:
我希望写一个1+2+3 ... + 100的程序,如果撰写此程序是你的工作,大多数的人都
是写成:

int sum = 0 ;
for(int i = 1 ;
i < 101 ;
i++)
sum = sum + i ;

而真正受到数学观念熏陶的人会写成:

int sum = 100*(100+1) / 2

前者的复杂度是O(n),后者是O(1),当项数很多时,运算时间是不是差很多?这些都
是我们的教育所产生的问题(当然笔者也是其中一位受害者),老师只叫你写好作业
,助教只叫你run出正确的结果,认真一点的还会测试你是不是抄来的. 却从来没告
诉你程序中不能只有一个main函式,程序代码不能第一行写到第一千行从不切割成
其它子程序. 你的程序代码看起来不堪入目,老师助教从没告诉你,你的.class檔
被decompiler反编译之后,长的比你写的还漂亮.但是从今天开始,我们可以开始认
真思考每行程序,不要再做一个拖累其它人行情的程序设计师.

试想发展MP3算法的人和写WinAmp的人,哪个比较厉害?
你会说都很厉害,可是没有前者就没有后者,前者搞不好还可以坐收权利金,后者只
能苦哈哈的赚些小钱或等人购并. 我们停留在崇拜应用程序技巧的阶段,而真正值
得崇拜的是那些难得一见的创意.

笔者遇过一个朋友,叫他撰写一个费式数列的小程序,比请他写一个可以浏览数据
库表格内容的程序还难.(请不要与我讨论费式数列的小程序没有实用价值的问题,
这里讨论的重点不是这个)前者需要稍微动点小脑筋,后者只要会拖拖组件,设定
property就搞定.
RAD本身不是罪,但是没学好九阳神功就妄想几小时练成乾坤大挪移.最后只会走火
入魔而死,彻底变成一个"程序女工".


Q3: 你常常以科班和或非科班自居?

你是科班生,瞧不起非科班生? 因为你是正统?
你是非科班生,瞧不起科班生? 因为你觉得会的东西比科班生的还多.
烂学校会出现好学生,好学校也会有烂学生.
因为比例一样多,所以我们不能以偏概全.

如果仗着受过几年正规教育,自己又从未好好深入学习,就自己为是正统,比较学术
的说法这叫做"阳具文化".有些创新的idea是一般制式脑袋的科班学生很难想出来
的,因为专家是训练有素的狗.如果你是学电信的朋友,你发现交换机是一个葬仪社
的老板因为生意被别人抢走而发明的,那你会不会气死?

如果自学有成的程序设计师仗着自己会的东西比较多,你说你精通Java的各种技术
,你看不起从没写过JSP的科班学生.
但是有人告诉你发展Java的James Golsing博士是一个正统出生的科班生,知道了
这件事情,会不会让你更加尊重幕后认真打拼的科班生?

Q4: 你是学计算器科学的,可是逻辑能力并没有比较好,还常常受骗?

你会被潮流所鼓动吗? 你常常被别人的思考牵着走?人家鼓吹Linux多好多好,你的
脑袋连转都没转过就发愤努力地考Linux认证 ?
-------------------------------------------------------------------
别人把公司里的server全换成Linux,客户端也都改成Linux,公司仍然正常
地运作,结果你学了Linux之后,看到电视上BSA同法务部做的广告仍然吓的你冷汗
直留. 深怕明天去住套房.

Sun跟你说Java跨平台,你没试过也跟人家说跨平台的优点?
---------------------------------------------------
Borland已经可以做到一份光盘里同时附上Solaris, Linux, Windows,
MacOS X的JBuilder,你却为了EJB无法deploy到不同公司的Application Server忙
的像无头苍蝇.

之前一窝峰人鼓吹XML,结果你盲目追求流行,做出来的东西tag比data还多?
-----------------------------------------------------------------
会用的人彻底了改变了公司里资料交换的流程,而你整天只会SAX来,DOM去
的写XML数据库(用XML来储存资料的数据库)

微软的广告告诉你XP和IE将不支持Java,你都还没试过就跟别人嚷嚷Java已死?
--------------------------------------------------------------------
套句BBS上moga先生的名言:"那我现在在Windows 2000上跑的Java程序是
神迹?"

现在一票人每天宣传web service的好处,你连想都没想过就急着想要把公司的旧
系统全部改成web service来做,结果浪费一堆钱,糟糕的速度让你每天被客户臭骂
?
----------------------------------------------------------------------
Web service当然是美好的前景,但是并非适用于每个角落,目前世界上并
不存在完美的solution.

人家说不能写程序一辈子,写程序的人生命周期很短,你也跟着别人开始往SA/SD前
进 ?
------------------------------------------------------------------------
如果世界上每个工程师都可以经由经验就成为优秀的SA/SD人员,那么理论
上咱们应该有些象样的软件产品才对. 有些人写了几十年,还是一个优秀的程序设
计师,你问问他,如果没有遇到糟糕的老板,糟糕的待遇和糟糕的制度,他愿不愿意
写一辈子程序? 我愿意.

顾问告诉你要多用RAD,不该重新造轮子,所以你努力的问how而不问why ?
---------------------------------------------------------------
结果真正赚到钱的都是那些像JReport做软件组件的软件公司.

微软说J2EE Blueprint的Pet Store,用.NET技术做比用J2EE做还要快许多,然后你
就相信了,最近, IBM和Oracle重新加强Java版的Pet Store,让它比.NET版的还要
快18%~22%,你又改口说Java比较好.
-----------------------------------------------------------------------
一个系统在设计的时候有很多考量,有人以扩充性为主,有的以安全性为主
,有人以效能为主.
如果没有设计理念,大家程序里头的function全部改成inline就好了,管他
编译出来的执行档有多大.
系统只以效能做考量,我们还需要Design Pattern做什么?
那些王八蛋数据和我们选举时的民调一模一样...对一个脑袋清楚的人完
全没有参考的价值.
当然,以情感因素来看民调的人例外.

如果你没有经过自己的自主判断就盲目的跟随潮流,那么下次当你看到有人排队买
米酒,买蛋塔,抢购卫生纸的时候,请不要投以排队的人们奇怪的眼光.

Q5:你尊重老前辈吗?

我们都相信,世界上唯一不用努力就可以获的东西就是老.
所以吃过的盐巴比你吃过的米还多的人,没有任何值得尊重的.
我们更相信,信息业永远是年轻人出头,而英雄少年也常在心里想:
"李杜诗篇万口传,至今已觉不新鲜,江山代有才人出,各领风骚数百年."

但是我们认真想想,从Apple 2的时代到现在随便一颗CPU都是1 GHz的时代,
计算器的本质有什么改变吗? 不就是一台不断对内存作处理和I/O动作的机器.
你笑那些只会用Fortran或COBOL的老前辈,那你学的Java或C#比起这些老语言又高
明到哪里去?
写程序不过是 宣告,循环和函式三大要素.时间久了,产生了一堆新名词,配上一些
新的发展理念但本质上没有改变.
如果你是推倒前浪的后浪,当你看到李维先生撰写的 "[长篇] 我的回忆和有趣的
故事"或侯捷老师最近两期在Run!PC撰写的"侯捷观点"这些老前辈写的文章,你有
把握写出比它们更高明,更有深度的东西吗?

最重要的问题,
Q6:你骗过老板吗?

你在履历上写的十八般武艺样样精通,结果是梧鼠技穷(注:比喻技能虽多,而不能
专一),一录取之后什么东西都做不出来,笔者至少听过20个老板跟我讲过这件事情
.你以为你的身价比较高,只因为你从事"软件研发"的工作?
然而现实的生活中,"获利"是真正决定成败的关键.除非你的东西帮老板赚了钱.

如果没有,你凭什么要求更多薪水,凭什么要求50张价值数千万元的股票?如果你写
的东西品质很差,bug超多,客户抱怨不断,老板赚不到很多钱,你还老是在外头痛骂
老板不尊重技术人员.如果把行业换成色情行业,那老板不就等于被干洗? 这样看
来,程序设计师和詹惠华(黄显洲3P案女主角)干的事情有什么两样?如果这样的杂
碎程序设计师太多了,真正要去卖香鸡排的,不是写程序的人,而是雇用了这些杂碎
的老板才对. 不过很遗憾,真的很多软件公司的老板要改行了,鸡排太多人卖了,我
建议某位感同身受老板写篇"程序员的老板与蚵仔煎",请踊跃投稿
 
无论如何我认为这是软件业开始走向成熟的标志
大家看看医学电子学等的发展就可以看到,新兴技术产业走向成熟都会产生这种阵痛
加在软件业上的神圣光环是褪下的时候了
 

Similar threads

回复
0
查看
804
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部