Android BSP RD新人的10個FAQ - 離職

Vanessa avatar
By Vanessa
at 2016-06-24T20:38

Table of Contents

沒圖只有上色純文字版網誌:
http://tinyurl.com/zodd2p4

突發奇想寫出來的一篇心得文...
希望是能幫助想去面試或著才剛剛進去公司的BSP RD新人

這3~4年來有寫了幾篇在板上
也有不少人寄信問我問題
所以整理了一下這樣的FAQ
期許能夠解掉一些人的疑惑
至少要知道自己是在什麼的

我的回答也許不是最準確,但也算是一種經驗之談
可以當作一個參考就好

共勉之囉!



以下為原文,不想點網誌的可直接看:
--------------------------
最近剛好是一個案子的尾聲...
突發奇想地,想整理一下之前因為發文章在ptt上而不少人寄信問我的一些問題

姑且就整理成10個FAQ吧~!
如果是已經準備要進去,或著是剛進去成為BSP RD的新人們
希望以下的這些問與答,能夠多少幫助你們~
現在就來看個問題大綱~

[1] 如果去BSP部門會不會有很大的門檻要克服?所需要的domain knowledge是什麼?
[2] BSP具體上到底是在做什麼?
[3] IC Design House薪水比較高,為何我要到薪水較低的系統廠?
[4] 所以說薪水大概是多少...?
[5] 大家都說BSP是打雜的,那我能夠學到什麼?
[6] 工時長不長啊?
[7] 被取代性高嗎?
[8] 有機會可以出差嗎?
[9] (離職)之後的發展性好不好?
[10] 我該保持的心態是什麼?

對了,BSP是"Board Support Package"的意思喔!
隨著時間越來越久,越能體會它字面上的意思了
就是能夠(suuport)讓某個機台(board)開機的一包(package)原始碼



想當然...
其實問題沒有多到有10個...
有些是我自己有感而發自問自答的XD
好拉,這不是重點,就來回答看看以下的問題吧!

[1] 如果去BSP部門會不會有很大的門檻要克服?所需要的domain knowledge是什麼?
這算是大家最常問的問題,大概要看甚麼書先惡補一下呢...之類的
在我身邊的同事們,大學研究所都是EE/CS背景
以程式語言來說,基本上只要會C我覺得應該就OK了
然後,如果能夠多了解一些作業系統(Operating System)的觀念,我覺得會有加分

另外如果對Linux跟git使用熟練的話,也是有加分,
但就算完全不會也可以進去再學,像我就是這樣XD

[2] BSP具體上到底是在做什麼?
一個產品,主要可以分作CPU以及各個componet這兩大部分

CPU廠商有像是美商Qualcomm,台灣的MTK,大陸的海思,韓國的三星...etc
各個componet,例如像是camera,display panel,touch panel, USB,wifi,audio..etc

每個componet又有多個廠商,例如display面板有台灣的友達,日本的JDI..etc

以上只是前言介紹..
簡單來說,BSP指的就是一包特定的程式碼,
而這包程式碼可以讓CPU廠商在搭配某個特定CPU的「公板」上開機。

那一般像是ASUS,HTC這樣的系統廠生產的手機或平板
即便用的是同一顆CPU型號(如Qualcomm的MSM8996)
其他的componet也一定會不一樣
像是camera如果公板用的是A廠商,公司產品用的是B廠商
那BSP RD做的工作之一,就是將差異性做個feature porting (移植)的動作
使得這樣的軟體改動,也讓B廠商的camera能夠在同一顆CPU上面使用。

剛有提到工作"之一",那是因為不只是做feature porting,能夠動就好了
之後還必須要兼顧到穩定性的問題...
所以常常做些壓力測試,逼出bug也是BSP RD常需要做的事情。

因此,在部門裡面,大部分都是by componet去分工作內容的
有的人負責camera
有的人負責display panel
也有的人負責eMMC

除了負責componet的人之外
以我的部門來說,還有另外一個team,叫做system team。
主要是負責開機相關(bootloader)、電源管理相關(power management)、安全性相關(security)這些比較難以用component來分的function

好吧,有點講太多了...XD
總之,一句話搞定的話就是:
"透過軟體上的改動,使得產品能夠正常且穩定的使用,而這樣的產品是跟公板有差異的。"
-->這就是BSP RD要做的事情

如果還是不太懂的話,可參考在下過去寫過的一篇文章:
http://donotfeelup.blogspot.tw/2013/04/a-good-choice-android-bsp-team.html


[3] IC Design House薪水比較高,為何我要到薪水較低的系統廠?
其實我自己本身也只待過系統廠..
目前的感覺是,兩者生態差蠻多的

直接講結論,目前覺得有趣的地方是:
在系統廠裡面是直接做出一個產品出來,例如像是手機或平板
是可以直接用的東西,有看到一個東西從無到有產生,然後賣到世界上各個人的手中,我覺得還蠻有成就感的...XD

系統廠之於IC廠的關係,就是客人之於老闆的關係。
一個好的老闆,通常應該要有好的售後服務。
而這樣的售後服務,就是IC廠RD在做的事情
系統廠產品有什麼bug無法解時,通常就會request IC廠幫忙看

當然IC廠不是只有在幫忙客戶解issue而已,也是還有自己研發產品的部分
但我只是說明,看到一個產品從無到有的產生,是自己願意待在系統廠的原因之一。

[4] 所以說薪水大概是多少...?
這大概是最多人關切的部分了...
在華碩,以台清交成碩士EE/CS畢業的人來說,新鮮人的話,只能說三年內年薪幾乎都會破百吧 只要表現正常的話
就這樣了 我不能再多說了XD

[5] 大家都說BSP是打雜的,那我能夠學到什麼?
一言以蔽之,我覺得是「整合」的能力。
BSP RD,是個蠻特殊的存在,上有APP軟體team,下有EE硬體team。
假設以camera這個function來說的話,可能有些訊號之類的,需要請EE幫忙量,硬體線路的部分也需要跟EE一起討論。
好了,現在相機能動了,上層APP team可能需要加一些feature,例如像是人臉辨識,微笑拍照,美肌等等的功能,也是需要跟BSP team一起cowork。

當然,真的有時候會覺得很雜很煩。
所以磨練自己的耐性,也算是連帶的一種成果吧..

最後,特別提一下關於coding的部分。
BSP首重改程式,幾乎不太原創寫程式 (coding控慎入..)
不過這樣不代表不常看程式,反之,當然必須先看懂別人寫的程式,才能夠改得動啊
所以培養出trace code的能力,也是BSP所必須具備的部分。

[6] 工時長不長啊?
我只能這樣說...
"Depending on what kind of function you will own"
以及各部門的風氣之類的 (雖然我個人不喜歡有所謂的"風氣",沒事了就閃才對啊。)

就跟公車每天有離峰跟尖峰時間一樣
一個產品的週期裡面,一定有比較忙的時候,跟比較不忙的時候
這些都是自己可以去拿捏的

一個原則就是,沒事的時候多去study,trace code
這樣有事的時候,處理事情起來就會比較快,工時自然就會短

不過有些時候真的還是會做不完,這樣的情況就另當別論了...
也許可以適時地跟leader反應,盡量不要忍氣吞聲。

[7] 被取代性高嗎?
不高,因為擁有這樣同時跟軟體還有硬體部門cowork的機會不是太多
所以有這樣實戰經驗的RD,我覺得是蠻可貴的。
必須要有自信

[8] 有機會可以出差嗎?
當然有,不過有不小的機會是往大陸工廠跑。
除非剛好有跟Google合作到,也許有機會可以到美國出差...
或著是說某個issue一定要你飛到國外跟當地的vendor cowork,也許也是個機會。

[9] (離職)之後的發展性好不好?
雖然我還沒離職..
但就身邊已離職的同事來說
有去其他家系統廠的(我有位學長的經歷是ASUS->HTC->Samsung...)
有去IC design house的 (我覺得這佔蠻多數的,畢竟BSP比較算是學廣,到了IC廠可以繼續選擇自己喜歡的領域學精)
更有去Google的 (我的強者前輩同事...)

這部分我覺得修行在個人,凡走過必留下痕跡,經驗的累積真的會影響到未來!!

[10] 我該保持的心態是什麼?
這條是我額外加的,也是最想特別提的部分..

有兩句話分別從兩位不同的前輩口中說出:
"正面思考,不要常抱怨"
"勇敢去面對問題,即使逃避了,issue還是在那邊,依舊解決不了"

這兩句話,其實蠻有連帶關係的
我遇過一些人,可能會比較負面思考,然後常抱怨,所以遇到問題只要解不了,有時候常常就逃避了

其實你不會是只有一個人
遇到問題時,應該會有人可以一起討論
(當然不是指完全的伸手牌,自己必須先去試著理解問題)
重點其實就是要讓自己保持著有"next action"的決心以及狀態
不然問題停在那裡,它不會乖乖變成解答給你看啊

所以,我覺得如果要做的長久的話 (也許不僅僅限於BSP RD..)
至少要保持樂觀,正面積極的態度
培養良好的人際關係(這樣跟大家討論也比較有動力吧..!?)
給自己去追問題的動力,而不是常常處於被動的那一方

最後,呼籲新人們要以早下班為目標
不是說只有早下班,而工作就擺爛了。
而是早點把事情做完,沒事的話就早點走
這樣也是對地球環境的一種維護 (一直開空調很不環保阿...)

裝忙是現在科技業很可憐的一種現象
只有你我他互相提醒,實際去執行沒事就早下班的行動,才能改善外界對於科技業"很忙"的刻板印象!


以上,就是我給新人的一些建議,也是常見問題之中,以在下的角度之下的一些解答...
希望能對讀者有幫助到!

--

All Comments

Sandy avatar
By Sandy
at 2016-06-25T17:16
感謝您的分享
Sarah avatar
By Sarah
at 2016-06-26T15:51
我好像認識你
James avatar
By James
at 2016-06-28T02:34
感謝分享
Charlotte avatar
By Charlotte
at 2016-06-28T07:20
Zora avatar
By Zora
at 2016-06-30T09:38
很棒的資訊 感謝
Charlie avatar
By Charlie
at 2016-07-02T17:24
感謝分享,我也是看過您的文章決定捨IC廠去系統廠
Eartha avatar
By Eartha
at 2016-07-03T13:45
不coding的porting聽起來好像哪裡怪怪的
Steve avatar
By Steve
at 2016-07-05T01:55
感謝你的分享~幾年前剛進出社會就看過你文章 受益良多
Olga avatar
By Olga
at 2016-07-09T00:34
寫的不錯 幫你推個
Connor avatar
By Connor
at 2016-07-12T18:48
不是不coding,是相較於純軟寫程式的量少很多,大部分都是在
trace code,找方式debug,其實有能力的話也可以在code裡面
Lily avatar
By Lily
at 2016-07-14T13:45
寫一些能夠輔助你debug的機制,無論是kernel或user space
Suhail Hany avatar
By Suhail Hany
at 2016-07-17T08:53
OS的觀念很重要,尤其是你還必須面對system memory的使用
Cara avatar
By Cara
at 2016-07-21T15:55
Google算簡單,簡單的說確實是如此
Kristin avatar
By Kristin
at 2016-07-22T09:20
過來人 推一個
Mary avatar
By Mary
at 2016-07-24T02:18
所以其實是在debugging的意思?!
Lucy avatar
By Lucy
at 2016-07-28T06:46
不忍噓,但是看起來還是覺得IC廠的SA比較有技術..
Oscar avatar
By Oscar
at 2016-07-31T20:39
你們需要看framework嗎?
Ida avatar
By Ida
at 2016-08-03T16:15
那客人自已兜壞了可以不要叫老闆看嗎...XD
George avatar
By George
at 2016-08-04T07:54
玩的很淺,去linuxdev版看一下深入一點
Oscar avatar
By Oscar
at 2016-08-08T17:27
不是說深就好,能走的路上不一樣,走錯會很苦
Linda avatar
By Linda
at 2016-08-11T10:16
porting還是以改code居多,不太會是整個重寫
George avatar
By George
at 2016-08-11T17:52
不覺得linuxdev有多高深阿XD 平常都會接觸到的東西
Carolina Franco avatar
By Carolina Franco
at 2016-08-13T03:39
但說實話,系統廠雜事不是普通多,尤其菜鳥打雜更多
想要專精一項技能建議還是往design house走吧
Bennie avatar
By Bennie
at 2016-08-15T10:19
小銘哥~
Carol avatar
By Carol
at 2016-08-19T00:03
大推!! 願意分享就是一百分~~
Genevieve avatar
By Genevieve
at 2016-08-23T12:27
要專精一項技能要往design house? 不同意
Anonymous avatar
By Anonymous
at 2016-08-24T17:52
Daniel avatar
By Daniel
at 2016-08-27T19:38
Catherine avatar
By Catherine
at 2016-08-29T00:14
推!!!
Elma avatar
By Elma
at 2016-08-30T19:06
應該說在design house有IP designer可以問XD
Emma avatar
By Emma
at 2016-09-04T09:53
有些限制連designer自己都忘記有這回事,沒他去review
FW解再久也解不出來
Noah avatar
By Noah
at 2016-09-07T17:00
寫的不錯,但待系統廠CP值真的每況愈下
Gilbert avatar
By Gilbert
at 2016-09-11T13:43
我也是系統RD,7我覺得取代性不低就是。大廠裡的只能精一
項,但也沒辦法多深入,不過可以看到大軟體的架構,這點
是比較好的,真的要比較全面性的要去新創系統,或是想深
入的,還是要去當豬屎屋的SW
5年系統,小小心得
Catherine avatar
By Catherine
at 2016-09-14T07:01
Blanche avatar
By Blanche
at 2016-09-16T04:09
好文 謝謝分享
Hedda avatar
By Hedda
at 2016-09-20T15:51
Isabella avatar
By Isabella
at 2016-09-21T14:56
在debugging基礎上談取代性 XD
James avatar
By James
at 2016-09-26T00:22
現在的design house幾乎都做好Turnkey了,系統廠需要改的東西
Daniel avatar
By Daniel
at 2016-09-28T13:27
越來越少了, 甚至很多bug是直接叫原廠解決(單子夠大的話)
Franklin avatar
By Franklin
at 2016-09-30T05:06
系統廠的RD要跳去design house最容易的管道是跳去FAE or AE
Callum avatar
By Callum
at 2016-10-04T09:48
想跳去design house SW RD,請趁年資還淺的時候(<3年)
Oscar avatar
By Oscar
at 2016-10-04T12:37
因為超過3年以上, 其他Design house SW RD的資歷輕鬆贏過
你在系統廠的資歷..
Daph Bay avatar
By Daph Bay
at 2016-10-08T02:59
另外不要再有Design house RD只專精某一塊這種迷思了.
Noah avatar
By Noah
at 2016-10-09T00:47
Design house幾乎都最成trunkey了,裡面有點實力的SW RD,
Michael avatar
By Michael
at 2016-10-12T09:14
從最底層的Rom code到最上層的應用程式都有一定的涉獵
Dorothy avatar
By Dorothy
at 2016-10-14T03:57
以上是在Design house SW混了10年的心得
Michael avatar
By Michael
at 2016-10-15T05:11
PS:賺錢的系統廠比不賺錢的design house薪水來的高.
Charlotte avatar
By Charlotte
at 2016-10-19T10:54
我覺得豬屎屋SW的優點在於有設計HW的人可以直接cowork,
其他不予置評
Skylar DavisLinda avatar
By Skylar DavisLinda
at 2016-10-23T05:08
BSP大概就相當於BIOS做的事相似
Lauren avatar
By Lauren
at 2016-10-27T03:23
系統廠就是吵架吵架再吵架 最後還是自己把屎吃下去XD
Joseph avatar
By Joseph
at 2016-10-31T22:17
Adele avatar
By Adele
at 2016-11-01T06:35
推內文, 要跳豬屎SW的要趁早
Annie avatar
By Annie
at 2016-11-05T05:43
受益良多
Connor avatar
By Connor
at 2016-11-09T14:32
我自己是從系統廠做BSP跳到別的領域,如i386說的,turnkey
Connor avatar
By Connor
at 2016-11-11T22:40
太完整,讓我覺得自己的能力成長有限
Damian avatar
By Damian
at 2016-11-14T18:39
推這篇 & i386大大!
Queena avatar
By Queena
at 2016-11-18T12:45
推學長
Megan avatar
By Megan
at 2016-11-19T00:36
design house 有些ip是買的 改起來也是黑盒子一個
Skylar DavisLinda avatar
By Skylar DavisLinda
at 2016-11-23T04:36
以前bsp都是從無到有,現在原廠包好然後porting改code,
調效能debug
Regina avatar
By Regina
at 2016-11-26T13:26
BSP工作生態幾乎跟BIOS一樣! 新人進來要想好
Dorothy avatar
By Dorothy
at 2016-12-01T08:49
同推,大部分BSP已經變成另外一個BIOS
Irma avatar
By Irma
at 2016-12-06T05:38
華碩算改得大的,其實還是學得到東西
Elizabeth avatar
By Elizabeth
at 2016-12-08T20:33
BSP跟BIOS一樣雜,但還是有差~有經驗的ODM OEM BIOS RD一
個人就可以扛一個案子,BSP分工很細,至少不同function 是
不同人負責,所以BIOS更賽,因為什麼奇怪跟sw有關的問題都
需要處理
Hedy avatar
By Hedy
at 2016-12-10T13:48
不過如果是小公司bsp就不一定,人少事情就更雜,就更沒時間
專注在該domain深入的地方
Lucy avatar
By Lucy
at 2016-12-11T20:22
然後就是BIOS是封閉的系統,要大改幾乎更沒機會,其實也比
較無趣
Agatha avatar
By Agatha
at 2016-12-15T00:33
Android Linux kernel都是只要有心有能力都可以大改,可以
找到的資源也多
Enid avatar
By Enid
at 2016-12-18T10:05
以上是兩個領域都各待快四年以上的心得
Iris avatar
By Iris
at 2016-12-18T23:27
做了兩個月 看了這篇才恍然大悟XDDD 推
Skylar Davis avatar
By Skylar Davis
at 2016-12-19T01:07
有分享有推
Gilbert avatar
By Gilbert
at 2016-12-23T21:29
bsp工作很少耶,外商幾乎沒有這種工作,你確定很好?

台光電近況

Edward Lewis avatar
By Edward Lewis
at 2016-06-24T18:50
各位版上前輩好 小弟最近收到台光電子的面試邀請,想請問公司近況如何呢? 先謝謝了! ----- Sent from JPTT on my LGE LG-D855. --

這薪水合理嗎?IT support

Eartha avatar
By Eartha
at 2016-06-24T17:32
某人力公司,派到某知名外商的it,再外派到各公司去 工作內容:原則上和一般it差不了多少 處理各種類型電腦問題,或是相關問題 檢查機房狀況,� ...

影像offer請益

Kama avatar
By Kama
at 2016-06-24T17:28
小弟是剛畢業新人,想詢問這兩家公司選擇! 公司 建騰創達 由田 職稱 影像分析韌體工程師 影像處理演算法工程師 工作 ...

請問PMP專案管理經驗稽核時間點?

Una avatar
By Una
at 2016-06-24T14:38
※ 引述《ericlay (Eric (土巴樂))》之銘言: : 各位 PMP 先進: : 最近有打算去補習班上 PMP 課程與報名考證,專案管理經驗已超過三年,但這陣子約一個月� ...

台灣EE CS最頂尖的人去處

Queena avatar
By Queena
at 2016-06-24T14:35
※ 引述《irishcafee (愛爾蘭咖啡)》之銘言: : 我還蠻不同意你的看法,你大概沒看過真強者吧。 可能我朋友都很廢 除了不少托福破110被老闆天天幹英文 ...