Category Archives: General

思考自己接下來在 IT 圈的發展路線

其實這個問題我一直在思考,也不斷在修改想法,「君子立志恆,小人恆立志」看來我就是個不折不扣的小人。

小時候(其實是大學畢業前啦)我想做個遊戲製作人,因為那時候(約 2000 年前後)遇到日本遊戲業界的大震盪,即使在經營困難下,不少公司、製作人仍舊出了很多有如藝術品(唸作:叫好不叫座)的遊戲。回頭看看,那段期間的煎熬,讓現在還存活的一些日本遊戲公司結出了豐盛的果實。

那個時候,我很嚮往「榨乾系統的能力,創造優秀的遊戲聲光、互動體驗,帶給玩家感動」這件事,也嚮往遊戲公司從頭(晶片)打造平台,充分掌握軟硬體這種「硬派」的作風。不過後來的發展卻是,遊戲公司沒人自己在搞處理器了,還願意自己打造遊戲引擎就該拍手稱許了,不管軟體硬體,相當程度已經轉為從外部找資源。我並不是說這樣的發展不好,因為系統發展的愈趨複雜,這樣專業分工是不可免的。

扯遠了…總之後來我並沒有走上這條路。後來我的工作多是做 Web 開發與打雜,在這段時期,可以說一直到今天,我想做的是「親朋好友在日常生活裡會用到的軟體」、「對社會有益的軟體」,這就是我為什麼去過中研院臺史所、中研院生物多樣性研究中心、曾有過圖書搜尋引擎產品的某公司、做活動報名與售票系統的那間公司。我一直希望自己能夠「益於世」。雖然我的三腳貓功夫還能勉強做這行,可是身體狀態的負荷,以及感受到隨時都會被年輕一輩(以十年為一世代的話,不只一輩,應該還有二輩、三輩…)取代的壓力,讓我又開始思考,自己還能做什麼?有什麼是在應用層面上更往中介軟體、核心元件走、不容易輕易就被嫩肝取代的?

回顧自己的本科所學,其實我知道那答案再清楚不過,就是「資料庫」與「搜尋引擎」。但是這兩門學問的坑都很深,在 Library and Information Studies 裡,會用稍微進階的 SQL 與 Boolean 檢索就算不錯了,遑論還要往理論與實作鑽,現在才說要踏進來,也許旁人看來可說是有勇無謀,貽笑大方,我自己也明白,所以就只挑了其中一個來專注研究。

我希望幾年之後,我在搜尋引擎這方面,可以提供專業服務。

重新檢討自己的技術選型

我現在的狀況是這樣:幾乎只能工作大約半個工作日(約四至五小時),手臂跟背部就開始抗議了,有時覺得那一天狀況奇佳,可以衝了快十小時,隔天就又被討回來。

於是我覺得我該重新檢討自己的技術選型。再不然,我就得考慮盡早轉行。

誠實地說,以往我因為自己的學歷出身,長期在這個圈子裡覺得很自卑,喜歡電腦科學、軟體工程,但是幾乎沒有用過比較貼近系統底層的語言,遑論做相關開發,這種無法往 “bare-metal” 靠、「榨乾、徹底且有效發揮硬體能力」的歷程,讓我覺得自己始終低人一等。

以前我讀朱邦復的組合語言教材《組合語言的藝術》,他錙銖必較於「少用幾個指令,卻做到相同的功能」那種情懷,很讓我嚮往,雖然我知道現在很多編譯器產品做的最佳化,已經很聰明了,往往只要你的程式寫法不要寫得太爛,效能表現其實都不會太差,反之,如果你的程式爛到原本就用很差的算法去叫電腦做事,用再怎麼貼近底層的程式語言,編譯器可能還是會編出同樣也是在繞很多路來做事情的機器碼,這樣並沒有比較高明。

但是我一直以來都在用相對「軟式」的 scripting language 做開發,常常還是會想「哪天我也可以做點比較『硬底子』、更貼近系統底層的東西」,如果可以這樣,自己是不是就可以更往 “bare-metal” 靠、更 rock 一點?

不過以我現在的狀況,我想了想,我必須選擇那些更能讓我表現 “intent” 的程式語言與工具,也就是那些雖然可能還是很「軟式」,卻可以一眼望去,就立即知道這段程式碼想要處理、解決什麼問題的程式語言與工具。

當然,scripting language 不盡然都可以很不反人類地表達 intent(為了怕傷感情,我就不多舉例了…),貼近系統底層的語言也不盡然就寫不出「高 Intent 表達力」的程式。所以我說的是,我接下來的技術選型,可以讓我更能表現 “intent”,粗糙一點來說,就是「同樣行數,卻更能涵蓋問題解法,且不管你資淺資深、本科非本科,有基本程式觀念的人都容易讀懂」的程式。

一來是因為我必須很容易找到人一起跟我共事,做出解決方案,二來,考慮我的生產力整個打折,我必須用更少時間,做出原來在正常工作日該有的產能。

再來就是,就算我沒能做出什麼揚名立萬、揚眉吐氣、超硬底子、超貼近系統底層的東西,只要我在這行,還能有點用處,解決一些其他人覺得很煩、很痛的問題,其實,就很好了。

補充:這篇網誌寫完後的晚間,我恰巧讀到〈尤雨溪回应:Vue与TypeScript为什么相性特别差?〉一文,其中提到 “intuition based design”,即符合我上面講的「表現 “intent”」這件事。我書讀的少,不知道有這麼一個現成的好詞可以表達我的意思,真是笑話了。

離開 InfuseAI

去年七月進來這家公司,但是最近身體狀況又變差,難以負荷工作,就在一月底決定離開。

其實多多少少還是有人在猜測背後有沒有什麼隱情之類的八卦,沒有,真的沒有。把在 Twitter 上寫的再貼來講一遍:公司沒有什麼問題,老闆是出社會以來遇過最好的,同事也都是極為優秀的人才,產品也解決了很多企業亟需導入 AI 時的基礎建設痛點。

而且很可惜的是,之前在 KKTIX 共事很愉快、從他那邊也學到很多東西的 Ash 後來也加入這間公司,再度當同事,但是我不得不先離開,不然還會再從他那邊偷學到更多東西。

真要說有什麼問題的話,就是我自覺給團隊惹的麻煩比貢獻多,非常抱歉。

我的復健路

四個多月前,我開始了待業、且經常跑醫院的日子。

復健項目一開始有熱敷、牽引治療、低週波電療,後來調整為熱敷、牽引治療、干擾波電療。

熱敷的作用是讓頸關節先熱開,避免接下來的牽引治療發生拉傷。低週波電療與干擾波電療的作用,復健師沒跟我說,我也不好從網上抄作用機制來貼。

每個項目表定 20 分鐘,所以一整個療程做下來就是基本一個小時。健保補助看診一次可以做六次復健。

每次做完復健,當下幾乎都感覺比較舒服,但是也常常隔了一天患部就又痠疼麻。

中間我曾經自費購買熱敷墊、瑜珈墊,希望在家也能多少做點「自」療。

後來綜合醫師與復健師的說法,我懷疑自己這樣反覆發作,其中一個因素是我的睡姿不良,側躺、俯臥壓迫到患部肌肉、筋骨,所以我又去買了「護腰墊」與「床頭靠墊」來矯正我的睡姿,回到對背部肌肉最無負擔的仰臥,目前看來改善不少,但是我不能確定是心理作用使然,還是物理機制確實如此,僅提供我自身經驗,非宣傳療效,請注意。

在這之前,我從不知道「能夠握緊拳頭出力」這樣尋常的動作,竟是如此難能可貴的事,那段只能撐半天敲鍵盤工作、接下來就呈現無法使力的報銷狀態的時光,連拿個碗都拿不穩,工作上也覺得拖累團隊步調,久而久之,會讓原本就很廢柴的自己覺得更加百無一用,心情受到很大的影響,惡性循環之下,整個人的身心都不好。

如今稍有改善之後,我學著要注意保持正確、避免不當壓迫的姿勢,還有透過醫療資訊的線索,在原本茫然不知從何改善的狀態下,漸漸能夠自主掌握些什麼,心理會踏實不少。不過還是要再強調,資訊的媒體識讀很重要,我一直很小心讓自己不成為那種「病急亂投醫、胡亂相信一些作者不知打哪來的醫療文章、被牽著鼻子走、買了一堆來路不明的藥物、器材」的人。

COSCUP 2018 「帶您讀源碼」議程軌熱烈徵稿中!

我一直很想在今年的 COSCUP  推動「帶您讀源碼」議程,起因是我某天在放空時,就這麼突然想到:

在 COSCUP 這個臺灣的 F/OSS 年度盛會當中,主角之一 “source code” 反而佔不到什麼版面?大家都在談 Open Source,但是好像沒什麼人在意那個 “Source”?

我覺得這個現象蠻奇妙的,而如果我們可以讓 source code 在 COSCUP 裡多一點份量,會產生什麼效應?我自己有一些預設的想像與期望,希望透過這樣的活動,可以鼓動更多人投入軟體開發(當然,如果是開發 F/OSS 那尤其是再好不過的了),或者再講淺白一點,撒下一顆顆「程式人」的育成種子。

由於一些陰錯陽差,這個構思差點泡湯。好在貼心的 BobChao 大人幫忙,送出了議程軌申請案,最後這個議程軌也成案了。

現在這軌議程開放徵稿了,非常需要您來分享圍繞著 source code 主題的各種有趣議題!