這是繼
電子自學學習心得回憶(一) 之後的第二篇:
這些過程都只是信手拈來,各位看官就不用再在乎細節了, 因為畢竟我所走過的過程,
所牽涉的當時時空環境與時機點的問題,都不可能拿今日產業現況同日而語的。
但是每一個階段所走的路與自己的決定卻又往往會在幾年後才會凸顯其意義的。
就簡單來說:當初我們單位一樣有四位台清交成的國防役...只有我一開始就設定走
電子技術領域,而其他的就還是專注在其他原來領域,結果,那幾年園區人才恐缺,
結果,最終大家鳥獸散之後,大家還是慢慢的走到電子公司這一方面,
只是大家一開始不同,同樣到高科技電子公司所從事的工作內容就完全不同了。
可能只是機構設計啊,或是一些比較偏機械的封裝測試領域...沒有人說哪一種比較好?!
就看每一個人對於自己的要求或想過的日子而定吧。...但是,有一點很重要的:
一開始目標要很明確,不要三心兩意的,因為畢竟在台灣一般公司上班,那怕是重視人才
的高科技業...大部分都不太會重視在職訓練的,所以大家不要以為:等我進了公司,
憑我台清交優異的本質學能,我一定可以學得比人家快...我說了:台灣公司是不會讓
您有太多從工作中學習的!...尤其譬如說:您要在封裝廠裡想學一些電子電路設計,
那是完全緣木求魚的,就像我這幾年看了許多公司與大老闆,都信誓旦旦的想做什麼?!
結果:您想做的?!公司沒這個人才,想挖角?您又沒多少事可以讓他發揮。
舉個例子說:您說:在一般汽機車廠裡,您說這麼大的公司養幾個電子工程師,
難不難?!財務上絕對不是問題,但是您在這種公司寫單晶片微處理器的程式,
您說您一年可以做幾套?!...願意去的未必是資深專業的?!~想學的,去跟誰學?!
很多東西大家看似平凡的東西,對於一些不是這個領域的人,就是難啊。
所以啦,下回萬一有公司突然很欣賞您的專業,然後您又覺得這個東西這麼簡單,
為什麼人家這麼大公司會搞不出來時,您就不要傻傻的跑去上班...結果,您會發現:
原來全公司只有您懂...您就是孤鳥一隻...因為您也不是第一個以這種方式來上班的人啊。
但話又說回來,如果您去那一種人才濟濟的公司...也不要太高興,因為那一種上市櫃公司,
大家都說一樣的技術語言,但是很不幸的是:樹大有枯枝,人多有白癡...道理都是一樣的啦。
-------
話說大家國防役畢之後,其實以學做汽機車引擎電子控制系統出身的我來說:
應該有不錯的特殊專業領域,但很不幸的就如同我前言所說的:當您只有一個人會,
這沒有什麼好高興的,因為您就是孤鳥一隻...也沒啥好發揮的~代表這個產業不需您。
應該說:根本沒有這個產業會養您的!...
所以啦,當初我知道:這個東西不能當飯吃,人還是要學會一點現實問題,
雖然當時透過別人引薦想找我去益通吳董事長那邊上班,我還是婉謝了,因為我可以
看出那一種全公司就您一個人要擠出東西的窘境...您也不要以為當您在那個位置,
您就可以呼風喚雨的找一些人來聽候差遣的,因為很簡單:您不是真正有錢的老闆。
所以我就決定去園區再歷練一番...其實,回首這個過程我是覺得蠻慶幸的。
因為我有汽機車那一種特殊的系統觀念,再到台灣電子產業所擅長的實務殺價經驗,
到現在有許多相關技術領域的東西,我都可以從多方面去考量。
所以,人家才會尊稱我一下:技術長啊!..
...
...
...
當初園區IC 設計業剛啟蒙,到處求才若渴...我當然就選了一家離家近一點小公司,
我進去時,工號才前十個...我說了:不能拿今天的現況同日而語。
是不是錢多、事少、離家近?沒有,只有離家近而已,一開始的薪水比我國防役的
薪水還低!
離家近的好處是:中午可以回家吃飯,因為我岳母幫我帶小孩,還可以逗一下小孩!
公司就是做掃描器的SOC...用的是8051 MCU ,但是因為是拿別人的IP ,所以,
那一些開發平台介面都不成熟,所以也只能用組合語言慢慢孵...這一點剛好讓我更扎根了。
不過,此時工作有一項最大受益處:就是USB 介面剛出來...剛好當第一波的系統開發者。
其實,當初公司有兩條產品線:數位相機與掃描器。掃描器算是比較弱勢產品線...
所以我們這一條產品線的人員擴充與市場需求都是比較辛苦的~但也是如此,
也讓我們有更多的以比較少人去做比較多的系統整合工作,這一點真的有很好的成長機會。
----
其實,在一般大公司,搞IC 驗證工作與幫客人導入量產的AE 工程師,是有兩組人馬,
但小公司就有可能球員兼裁判一起搞...這一個過程比較值得提出來讓大家可以有交流的機會:
當我們小貓兩三隻把IC 大部分驗證工作做完之後,就移交給配合業務部門的AE 單位接手,
結果,幾個客人案子下來,把整個AE 部門搞得兵荒馬亂的...因為所謂的SOC就是要把客人
的需求都要做到一定的系統成熟度,客人才有機會放量生產的...但是,客人總覺得我們AE
所提供的韌體程式一直不穩...在生產線上反覆幾次之後,公司高層有點受不了了。
就又抓我們幾個資深的下去搞一套標準Code...記得喔,小公司可不比大公司,手上有好幾個
衣食父母產品線,...可以讓您慢慢的搞,反正有別的產品線養著您啊。
這下好了...這個使命就交到我手上的,其實,時機點有點火燒屁股的緊急了,但我主管
深知我寫韌體程式的風格,他對上層只有一個要求:就是讓我專心寫Code ,不得有雜事。
您老兄我,一接到任務,也沒多說什麼,就把我在汽機車引擎控制訓練那一套拿出來,
開始整理系統,規劃系統架構,把整個數學系統推演一番:如下圖所示:
(這是我一系列當時的工程記事簿,您們會動手寫這一本嗎?!)
我把常用的系統數據把他在數學上無因次化,轉到8 bit 系統上!
所以大家可以看到右邊那一頁,看到的都是0 ~256 的 8 bits 系統,
甚至有些數據就只成了 1, 2,4,8,16 ....等等,這一種2 的冪次方的!
---
除了數學系統上的考量之外,還得考慮一下系統的時序上的時間軸工作分配:
(下圖)
然後再整理整個數學系統搭配的程式參數定義...Review 一下哪一些系統情況沒有考慮到的?!
(下圖)
然後就可以慢慢的整理出大致上的韌體程式的流程圖了(下圖)
當然啊...以上這幾張圖都是我簡單擷取幾頁的,我光推演這整個系統的工程記事簿,
就整整寫了半本,然後也花了近三個月整理與推演,當然還有上機做一些實驗...
但是對公司主管來說:幾乎都沒看到我的具體進度...業務天天被客人叫去喝咖啡。
但這一點完全是我的主管對我的信任。
(您一定很好奇的問說:為何要這麼麻煩呢?!因為很簡單,程式容量只有8 KBytes,
然後USB的程式就佔掉 2K Bytes 多了...您只有6 Kbytes不到的程式容量要拿來寫
步進馬達加減速,還要顧到掃描器的所有基本功能需求,還要考慮不同機種的差異化
...您說:能不先整理嗎?!拿 64KBytes 來寫,您的單價賣給誰啊?!)
然後當我整理完這一些數據之後,我就全心上機撰寫韌體。
前後大概花不到一個月,就有很明顯的成果產出,然後,開始移植到客人手上的機種測試!
又用了不到兩個月,我們就全面抽換所有機種的核心韌體程式...除了一兩個小Bug 之外,
寫程式沒有BUG是騙人的啦...,只是您能不能很快的找到BUG而已?
就幾乎全線完成韌體程式更新,然後就一路順遂的出貨了,我連工廠也沒去一次。
這些產品還包括台灣幫美國Lexmark 代工的機種與後來還有名的那一個名X王掃瞄機,
都是用這一隻韌體程式...也剛好是一代拳王的唯一一隻量產核心韌體程式,
後來公司就賣給人家了。人家公司接手後,也沒投什麼AE 人員,就一路出貨收錢,
連後來我換做MP3 晶片一代產品之後,聽說這一個產品線一年還可以貢獻幾千萬的營業額,
這中間已經過了五、六年了...我都已經離職,忘了這一件事了...後來還是因為VISTA問題,
人家客人私底下才又找到我出面解決:
USB 相容性問題(VISTA)
USB 相容性問題(VISTA) -- Part (II)
USB 相容性問題(VISTA) -- 完結篇
結果,解完這個USB VISTA問題後,人家公司還是照樣出貨、收錢啊。
所以,我才說:您幹工程師一輩子,您能遇上多少這種事啊?!
不過,我八卦一下好了,當我們完成這一件事之後,我的主管也因此下台一鞠躬了,
是不是我的原因就不得而知了...所以,天底下還有什麼不可能的事呢?!
官場做官跟做技術寫韌體程式是不一樣的啦。
-----
之所以寫這一篇心得的原因是說:固然寫引擎控制程式好玩,也有其專業領域的Know-How,
但是產業用不到,您就沒有什麼機會可以Gain 到產品量產的喜悅,但是話又說回來,
又如果您沒有很嚴謹的工程經驗訓練的話,那您又能如何很快的建立您工程專業素養呢?!
所以我才說:天下沒有白吃的午餐,也不會虧待任何一個曾經投入努力的人。
但是很重要的一點是:您一定要懂得在這個訓練過程與歷練中,您想獲得到什麼?
您又可以從得到的經驗與法則中,該如何變化的去應用到另一個產品領域裡呢?!
工作絕對不是簡簡單單的一件準時上下班的時而已,他對您我做工程的人來說:
有著另一種不同的註解。您說:是不是?!
----
其他相關文章:
還有 PCB Layout :
但學這麼多,重點還是在於心態與基本功啊。
以下這篇文章有改寫並轉載於新竹實驗中學科學班畢業班的文刊中:
個人覺得這些基本觀念才是重點: