2014年7月9日 星期三

從一個產品開發過程角度看待行動通訊系統廠各個職務內容

也不知道為什麼地,想整理一下工作目前為止,
所遇到的各個職缺,他們具體上是在做些什麼。

更重要的,想要分享一下,以一個軟體BSP RD的視角,
以及透過一個產品從無到有的開發過程,了解到我們每個人所扮演的角色為何。

以下會有兩個部分:
(一)角色介紹
(二)產品開發情境

請大家看下去吧...



(一)角色介紹
以下介紹我平常主要接觸到的人們有誰...

硬體工程師們:
*EE
俗稱的Electrical Engineering RD
主要工作是設計電路圖,銲接電路板,為HW的命脈...
有任何硬體上的問題,我第一個會找的對象...
加班率極高...
[出差機率:高]

*RF
Radio Frequency工程師
跟EE做區別的話,其主要工作內容,
就是負責跟通訊相關的component。
例如像是WiFi,藍牙,NFC...等等
都是他們所負責的
[出差機率:高]

*ME
Mechanical Engineer,也就是所謂的機構工程師。
一個產品的外觀設計,跟他們有很大的關係。
例如像是要有多薄多厚,USB要在哪個位置...
都需要仰賴ME的設計
[出差機率:高]


軟體工程師們:
*BSP RD
BSP是Board Support Package的縮寫,
具體上在幹嘛,可以參考在下之前寫的介紹:
A good choice - Android BSP team

對一個產品前期的開發,工作最為吃重的軟體工程師。
[出差機率:中]

*APP Framework RD
顧名思義,主要是focus在APP開發設計,Android UI設計的軟體工程師。
產品中後期開發,工作會較為吃重。
不過相對於BSP RD,至少開發出來的東西比較能夠用“肉眼”看到,也許較為有趣...!!?
[出差機率:低]

*PROTOCOL RD
也是俗稱的modem team。
如果    EE之於BSP RD,
就好像RF之於Protocol RD。
主要是著重在通訊訊號方面的tuning。
[出差機率:中]


專案管理師們:
*SW PM
俗稱的Software PM
主要負責一個產品/專案裏面,在軟體方面的schedule安排,以及達到督促的目的。
需適時展示魄力,讓SW RD聽命於你的話,否則schedule會滑掉。
[出差機率:低]

*PPM
Project PM,其實算是HW PM。
主要是對工廠生產線,以及一個產品用的料上面的控管。
常常會跟工廠應對,其緊繃程度不在話下...
[出差機率:高]

*Sales PM
考慮面向比較多的PM
著重於一個產品要如何順利地賣到客人手中,並且避免不必要的客訴。
由於產品很有可能被銷售到各個不同語系國家,語言能力較被需要。
很常需要對人。
[出差機率:中]


*APP Framework PM
跟SW PM比較起來,比較算是著重在APP Framework的掌握以及schedule安排。
由於這算是敝公司較新的職缺... 只知道目前沒了解太多...
[出差機率:低]


測試工程師們:
*SQ
俗稱的Software quality engineer,軟體測試工程師。
主要是測試軟體穩定度,機台的穩定性。
必要時,也是需要寫點程式跑測試。
[出差機率:低]

*APP Framework Q
跟SQ相比,是更著重於APP單項的測試
也是最近敝公司新切出來的新單位。
[出差機率:低]

*FT
所謂的Field Trial Engineer。
其主要工作內容,是帶著各種不同具有通話功能or行動上網功能的機台,
到各個有可能會被販售的國家/城市,進行通訊上的測試。
也因此,很容易出差。
[出差機率:高]

*QM
所謂的Quality Manager,品質管理師。
主要是各個電信商的窗口。
一個手機/平板,若是要跟電信商合作推出,需要拿到他們的認可/認證
QM主要是整理這些產品送測報告的問題,轉交給公司內部相關單位。
[出差機率:低]

其他:
*ATD
俗稱的Automatic Test Design Engineer,自動化測試設計工程師。
由於工廠每一條產線上,有好幾站,分別需要做不同的測試驗證。
而ATD的主要工作內容,就是設計出每一個站所需要測試的自動化程式。
由於主要是跟工廠合作,所以非常容易出差...
[出差機率:極高]

好吧,角色介紹完畢,再來就是情境實質敘述囉!

(二)產品開發情境
一個產品開發,會因應在硬體設計上的陸續修改改正,而有不同的階段。
如下圖:









在各個不同的stage,會有不同的事情要做。
接下來我會以我自己實際碰到的情境,以及立場,簡單地敘述一個產品從無到開賣的經過。

前期:
由於外觀設計可能還在由ME努力商討中,
EE以及RF會先跟SoC Vendor,以及各個元件的廠商,所一起討論設計出來的電路板,
拿給BSP RD做軟體上的開發,使得讓此電路板可以開機。
(此時需告訴BSP RD此產品的硬體特性是什麼)

接著,如果可以開機成功了,此時會再透過HW那方面的測試驗證,
了解到硬體方面,還有哪些地方可以做修改,進而往下個階段邁進。
此時PPM需要不停地跟工廠產線那邊協調生產日期時間。
ATD也需要提供自動化測試程式給工廠。
BSP RD需要提供可以讓機台開機的韌體出來。
當然同時會被SW PM追殺著,被要求不能讓schedule滑掉。

中期:
等到機台硬體相對穩定了,而機台也有了它自己的外殼,開始像是個產品的雛形了。
這時候在軟體方面,APP Framework RD也會開始加入feature porting的工作行列。
而SQ跟APP Framework Q會開始大量的測bug,此時也是SW RD較為痛苦的時期。
開始不停地收bug解bug...
當然同時,硬體方面也是在做一樣的事情...

Q單位出籠的人馬當然不止這些...
由於需要跟電信商合作,
FT開始瘋狂出差進行地方通訊品質測試,
QM也會開始收到電信商所開的bug...最後再轉給RD解
就這樣一直到趨近於穩定為止...
(有schedule上的壓力+PM的愛心督促,也必須要穩定才行...)

後期:
其實我也很難定義什麼叫做"後期"
可能就是產品已經準備要出貨,以及真的出貨之後吧!

這時候軟體開發上的步調並不會像前期以及中期那時的頻繁,
主要都是接到客訴,或是mobile01上面被譙到翻,
上面的人看不下去,就會叫你幫忙解...

等bug解完累積到一程度,再透過FOTA (Firmware Over The Air)的方式,
讓客戶去進行軟體更新進而得到解掉issue的版本。
Sales PM同時也是需要一直跟客人方面協調,還有處理客服相關事宜。

以上就是一個產品從無到有的簡單流程...
我不知道自己表達的好不好
但對我而言,感受就是如此。

有任何問題,可以再互相切磋討論吧~
只希望還在找工作的人,不要矇矇懂懂就跑進來了
知道1%總必0%好吧...

共勉之!

3 則留言:

  1. 很不錯的經驗驗分享!
    吸收了 ^^

    回覆刪除
  2. 兩個禮拜後要去華碩面試 Android Framework RD(照文章中敘述得知)
    看了您的分享很有幫助!
    希望能夠和您成為同事囉!

    回覆刪除