Re: [請益] 請問為什麼純軟比韌體好玩?

作者: jimmytzeng (jimmytseng)   2020-07-28 20:16:53
※ 引述《lrvine (Irvine)》之銘言:
: 常常在這個板上逛的感覺是
: 普遍大家覺得韌體無聊 似乎純軟比較好玩?
: 我本身的背景主要是在 Linux kernel 但也有機會碰到 Android middleware 甚至更上

: 我覺得他們都是差不多的東西 就是寫code去執行一項任務(演算法)
: 所以想請問大家為什麼會覺得韌體無聊呢? 主因是?
嗚嗚嗚。我是從嵌入式系統轉換到寫純軟的過來人(非web那種純軟,是機器視覺跟工業
自動化)
應該這麼講:
走韌體路線,甚至是韌體技能點滿,你就是一個強大的存在,別人無法取代,也代表很容
易活在自己世界,因為你講出來的話別人聽不懂!!!!
導致你單打獨鬥,或者變成被PM或硬體工程師打壓的對象,因為你講出一大堆什麼stack
不夠, racing condition什麼的,然後硬體power sequence 導致系統初始化失敗,然後
原因要等原廠vendor回覆才能解,不然就是講那個pointer指到哪個pointer,register m
ap裡面在幹嘛,設進去沒反應,吧啦吧啦。
這些話大部分的PM聽不懂,他只會歸納成:你什麼時候可以解決完成。
另外韌體工程師的世界,幾乎很少標準化的術語,也幾乎很少種類的diagram可以描述,
所以每個工程師都有自己的術語存在。除非你討論的對象是跟你一樣強大的存在,否則對
方不知道你在講啥,工作起來很痛苦。
走純軟路線,是走團隊合作,有很多技巧可以協助團隊討論架構跟實作(design pattern
,object oriented programming...),也有很好的標準化方式來描述你的想法(UML, di
agram..) ,讓每個團隊成員可以清楚的知道自己負責的部分,並且如何跟團隊成員去介
接彼此所做的事情。
當有了彼此易懂的共同語言後,你就比較能夠清楚的表達自己遇到的難題在哪裡,讓團隊
來跟你一起想辦法解決。
我剛開始從韌體轉到純軟體,最大的痛苦就是
別人聽不懂我在講什麼,有些事情我認為很簡單,別人可不這麼認為。以及我沒辦法把一
件事情很清楚的表達出來,因為韌體很吃經驗,解決問題都是一個念頭閃過就知道怎麼處
理,導致長期都是跳躍式思考,無法完整的講出一件事情。
所以呀,你去比較看看純軟公司跟韌體公司(或硬體系統廠)出去聚會的照片,
純軟公司的工程師笑的多開呀,每個都穿的多帥,又有很多妹子溫暖整個畫面
而韌體公司的聚會,每個臉都臭的像什麼...
有空可以自己思考一下吧...
作者: labbat (labbat)   2020-07-28 20:25:00
硬體架構師認為uncached non-buffer non-combined postmemory write可以out of order時,韌體設計師臉都綠了
作者: neo5277 (I am an agent of chaos)   2020-07-28 20:26:00
最近開始反過來
作者: cphe (魔鬼藏在垃圾筒裡)   2020-07-28 20:41:00
不認同,其實表達是一種需要學習的能力,你跟沒技術背景的人描述一件事,就要用他能懂的方式來說明~就好比說很多人在做presentation貼一堆文字和source code上來報告一樣,都是沒有意義的
作者: chuegou (chuegou)   2020-07-28 20:46:00
我不能跟新來的同事溝通一定是他太強了
作者: flysonics (飛音)   2020-07-28 21:47:00
我還以為是韌體永遠要幫硬體擦屎才會臉這麼臭 XD
作者: shooter555 (shooter)   2020-07-28 22:26:00
拿到薪資一樣能笑的開心比較重要軟體就是要用這些名詞糊弄上面聽不懂的 把任何一個bug說的越複雜越好
作者: EPGo   2020-07-28 23:29:00
不認同,工程師的價值不只有掌握技能這麼簡單
作者: APTON (瑋瑋)   2020-07-29 00:21:00
共同語言真的很重要,不過我覺得很大的原因是很少公司會去制定或定義共同語言來減少溝通成本
作者: kyushu (蘇打綠嚇倒我了)   2020-07-29 07:18:00
認同4F,不過也認同韌體的做法大多都是非正常解
作者: BoXeX (心愛騎士團異端審判騎士)   2020-07-29 08:06:00
不太認同4F 我自己比較偏向軟體 溝通上也沒問題 但如果哪天要我跟沒背景知識的人解釋底層的一些細節 我也不覺得辦的到不然如果你的溝通能力很強 你就能教會一個普通班級的小學生微積分嗎
作者: b85040312 (萬年newman)   2020-07-29 08:12:00
溝通又不是教學,只是要讓對方懂得你在做什麼像是一些生活化的例子
作者: BoXeX (心愛騎士團異端審判騎士)   2020-07-29 08:23:00
好 不要教學 那你就能跳過細節 解釋你在解決微積分上的一個錯誤算式嗎跟別人說你到底做了什麼
作者: Dinowchang (Dinow)   2020-07-29 08:58:00
這是工作文化的問題,做韌體的公司普遍不重視軟體開發的流程和品質才會有這現象
作者: shooter555 (shooter)   2020-07-29 09:24:00
太細節的錯誤要解釋根本不可能 但一些常見的錯誤名詞講出來 對方聽不懂也會裝懂 race condition memleak之類 大概要說一些這種名詞來解釋當然對方最重要的一定是要你壓時間 但你解釋這麼多就就是為了芭樂拳 開長一點的時間才是目的 不是要給他懂
作者: popcool (我不懂)   2020-07-29 12:39:00
我懂你,我也是韌體轉純軟ios,有時候思考真的比較跳,要很完整的描述我的思維給同事要很花時間
作者: lrvine (Irvine)   2020-07-29 14:04:00
的確現在純軟多半是run scrum比較少會有自己要擋PM壓時間的問題 韌體好像真的比較容易gating被壓deadline不過光"很多妹子溫暖整個畫面"這句話就說服我了...不過我之前的韌體工作也是run scrum就是了
作者: Dinowchang (Dinow)   2020-07-29 14:53:00
韌體通常有實際產品,時程排好後大概都動不了。所以要跟PM談時間很難談得動
作者: Kayusumi (Left)   2020-07-29 23:54:00
軟韌體常常在幫硬體擦屎
作者: Dinowchang (Dinow)   2020-07-30 09:22:00
跟舊code的坑比起來,硬體問題其實不多
作者: shooter555 (shooter)   2020-07-30 15:50:00
舊code坑很大 但硬體問題是要挖坑給自己跳
作者: fgkor123 (n(N))   2020-08-01 08:11:00
硬體坑不大的一定是成熟產品,要看公司到哪個階段...
作者: forget2009 (皮卡瘡)   2020-08-02 01:26:00
韌體做久了就會覺得純軟邏輯問題很low因為都是自己沒想清楚造成的低級錯誤

Links booklink

Contact Us: admin [ a t ] ucptt.com