Tag Archives: Programming

Real men program in C

A couple of months ago, I ate a pleasant lunch with a couple of young entrepreneurs in Baltimore. The two are recent computer science graduates from Johns Hopkins University with a fast-growing consulting business. Their firm specializes in writing software … Continue reading

Posted in Embedded, Programming | Tagged , , , , , , , , , , , , , , , , | Leave a comment

手機平台太多 軟體開發業者左右為難

隨著智慧型手機日漸風行,手機軟體也成為業者搶食的商機。目前檯面上的手機大廠,如諾基亞(Nokia)和蘋果(Apple)等業者,紛紛不遺餘力地吸引外部業者為其產品開發程式,不但能讓自己的產品更吸引人,還可順便靠軟體大賺一筆。 據商業週刊(BusinessWeek)報導,手機業者一窩蜂開發軟體的趨勢,呼應諾基亞執行長 Olli-Pekka Kallasvuo 認為精良的硬體不再足以擄獲消費者的看法,只有結合服務的手機,才會受到大眾青睞。 因此,外部軟體業者受到業者徵召,為各家平台撰寫手機程式。不過礙於作業系統相異,同樣的程式無法在不同手機使用。例如,蘋果 iPhone、RIM(Research In Motion)黑莓機(BlackBerry),和諾基亞系列的智慧型手機,追蹤使用者支持的足球隊伍表現的程式,版本就不同。 但短時間內,手機作業平台市場,恐怕還是山頭林立,百家爭鳴。因此這樣的情況造成軟體開發業者撰寫程式的困難。他們當然可以針對不同的作業平台,打造手機程式。不過,這樣做不但曠日費時,也浪費成本。所以,他們往往選擇市場上最受歡迎的產品,並捨棄其他相對弱勢的產品。 不是沒有軟體業者嘗試為所有手機提供相同程式,例如,社交網站 MySpace 早期便試圖如此,不過創辦人暨執行長 Chris DeWolfe 表示,該公司很快發現此舉有執行上的困難,因此 MySpace 現在只針對 iPhone 和黑莓機開發程式。 對於手機軟體開發業者面臨的困境,昇陽(Sun)有意以自家為手機提供的 JavaFX 軟體,解決平台太多的問題。也有另 1 種可能性,就是在西瓜效應發酵的情況下,手機軟體開發業者只選擇某些熱門機型,當僅有數款手機成為市場主流產品後,外部程式開發業者也毋需再煩惱自己在選擇手機平台時,是否會壓錯寶。     電子時報 申文怡

Posted in Wireless, Work | Tagged , , , , , , , , , , , , , , , , , , , , , | Leave a comment

台灣科技島美名 靠 3 個台大生撐著

當大陸用國家力量,重金培養頂尖學生,打進全球最重要的 ACM 大賽時,台大學生只能倚賴自己的天分,證明台灣仍有最頂尖的 IT 人才。 四月中,三個台大學生,剛從被大陸稱為「編程奧運」的美國計算機協會程式設計大賽全球決賽(簡稱 ACM 大賽)中,擊敗復旦大學、普林斯頓、杜克大學等對手,為台灣拿到第十九名,大陸則首次有十一所大學在決賽中得名,是本次得獎最多的國家。 如果沒有這三個台大學生,今年號稱科技之島的台灣,將在全球資訊界最重要的科技競賽當中掛零。 第十九名,不是台灣有過最好的成績,卻是競爭最激烈的一次。當中國、東歐正在用國家的力量,幫助他們的年輕天才站上國際舞台時,這三個學生,只能靠自己買書,和學長討論,以及系上湊出來的一點經費,為台灣在國際頂尖競爭中發光。 他們沒有教練、沒有正式訓練,甚至沒有人知道他們在幹什麼,只能靠自己的天分和堅持,證明台灣的實力。他們保住台灣的舞台,迎接他們的,卻只有期中考補考,和一片寂靜。 競爭:分區前兩名才能取得決賽參賽權 故事要從去年十月,在台北賽區舉行的 ACM 大賽選拔賽說起。為了鼓勵交流,美國計算機協會在全球切出三十六個區域舉辦初賽,只要是同屬亞洲的學校,就能跨出國境,到不同賽區比賽,拿到前二名的隊伍,才能取得決賽參賽權。 那場比賽,簡直像個大屠殺。當時台灣有上百隊參賽,台、清、交、師大全部到齊,大陸則來了上海交大、中山大學等五隊參加。 結果是,上海交大答對了八題,浙江大學,也答對了七題,台灣代表隊中成績最好的台大隊伍,只以答對六題居第五名,台灣清華大學,只答對了三題,其他學校答對題數,則都在三題以下。也因此,前四名全被大陸抱走,由上海交大代表台北賽區,取得全球決賽的參賽權。 ACM 大賽之所以重要,一方面是因為,這是目前參賽規模最大,最具公信力的大學程式編碼競賽,另一方面則是因為,在求才若渴的軟體產業裡,Google、微軟、IBM 等公司,開始拿著得獎名單當地圖,蒐尋全世界最有天分的優秀程式設計人才。「全球我們就只看這個比賽,」Google 台灣工程研究所所長簡立峰分析,這次台灣錄取的工程師,全都曾在程式大賽中得名,如果沒有相關得獎紀錄,想踏進 Google,十分困難。 不只 Google,IBM、微軟,都對能打進 ACM 大賽決賽的學生,張開雙臂擁抱。在中國,即使是原本少人注意的福州大學大二學生,今年打入 ACM 大賽決賽後,IBM 馬上發函給他,「你只要通過面試,馬上錄用!」 現在就讀台大資工系大二的沈定、陳學毅,和就讀電機系的李緒頡,就是去年台北賽區中,成績最好的台灣隊伍。這三個學生,都算得上是台灣最厲害的資訊系學生,他們高中時代都進過奧林匹亞大賽資訊類的選訓營,李緒頡則是現任國手。 負責帶隊的台大資工系副教授呂學一觀察,像沈定、陳學毅都是很有天分的學生,「我開的是最理論的演算法課程,來修的都是研究生,」呂學一說,但是這兩個人不但大一就來修課,還能隨時抓出老師的錯誤。「每次我看到他們身體突然動一下,就知道剛剛我講的東西哪裡有錯,」呂學一笑著說。 震撼:年砸三百萬經費,少林功夫快狠準 即便如此,當他們這次遇到大陸隊時,卻經歷了一場震撼教育。 在 ACM 的競賽規則中,一次比賽要花五個小時,題目卻只有十題,每一題都必須運用演算法的知識,才能破解。 比賽規則也經過精心設計。比賽三個人一組,卻只有一台電腦可以使用,所有題目只告訴你一個大致的敘述,要參賽者按敘述編寫出可以處理敘述中所有狀況的程式碼,每個題目都有一組包括各種狀況的測試資料,只有參賽者寫出的程式,能完全解開測試資料,才算答對這一題,大會甚至限制,每一個程式的執行時間,不能超過一秒鐘。 這個比賽有三個難度,除了下手前要想清楚題目限制,另一方面,程式必須寫得又快又精簡,光一個正負號寫錯,就可能耗掉半小時檢查,同時,和隊友的分工必須十分精密,才不會浪費寶貴的電腦使用時間。「整個比賽考驗邏輯、策略和承受壓力的能力,」ACM 大賽的參賽資料上如此說明。「我們都叫大陸隊『少林寺』」陳學毅說,他們大一參賽時,見識到大陸隊苦功夫練出來的實力,「那一次,我們一題都還沒有解出來,大陸隊就已經解出三題,當我們解出三題,大陸隊已經解掉六題,」他們觀察,這些人就像早就認識這些題目,一拿到題目,就像背公式一樣,把答案輸入電腦。 「大陸、韓國,都是用國家的力量在培養這些人,」呂學一分析。以取得參賽權為例,大陸只有三個賽區,理論上頂多推出六隊,但學校全力支持,「他們的學生整天飛來飛去打比賽,」呂學一說。上海交大從 … Continue reading

Posted in Technology, World | Tagged , , , , , , , , , , , , , , , , , , , , , | Leave a comment

再論香雞排

網路上到處張貼轉寄「程式與香雞排」一文,使得該文章在網路上引起程式員廣大的迴響。當「該文作者」在 BBS 各版和各種網頁討論區都看到自己的文章被人到處張貼討論時,驚駭莫名。更荒謬的是,該文章居然還繞了一圈被人轉寄到「該文作者」的 email 信箱中。該文章引起迴響的程度遠遠超出「該文作者」的預期。 有的人對於「該文作者」寄予無限的同情,畢竟該文章內容寫得太負面了。Oh! No. 你們搞錯同情對象了,事實上該文並非「該文作者」的寫照,畢竟「該文作者」未婚(不用擔心 SKII 和 DKNY 的支出),也還沒未婚生子(不用擔心多元入學方案和補習費),也從不標會(對高風險事物沒興趣),也從不對統一發票的中獎號碼(這點小錢根本不放在眼裡),也沒有不長進的親戚敢上門伸手要錢(言語犀利苛薄,親戚躲他像躲鬼一樣避之唯恐不及),也不是非科班出身的便宜程式員(雖然沒本事取得博士學位,但好歹也是個清華大學的資訊碩士),也在台灣和大陸的 Java 圈子都小有名氣(但不排除有些人孤陋寡聞)。橫看豎看,「該文作者」都不算是一個受到壓榨的程式員。甚至「該文作者」經常逛街瘋狂瞎拼買到手軟,出門懶得擠公車只坐計程車,在路上看到賣口香糖的老人或殘障人士一定會捐錢,…… 這麼努力花錢,但不知怎地錢就是花不完,所以「該文作者」可以說是生活得相當優渥的。而且「該文作者」還得寸進尺,常嚷嚷不想工作,宣稱以後要辭職回家變賣家產,靠父母親一點一滴掙來的財產來過無憂無慮的生活。你一定想問:既然如此,「該文作者」幹嘛寫了一篇胡亂抱怨的文章,無端惹來你掬一把同情之淚?我希望你不要因此怨懟「該文作者」欺騙你的感情,「該文作者」只是利用文學中「示現修辭格」的手法來撰寫該文章,以求得強烈的閱讀效果,這和「十八歲賺一億」一書作者蓄意欺騙的行徑是完全不同的。「該文作者」悲天憫人,對於許多程式員的遭遇感同身受,透過該文章,將他所知道的一切披露出來,代替許許多多台灣的程式員發聲。 夠了!我們不要再談論「該文作者」了!免得讓你因為過度羨慕他而開始哀聲嘆氣,畢竟這麼有福氣又囂張的人實在不多。該文作者「托夢」請我整理這些日子以來讀者的看法,我無法拒絕這樣的請託,因為我和「該文作者」的關係實在太密切了。 有一些有志進入軟體產業的在學學生憂心忡忡,表示看了該文章之後,信心開始動搖,有幻滅的感覺。我認為,幻滅是成長的開始,早點經歷幻滅總是好事,才不會一廂情願地只看到事物好的一面,也因此會多做好一些準備(不管是心理上的準備或技能上的準備),成功的機會就會大幅提高。學生距離就業還有許多年的光景,只要好好把握這些年充實自己,其實以後你們在軟體產業的發展前途仍然是很不錯的。至於程式與香雞排的作者,則是一個「先天下之憂而憂,後天下之樂仍憂」的一個「馬不停蹄地憂傷」的小子,所以你們不要把他那過度負面的看法放在心上。香雞排,你們負責吃就好了,要賣也是我來賣。 也有許多讀者對於該文章感到心有戚戚焉,這類的讀者以程式員居多。我要警告這類的程式員,如果你平常不好好加強自己的分析設計技巧、管理能力、或其他技能,當程式員當了五年後仍然只是最低階的程式員,還得親自寫程式,辛辛苦苦地追著瑣碎的技術跑,那麼你就真得要小心考慮,賣香雞排或許真的比較適合你。 也有人的薪資不止五萬元,質疑該文章太悲觀。一般來說,這種人可能在外商公司、或者已經脫離程式員等級、或者在不太軟的軟體公司(例如 chip design),或者在非軟體公司的 MIS 部門。我認識一個年資約兩年的程式員,在一家不太軟的外商軟體公司當程式員,月薪約 6 萬台幣,但這樣的價碼可是大多數的程式員都無法達到的。薪水這麼高的程式員,不需要轉行賣香雞排。 有些人則沒有受到「該文作者」的恫嚇所打擊,仍堅持要繼續在軟體行業走下去,我很佩服這樣的人,因為你正是軟體產業需要的人。你不把錢看得太重,而且肯努力、有興趣,只要繼續持之以恆,我相信你在未來的報酬自然也不會太差的。但是你千萬要慎選公司,選擇一個有發展前景又願意栽培你的公司,否則你最後還是可能會去賣香雞排的。 還有一些讀者提出許多有建設性的寶貴意見,這些意見包括了:「雞排一塊不只賺 13 元,一天不只賣 300 個,十萬元的估計太保守」、「珍珠奶茶其實更有賺頭,每杯淨賺八成」、「滷味不需要技巧,比較適合程式員轉行」、「當靈修講師不需要大學學歷,輕輕鬆鬆月入七萬元」。但不管怎樣,我還是對賣香雞排情有獨鍾,我兩小時前才剛到饒河街夜市吃了一個香雞排,此刻仍然齒頰留香,回味無窮。賣香雞排的收入也有很大的差異,有些香雞排的攤位門可羅雀,有些香雞排的攤位生意好到老闆累得一邊吊點滴一邊炸香雞排。前陣子我看到電視新聞採訪一位在新竹科學園區附近賣香雞排的女老闆,她說她每個月賺 45 萬元以上。她還告訴記者香雞排好吃的秘訣在於醬料,但任憑記者怎麼追問,她仍不肯透露醬料的作法。急於開店賣香雞排的我對此婆娘小氣之舉很不以為然,我悻悻然地自言自語:「哼!秘訣?你以為我無法得知你的醬料配方?」我決定重金禮聘擅長偷拍的「郭女士」出馬,先接近該香雞排店的女老闆成為她的靈修姊妹淘,取得信任之後,再潛入該女老闆的廚房裝設針孔攝影機。我相信,以郭女士純熟的偷拍手法,醬料的配方會落入我手中。有了她的醬料,加上我獨門研發使用高筋麵粉和數十種珍貴藥材做出來的銷魂蝕骨酥皮,我寫程式的苦日子即將結束,我終將成為香雞排大亨的。想到這裡,我喜孜孜地笑了。     蔡學鏞

Posted in Life, Programming, Work | Tagged , , , , , , , , , , , | Leave a comment

程式與香雞排

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

Posted in Life, Programming, Work | Tagged , , , , , , , , , , , , , , , , | 1 Comment