服役心得

在成功嶺的4周
這三年來, 過得最健康的日子, 應該就是在成功嶺新訓的那四周了. 有一群哥們每天起床一起運動一起吃飯, 生活雖說乏味, 但也挺輕鬆簡單, 至少了無煩惱. 而這輩子, 也很難有這樣的機會去過群體生活了, 因此也滿令我懷念那段時光的.

初入業界前三個月
在學校的時候, 常常會有些獨特的理想, 想改變現實某些情境的不完美.  到了業界, 人人看你是剛飛入籠子的一隻菜鳥, 便不會給你太多機會讓你自由發揮. 我後來發現, 這的確是公司裡的常態, 在一個人還沒建立基本的可信度和證明自己的基本能力之前, 是絕對很難接到高級的任務的, 更別談自己在工作上想實現的理想了. 而進公司的前三個月, 是試用期, 換句話說, 證明自己基本的信用和能力也大概只有三個月的時間. 對我而言, 這三個月是很重要的, 如果沒有花心思去在這三個月內表現, 接下來也很難讓人相信在後面的幾個月你會有多大的進步, 這是態度問題, 也是自我要求問題. 自己找機會表現, 自己把上司交付當作練習的任務當作高級任務來解, 如此會讓自己進步神速.

服役點滴
依稀記得有一次跟主管吵了起來:
我說: 我是來公司學習東西
主管說: 你是來賺錢的
當主管回了我這句, 我就默默不語了. 的確, 我是來賺錢的. 常常會有一種狀況發生, 那就是公司給定完成任務的時間很短, 而在這短時間內, 自己必須把解這任務的所有知識學習起來, 當然解任務的時間, 是絕對不包含學習的時間的. 於是, 有種慘劇常常會發生: 在似懂非懂的狀況下去達成任務, 也就是業界常說的, 東西可以動就好. 一份code, 如果很多人一起寫, 而且很多人用這種心態在寫, 那麼那頂多是一份可以賣錢的垃圾. 後來我也發現, 很多同事加班的原因, 常常是因為很難在一份紊亂的程式碼裡, 尋找出問題的核心. 於是就花很多冤枉的時間在解BUG. 當然, 解BUG勢必又會東加加西湊湊幾行程式碼, 最後整份程式碼愈來愈亂, 對往後的維護會增加更多難度. 很慶幸地, 我也經歷過以上的慘劇.

對我而言, 在工作上理想, 是把自己的想法與經驗還有處事的態度, 套在程式碼裡去解決問題, 或是達成任務所期望的目標. 但是, 手上拿的code是那麼地不堪入目, 歷史的包袱處處埋伏在code裡(這應是東湊湊西湊湊讓code能動所造成的). 於是, 翻新整份code的動作, 是必須要做的. 我深信那些歷史的包袱, 東湊西湊的程式碼, 絕對會造成心理上的阻礙, 對於完成任務的效率絕對會有影響. 更別說要自由apply自己的想法到code裡了.

進了公司後,除了把相關知識搞懂, 也把歷年來部門研發的code仔細trace了一遍. 接下來的日子, 斷斷續續地, 私底下常常不斷地翻新重修code裡我看不順眼的地方, 儘管最後整修完的code沒有release出去. 就這樣一點一滴地就這樣慢慢地整理起來. 翻修過的code, 必定比較好掌握(因為是自己寫的), 而可以翻修過去的code, 也表示自己對code有完全理解.

抱持著重新打造的精神, 直到可以比較容易地自由加入自己的想法(或說是演算法)到改造完的code裡. 這樣子工作的performance就會出來. 在第一年裡, 我完全沒有參與量產計畫. 直到第二年開始, 那些改造過後的code終於開始被量產, 也比較可以常常接到正規的高級任務. 因為一個任務很快就完成了, 就可以接下個任務, 當接任務的速度變快了(解決問題的效率提高, 主管對自己的信賴度也會提高), 接到高級任務的機率也會相對變大.

在公司裡, 腳踏實地去把該做好的東西完成, 當然地, 要用自己的想法完成, 不要盲目全然聽信別人的意見, 要有自己判斷的能力和信心. 當看到自己完成的作品被賣到使用者手上時, 其實這應也算是盡了自己微薄的一份力量來造福人群, 比起獎金的多寡而言, 成就感所帶來的喜悅是比較具體飽和的.

研發役期是我人生的其中一個關卡, 也抱持著感恩的心情順利過關.

繼續挑戰人生遊戲的下一關卡囉!

Search BUGS

通常找bug不大會用sequential search, 因為太慢了, 但是在有生之年一定可以找到, 但是上司或是測試部不大可能等這麼久. 因此自己都用local search的方式去找, 但是也有一些情形會讓自己卡在local optimization的點, 而那個點確又不是bug所在的地方. 於是要跳脫這種情形, 就得徹底的換掉思維, 重新再從一個新的點再做local search.

而決定跳脫local optimization的決策, 是取決於自己陷入local optimization的時間.
也就是這個時間大於一定的值, 就得換新想法了.

但是大部分自己遇到的情形, local optimization就也已經是global optimization, 也就是bug所在的位置.

假期

特休:43 小時
調修:1小時

大約還有5天多的時間可以放假, 但是卻不敢請, 這就是小工程師的命運…

BUG總是在緊要關頭時一個接著一個冒出來, 非緊要關頭都測不出來…
一直不了解這個邏輯…

 

年底

今年算是完全走量產路線, 從4月初不斷地CODING到現在, 每件作品都有導入量產, 也算是頗有成就的一年. 接著新的挑戰, 在研發役的最後一年裡, USB3.0是我最後要畢業的關卡, 希望能順利撐過, 寫出優雅/準確/強韌的F/W.

明天要回家, 也算是第一次回新家.

Beyond Imagination

最近遇到的問題, 都不是用感覺就感覺得出來的. 已經超越想像之外了, 在這種case之下, 只能用猜的. Controller, Firmware, Flash, 哪個出錯? 很難釐清, 只能從最大的地方往下猜下去, 直到猜對為止問題不再出現!

GAME

身為一個電玩迷, 終於有了一點點對電玩界的貢獻, 自己改的F/W即將在XBOX新機上量產. 話說第一次接觸XBOX並不是玩GAME而是用GAME來測試F/W的R/W 效能…..而那台迷之XBOX未上市的主機依然還在那間小小辦公室的小小角落裡.

而XBOX遊戲LOADING的時間有時會很長的秘密…..
就讓它永遠是個祕密吧.