Re: [請益] 韌體工程師如何選擇方向?

作者: Lixe (極光)   2016-03-11 04:21:51
※ 引述《classic500ml (TB)》之銘言:
: 大家好
: 小弟最近想換工作,不過實在不清楚大環境方向,
: 想尋求各位前輩指點迷津!!先謝謝大家了orz!!
: 我的背景:
: 國立科大,電子電機相關科系畢業(不是資工)。
: 退伍後擔任軟體工程師三年多(沒換過工作),
: 專長C/C++,全部靠估狗,邊上班邊學,三年做了好幾個嵌入式系統案子。
: 公司是消費性電子產業,所以產品都是要透過GUI才能讓user使用。
: 工作分配是我跟一家外包兩個人寫,各忙各案子這樣,
: 簡單來說:
: 外包的案子,外包全部自己搞定。
: 我的案子,只有GUI我能自己搞定,其他像是 linux porting, driver, firmware等等,
: 都要靠外包商搞定。
: 我在這些非GUI部分中,對於"原理、基本概念、大方向"大致也都了解,但是都沒有實際
: 做過。
: =================================
: 寫了三年多GUI,覺得在這樣下去不行了,
: 所以想轉換方向,目前是想找韌體工程師,
: 但是打開104真的是眼花撩亂,
: 想請問:
: 1. 假設我以"外包商的能力"當目標,我該找什麼樣的 "產業or工作內容" 呢?
: P.S.
: 至少我目前覺得外包商能力很強,
: 從linux移植到arm上,到driver,firmware,GUI等等,
: 都可以一條龍全部搞定,
: 公司專案內容也可以說包山包海吧,
: 就我目前有經歷過的就有:
: USB storage、SD、LCD、touch panel、WIFI、ethernet等等,
: 以上也是外包一個人搞定。
: 2. 或者是說我應該只朝一個方向做深入發展呢?
: 看了104職位名稱:
: EX: 影像處理IC韌體設計工程師、藍芽韌體設計工程師、Nand Flash韌體設計,等等一堆
: 。
: 每個都是很專業領域,很擔心產業選下去,路越來越窄...
: 抱歉文長,然後再次謝謝大家!!
小弟是人在美國系統廠工作的韌體工程師,想分享一些經驗。
我個人認為做韌體主要三個能力:
1. C 語言。
語法或指標只是基本,給你一包 open source 你要能在短時間看懂
且進一步修改。進一步開發環境、toolchain、gdb、make 都是基
本功。
2. OS / architecture
對 OS 的觀念掌握度高嗎?paging、virtual memory、file system
等都會用到。常見的狀況是給你一個破破的文件要你寫個 driver,
找 ODM 沒用因為他們也不會,找原廠沒用因為沒給錢 XD。
ARM 的架構也要熟。kernel 出現 stack dump 如何去找到兇手等。
各種稀奇古怪的 bug 到底跟硬體有關或無關也要靠你釐清,還是有人
code 亂寫導致同步爛掉,各種狀況考驗你的基本功力。
3. 耐心與學習
在沒足夠的文件下要讓 HW 動起來,try & error 少不了。issue 太廣
,只要是底層都你的,自然必須一直學習。
做 porting 只是韌體工程師的一部分,更進一步是對 Linux kernel 與對
系統的掌握度。東西太多都是遇到 issue 以後邊學邊解。但只要基本功紮實
基本上都能學的起來也能做的出來。
因此個人建議將基礎功打好,從 C 的指標,簡單的 device 與 kernel
module 開始。良好的觀念可以讓你面對複雜的問題時有個頭緒。公司也要
慎選,儘量找老闆會認真面對 issue 並想解決的地方工作。小弟在台工作時,
共事過的ODM 韌體工程師,強的不是沒有,只是非常的少,擺爛的居多,還有
擺老的。畢竟對這些公司而言,賣的是硬體,軟體只是驗證硬體用的,
在這種地方公司自然不重視軟體,也學不到東西。
而美國的就業市場,小弟的觀察是韌體工程師相對藍海,大概太黑手想做的
人不多,機會也多。mobile app 或 front end 等反而競爭激烈。另外高薪
伴隨著高稅與其他狀況,這就是別的故事了,但可以確的定是做 10 年就退
休的人是鳳毛麟角。
作者: essay1029 (610)   2016-03-11 06:25:00
謝謝分享!!!!!
作者: bab7171   2016-03-11 06:53:00
感謝
作者: csfgsj (切割對半)   2016-03-11 09:22:00
@lensuper 救星來了
作者: doranako (真愛無限)   2016-03-11 09:59:00
文中第2點是打好地基,我覺得最值得下苦工
作者: csfgsj (切割對半)   2016-03-11 10:05:00
第2點非本科系比較欠缺,是比較吃力的部分有的OS書還用JAVA寫,真是匪夷所思,這樣的書也在出
作者: chuegou (chuegou)   2016-03-11 10:39:00
非本科,最大罩門在OS架構+1
作者: badyy (nick)   2016-03-11 11:33:00
原廠的sdk/bsp基本功能上都是好的!
作者: littlebau (小寶)   2016-03-11 12:07:00
謝謝分享
作者: lensuper (莫三)   2016-03-11 19:04:00
我查過linkedin,美國純軟職缺比韌體多很多很多很多很多有看到一篇文章,最後也是放棄了韌體與IC設計,改走應用層,參考: http://pinky-monkey.blogspot.tw/2009/04/fahttp://pinky-monkey.blogspot.tw/2009/04/facebook.html, 最後是html,連結太長了。
作者: amatt   2016-03-11 19:11:00
簡單幾點道出這行的血淚,光是加強C這點就是5年以上跑不掉,再加上kernel, 10年是基本,除非每年關war room.打錯,是每天
作者: lensuper (莫三)   2016-03-11 19:14:00
養成時間長,薪水不會比純軟多,台灣除外。練功不易,雜事繁多,薪水不高
作者: king19880326 (OK的啦~我都可以接受)   2016-03-11 23:51:00
那篇blog是因為他是做通訊的,通訊的phd工作機會很少。你去看他在Facebook做的是infra,ㄧ點也不應用X層好嗎==
作者: classic500ml (TB)   2016-03-12 18:24:00
三樓XD
作者: jimmytzeng (jimmytseng)   2016-03-12 20:15:00
推~
作者: lensuper (莫三)   2016-03-14 18:46:00
通訊也只是一個EE的分支而已,通訊也是可以修IC設計走網路通訊的也需要修資料結構,演算法的,跟CS一樣我並不會覺得那位大大是因為做通訊的關係而很難找程式的工作,主要是論文的內容還有就是篇底層的軟體職缺本來就少少少

Links booklink

Contact Us: admin [ a t ] ucptt.com