看板 SuperTree
作者 dick51207 (dick51207.bbs@ptt.cc)
標題 Re: [請益] 韌體工程師如何選擇方向?
時間 2018年02月28日 Wed. PM 11:54:22
※ 本文轉寄自 dick51207.bbs@ptt.cc
看板 Soft_Job
作者 Lixe (極光)
標題 Re: [請益] 韌體工程師如何選擇方向?
時間 Fri Mar 11 04:21:51 2016
※ 引述《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 年就退
休的人是鳳毛麟角。
--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 96.45.34.20
※ 文章代碼(AID): #1MuTTXKh (Soft_Job)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1457641313.A.52B.html
推 csfgsj: @lensuper 救星來了3F 03/11 09:22
推 doranako: 文中第2點是打好地基,我覺得最值得下苦工4F 03/11 09:59
→ csfgsj: 第2點非本科系比較欠缺,是比較吃力的部分
有的OS書還用JAVA寫,真是匪夷所思,這樣的書也在出5F 03/11 10:05
推 chuegou: 非本科,最大罩門在OS架構+17F 03/11 10:39
→ badyy: 原廠的sdk/bsp基本功能上都是好的!8F 03/11 11:33
推 amatt: 簡單幾點道出這行的血淚,光是加強C這點就是5年以上跑不掉,再加上kernel, 10年是基本,除非每年關war room.
打錯,是每天15F 03/11 19:11
→ lensuper: 養成時間長,薪水不會比純軟多,台灣除外。
練功不易,雜事繁多,薪水不高18F 03/11 19:14
→ king19880326: 那篇blog是因為他是做通訊的,通訊的phd工作機會很少。你去看他在Facebook做的是infra,ㄧ點也不應用X層好嗎==20F 03/11 23:51
→ lensuper: 通訊也只是一個EE的分支而已,通訊也是可以修IC設計
走網路通訊的也需要修資料結構,演算法的,跟CS一樣
我並不會覺得那位大大是因為做通訊的關係
而很難找程式的工作,主要是論文的內容
還有就是篇底層的軟體職缺本來就少少少25F 03/14 18:46
--