Re: [請益] 韌體工程師如何轉純軟

看板Soft_Job (軟體人)作者 (飛進我的天空)時間7年前 (2018/05/22 22:27), 7年前編輯推噓11(11020)
留言31則, 14人參與, 7年前最新討論串6/8 (看更多)
我第一份工作是做embedded system app開發,而且還是FAE,那時候其實有很長一段 時間我對韌體以及軟體的認知是很模糊的,講白一點、搞不清楚自己是韌體或者軟體 工程師。 有FAE就有RD,然後公司的RD還分2個部門,driver&app,三個部門,都在寫code,而 且還是同一份code,明明是linux base的OS,卻是使用windows系統安裝Cygwin來 編譯產出firmware,一個bin檔,那麼多人同心協力就為了那一個bin file,更前面 則還有ic設計、SE的付出。 後來我區分韌體和軟體的方式是...寫code的時候會用到三用電錶就是韌體,完全用 不到的話,即便你會放一個device做開發,我認為依然還是軟體。 你說純軟沒有device嗎?那台電腦主機不算嗎?寫出來的軟體總歸是要有個歸宿的, 難不成純軟寫出來的東西就不用在實體機器跑嗎?呵呵。 至於怎麼轉軟體~~其實我曾經失敗過一次、成功一半一次,先說失敗那次好了、那 次是進到一家新創、超慘烈的,做得很累,即便把公司要求的功能開發出來,還是 被嫌棄對核心程式的掌握度太低(其實完全沒有掌握),也許是我不夠強,也許是剛 好小朋友出身把我搞得很累,總之"被離職後"有鬆了一口氣的感覺。 再講成功一半那次好了,因為剛好做過video streaming,對這方面有些心得,剛好 有家蠻知名的網路公司想要做streaming,所以就進去開發研究streaming,後來搞了 一支streaming service出來,弄出來後不久就離職了,因為我有其它事想做。 其實那時若是一直做下去,應該就成功轉到純軟了。 這邊先回答標題的問題,這是我自己的心得,就是你要掌握一樣類似video streaming 的東西,剛好純軟也需要,然後又比較專精一點的技能,而不是一般做純軟耳熟能詳 的node.js,php,css,android app之類的東西,那些東西一個做韌體的去搞,肯定要降 價的,而且還不一定能hold住。 韌體雖然鮮少用到聽起來很厲害的演算法、資料結構,但並不意味著它很容易。 舉例來說吧: 韌體應該會常遇到,程式邏輯沒錯,但結果就是不對,又或者...根本沒結果。 查了半天才發現,原來是訊號不夠乾淨或者有雜訊干擾了,這部份軟硬體整合的能力 是純軟無法想像,也是習慣寫純軟的人難以適應的一個門檻。 所以軟韌體有各自的難處、各自的門檻、各自的優缺點,單純從薪水上去考量其實很 不智,因為機會留給準備好的人,即便現在純軟價格真心不錯,水漲船高,但是... 你準備好了嗎?沒準備好,等你降價進去到變得很強時薪水還是現在的水準嗎? 然後韌體就沒有需求了嗎?大數據以及AI時代來臨,數據從哪兒來?除了手機外只要 是人類使用的東西都可以是數據來源,說到這兒不就又扯上IOT嗎?萬物相連大數據及 AI才有搞頭。等到大數據和AI發展到一個程度會不會又發現~~~數據從哪兒來? 還不是要把電器都加上sensor再連上網,那這些東西誰做? 前面有人提到韌體的程式相對簡單,其實也不否認這件事就是了,大致上來說的確是 這樣,但是前陣子我因為開發需要使用了氣壓計和acc以及gyr,這當中用了旋轉矩陣 、filter、以及一些融合算法,坦白說...會用不會算啊(羞愧),目前只複習了旋轉矩 陣,至於filter以及融合算法的數學還在研究中。也許是我太弱吧、我覺得這些數學 真心不容易哩,我連看都看不懂,只是參照說明去調整和使用而已,雖然效果不錯, 但還是頗心虛,那個filter最難搞,有人說根本就是一階互補濾波,但是我也用過一 階互補濾波,也推算過,怎麼看怎麼不像,反正就是還有的研究就是了。 說了一堆、是感想也是發表看法,順便騙點p幣。 謝謝收看。 ※ 引述《johnlee2772 (彩虹呢?)》之銘言: : 大家好,小弟目前兩個工作經驗,基本上都是在chip maker裡面作韌體工程師 : 用到都是語法不難,不需要高度演算的C/C++,最近萌生轉行的念頭,想要稍微往軟體方 : 面走,進則變成chip maker的software engineer,雖然也是不太純軟,但是要能夠找到 : 純軟的工作好像背景並不是那麼強大。 : 只修過兩門C語言和一堂差點被當掉的JAVA EE學生有機會跳過去純軟嗎? : 或者有沒有甚麼coding 證照或者類似東西可以稍微提高"獲得面試門票"的機會呢? : 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.8.193.47 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1526999257.A.046.html ※ 編輯: maurlice (101.8.193.47), 05/22/2018 22:28:43

05/22 22:55, 7年前 , 1F
推 程式邏輯沒錯,但結果就是不對,又或者..沒結果
05/22 22:55, 1F

05/22 22:55, 7年前 , 2F
厭煩硬體方面的問題
05/22 22:55, 2F

05/23 02:10, 7年前 , 3F
沒錯,我就是肚爛明明邏輯沒錯演算沒錯結果干擾造成答案
05/23 02:10, 3F

05/23 02:10, 7年前 , 4F
錯的這種鳥事,才直接降價轉純軟
05/23 02:10, 4F

05/23 03:07, 7年前 , 5F
厭倦硬體方面的問題+1 解一個bug開關機好幾次都在等
05/23 03:07, 5F

05/23 08:32, 7年前 , 6F
在做IMU哦 kalman filter上網找code就好 不用自己寫
05/23 08:32, 6F

05/23 08:32, 7年前 , 7F
一階互補很弱 不要用
05/23 08:32, 7F

05/23 08:33, 7年前 , 8F

05/23 08:34, 7年前 , 9F
這我做的六軸demo 用的是madgwick演算法 網路上有code
05/23 08:34, 9F

05/23 08:34, 7年前 , 10F
比kalman簡單
05/23 08:34, 10F

05/23 08:36, 7年前 , 11F
gyro的drift記得要先cal掉
05/23 08:36, 11F

05/23 08:39, 7年前 , 12F
其實我已經搞定了,只是我想學習用到的數學。
05/23 08:39, 12F

05/23 08:40, 7年前 , 13F
一階互補濾波雖然效果差強人意,但是有成本考量的時候他
05/23 08:40, 13F

05/23 08:40, 7年前 , 14F
還頗好用的。
05/23 08:40, 14F

05/23 08:40, 7年前 , 15F
還是很謝謝大大的分享
05/23 08:40, 15F

05/23 09:04, 7年前 , 16F
恩恩 成本的確是個問題 我這是nordic52832 如果用8051單
05/23 09:04, 16F

05/23 09:04, 7年前 , 17F
晶片可能就跑不動
05/23 09:04, 17F

05/23 09:06, 7年前 , 18F
我沒記錯的話Madgwick只算四元數 比起kalman的矩陣運算
05/23 09:06, 18F

05/23 09:06, 7年前 , 19F
運算量少很多
05/23 09:06, 19F

05/23 09:25, 7年前 , 20F
平衡車只用一階互補濾波,再用gx、ay、az算角度運算量超
05/23 09:25, 20F

05/23 09:25, 7年前 , 21F
省。但在細微處的效果超差。4軸機就一定不能用一階互補
05/23 09:25, 21F

05/23 09:25, 7年前 , 22F
了。
05/23 09:25, 22F

05/23 10:25, 7年前 , 23F
用作業系統相對位置區分
05/23 10:25, 23F

05/23 10:35, 7年前 , 24F
推,因為訊號不好超煩
05/23 10:35, 24F

05/23 11:13, 7年前 , 25F
韌體常常會有很詭異的bug
05/23 11:13, 25F

05/23 12:27, 7年前 , 26F
哈哈,說的真好,韌體真的常遇到鬼打牆的事情
05/23 12:27, 26F

05/23 13:01, 7年前 , 27F
而且訊號太弱的話,有儀器可能也量不到你預期的
05/23 13:01, 27F

05/23 14:34, 7年前 , 28F
聽起來寫韌體跟寫CSS很像呢
05/23 14:34, 28F

05/24 22:10, 7年前 , 29F
聽起來很厲害
05/24 22:10, 29F

05/26 08:41, 7年前 , 30F
韌體就是要處理軟體bug又要排除硬體上的bug
05/26 08:41, 30F

05/26 20:30, 7年前 , 31F
叫新鮮人當FAE的九成五是爛公司
05/26 20:30, 31F
文章代碼(AID): #1R12ZP16 (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1R12ZP16 (Soft_Job)