Tag Archives: 程式設計

工程師轉職商人的心路歷程

這輩子成長最快的一年 從 2013 年 1 月到 2015 年的 2 月之間,「米邦」是我懷抱軟體夢想創業的最後一間公司;離開前,我開始真正懷疑自己做的事情是不是做自己爽的,其實我根本不知道怎麼創業。當開始承認自己的無能後,是我第一次真正反省,這從頭到尾只是自己的一廂情願。 離開米邦後,是我第一次完全沒有方向感,我不知道要做什麼,唯一知道的是:我絕對不能再寫軟體了。好巧不巧,碰到我現在的老闆,他的成就讓我毅然決然放棄寫程式,投入電商圈開始從頭學起。 回頭看自己 放掉自己擁有的一切重新開始,那種恐懼感真的很可怕。 這一年時間,我徹底把寫程式這個技能丟掉,重新學習新領域,然後回頭寫程式;用 15 天打造出來的電子商務(EC,以下簡稱電商)系統,目前乘載每個月 3 千 5 百萬到 4 千 5 百萬的營業額,自己經營的電商公司每個月以三倍速度成長。 今天要分享的是,回頭看自己過去與現在差異,希望能把自己的經驗分享給一些曾經和我有一樣想法的工程師,提供您們一個參考。

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

2008 編程語言走勢解盤

轉換語言的成本通常很高,所以一年之內,各個語言通常不會有太大的興衰變化,這篇文章其實是描述以 2008 為中心,前後數年期間各類編程語言的整體狀況。 農曆新年前,許多大師或老師會對名人、股市、甚至國家的運勢做出各種分析,這倒是讓我靈光乍現,想利用這段時間概略地分析今年編程語言的可能發展。 Java 類語言:Java 似乎會逐漸走下坡。J2ME 會受到 Google Android、Adobe Flash Lite、.NET Compact Framework 的影響;J2SE 的對手則是 .NET 和 AIR;J2EE 在中小型網站受到 PHP、Ruby-on-Rails(RoR)很大的衝擊。幸好,目前大型企業好像還是買 J2EE 的帳。 在 J2ME 和 J2SE 方面,未來似乎可以用 JavaFX 奮力一搏;在 J2EE 方面,也有 Groovy/Grails 可以抵擋 RoR。尤其目前大家懷疑 PHP 和 RoR 只適合用在中小型網站,大型企業網站似乎還是用 J2EE … Continue reading

Posted in Programming | 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

程式與香雞排

當程式員很可憐,在台灣當程式員尤其可憐。薪資低、工作量大、地位不高、技術又容易被淘汰。難怪有人半開玩笑地告訴我,他以後不寫程式要改行去賣香雞排。 照理說,軟體開發是很專業的領域,越是專業的領域,越是處於金字塔的尖端,應該薪資很不錯才是,但不知怎地,台灣的程式員就是從來未獲重視。我們不要表面上的重視,我們要薪資上的重視。據我所知,大陸程式員的薪資水平,比起我們台灣高出許多(從國民所得、物價、房價來比較),美國程式員的薪資更是高得讓我猛嚥口水。 想想看,如果你在台北市租一間會漏水的小公寓,月租兩萬元(管理費和水電另計)。莫名其妙的多元入學方案實施之後,小孩壓力更大,要補習的東西更多。如果你有兩個小孩,每個月的補習費共要花上五千元。小孩要學費、生活費,又是另一個五千元。(乾脆含淚將小孩送人扶養。) 長得不怎麼好看的老婆就只會天天敷 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

Bug 的由來

http://libai.math.ncu.edu.tw/bcc16/pool/3.06.shtml 1945 年 9 月 9 日,發生了一樁對電腦界而言非常重要的軼事。那天因為天氣很熱,他們都把窗戶給打開了,然後飛進來一隻蛾,結果那隻蛾被打死在一支繼電器裡面,造成電路不通,讓機器當機,使他們沒辦法算出他們要的結果。經過了近一天的檢查,Hopper 找到了那隻蛾,她用她的髮夾去把那隻蛾給弄出來,還把那隻蛾的屍體貼在她的管理日誌上,上面寫著:「就是這個 bug,害我們今天的工作無法完成。」這個消息傳開之後,那個實驗室裡的人每逢老闆詢問為何還沒做出結果時,都把過錯推給 bug。爾後,在電腦界中,遇到程式中有錯,就稱之為 bug。除錯叫做 debug。下面這張照片,就是當時的那隻蛾,以及 Hopper 寫的記錄。 更詳細的說明請見 Wikipeida – Software bug

Posted in Network, Programming | Tagged , , , , , , , , , , , , , , | 2 Comments