時間有限、慾望無窮

少於 1 分鐘閱讀

今天是夏至,接連幾日的梅雨導致全身都快生癬了,終於開始慢慢感到空氣中黏熱的氣息。四年多前的夏天,開始了一個說走就走的旅行,沒有預定路線、沒有規劃、沒有練習的單車大環島,只有一台單車、一個背包、一個被退學又考上嘉大獸醫的腦包大學同學。人生就像是那場環島一樣,大多時間計畫趕不上變化、更無法事先練習你的人生,現在的我還有那種勇氣開始一個說走就走的旅行嗎?除此之外,我很擔心自己安於工作的現狀,慢慢停止學習新的東西。身為一個半路出家從EE跳CS的渣工程師而言,我還滿羨慕能精通多個程式語言的神人,而我總是學一個新的忘一個舊的。最近收到以前大學同學的表妹(嘿嘿?這年頭表妹到處都有)正好到大學期末考了,出了一個回家作業做不出來,莫名其妙求助於我,並且獎賞是五倍鑽石麥當勞(一整個肥宅味開始浮現腦海)。出於好玩我二話不說就接了case,題目是實作server/client,功能是server存有一個有10個node的graph,node代表router、edge代表了連線的cost。當client對server給定起點至終點,要回傳最小cost的路徑。啊這不就是graph+最短路徑演算法+socket嗎?每個我都做過,所以我花了不到3小時,刻一個graph物件、開著wikipedia刻一個Dijkstra’s Algorithm,輕輕鬆鬆就完成了…Python code。幹你老師咧,作業要的是 .c 檔(還不是 .cpp 哦),我已經幾百萬年沒寫過這個語言了,接著下來的一天裡,我花了一堆時間找有沒神人用c實作過graph,還真的有這種geek!!!只要在裡面多新增一個attribute長度的作為cost,也算是輕鬆搞定(若不用類似物件概念的話,手刻一個adjacency matrix,大小可是有10x10這麼多個elements要確認…林北沒時間)。演算法實作算是專長吧,看著wiki隨便亂刻都能跑,唯一比較麻煩的是 C 沒有什麼承載data的容器、linked list、stack都要自己刻一個,我終於回想起為什麼研究所之後再也沒碰過C了…,最後 C 的socket我也懶得搞懂了,直接找一個寫得還滿完整的網站,稍微改一下成最陽春的版本就交了(Github在此)。

夕陽

雖然這個期末作業的code request算是順利完成,但是不禁令我對自己的程式能力開始感到有點無力。近幾個禮拜來,公司午休時間就去Leetcode上面晃,但是用的總是自己熟悉的語言,工作也只接觸到Python,是不是該精通一下第二外語呢XD?讀了一下網頁開發語言,發現做網頁可是要學一大堆妖魔鬼怪,從最基本的三核心(HTML5、CSS3、JS),一直到更深入的動態網頁應用語言、框架,我真的要這樣一股腦的投注時間下去嗎?另外一個是我一直想要做的小project,就是關於語音訊號的處理,由於研究所時期修過影像處理相關的課程,對於訊號處理一直感到興趣,認為自己的學習背景有點不足,雖然大學時修過數位通訊但是早就忘光光了。接著還有想做小遊戲的project、想寫小說的計畫、社團要辦活動要準備的美工稿件,慢慢開始覺得自己的慾望在不斷的往上堆疊。雖然說有學習欲望是件好事,但是時間就這麼多,我有辦法把時間都安排在刀口上嗎?為了避免我稱之為「吟遊詩人效應」,樣樣通樣樣鬆,我打算先專精一項技能再逐步增加技能吧。Python先玩得更溜一點,畢竟這是工作會用到的,先把這本書玩到什麼問題都能搞定後,再慢慢考慮別的語言吧(預定先複習C++,這可是老本行!)。就像游泳一樣,我就只會蛙式,但是今年50公尺比賽竟然比去年快了10秒!(啊我去年真他媽的慢ㄝ…)如果我持之以恆的練習,明年快個十秒,兩年後快個20秒…我就成神了?

最近又收到台G的e-mail邀請面試,感覺應該是畢業季到了需要幾個面試者去送頭吧XD,依我這個標準送頭流的面試方法,應該也會凶多吉少吧?我總想看一下其他的公司,對於系統程式開發及管理是什麼樣的流程,但我內心有很迫切地想要其他工作嗎?其實當前的答案是否定的,因為我自認為我的能力可能不足,所以想好好在第一份工作學習技能。那為什麼還會接受面試邀請呢?其實我人力銀行早關閉了,台G是由內部人力找到的,所以我才覺得亂槍打鳥的機率滿大的,當作是見識一下HR資訊工程師在玩些什麼吧,到底是HR還是工程師還是根本就小丑?我們下回分曉。

留言