看板 Soft_Job 關於我們 聯絡資訊
我第一份工作是做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
x246libra: 推 程式邏輯沒錯,但結果就是不對,又或者..沒結果 05/22 22:55
x246libra: 厭煩硬體方面的問題 05/22 22:55
popcool: 沒錯,我就是肚爛明明邏輯沒錯演算沒錯結果干擾造成答案 05/23 02:10
popcool: 錯的這種鳥事,才直接降價轉純軟 05/23 02:10
cha122977: 厭倦硬體方面的問題+1 解一個bug開關機好幾次都在等 05/23 03:07
yamakazi: 在做IMU哦 kalman filter上網找code就好 不用自己寫 05/23 08:32
yamakazi: 一階互補很弱 不要用 05/23 08:32
yamakazi: https://youtu.be/U_dCb2uzNtg 05/23 08:33
yamakazi: 這我做的六軸demo 用的是madgwick演算法 網路上有code 05/23 08:34
yamakazi: 比kalman簡單 05/23 08:34
yamakazi: gyro的drift記得要先cal掉 05/23 08:36
maurlice: 其實我已經搞定了,只是我想學習用到的數學。 05/23 08:39
maurlice: 一階互補濾波雖然效果差強人意,但是有成本考量的時候他 05/23 08:40
maurlice: 還頗好用的。 05/23 08:40
maurlice: 還是很謝謝大大的分享 05/23 08:40
yamakazi: 恩恩 成本的確是個問題 我這是nordic52832 如果用8051單 05/23 09:04
yamakazi: 晶片可能就跑不動 05/23 09:04
yamakazi: 我沒記錯的話Madgwick只算四元數 比起kalman的矩陣運算 05/23 09:06
yamakazi: 運算量少很多 05/23 09:06
maurlice: 平衡車只用一階互補濾波,再用gx、ay、az算角度運算量超 05/23 09:25
maurlice: 省。但在細微處的效果超差。4軸機就一定不能用一階互補 05/23 09:25
maurlice: 了。 05/23 09:25
pttworld: 用作業系統相對位置區分 05/23 10:25
ohmypig: 推,因為訊號不好超煩 05/23 10:35
splasky: 韌體常常會有很詭異的bug 05/23 11:13
chris1281: 哈哈,說的真好,韌體真的常遇到鬼打牆的事情 05/23 12:27
ykjiang: 而且訊號太弱的話,有儀器可能也量不到你預期的 05/23 13:01
superpai: 聽起來寫韌體跟寫CSS很像呢 05/23 14:34
littlebau: 聽起來很厲害 05/24 22:10
hotrain13: 韌體就是要處理軟體bug又要排除硬體上的bug 05/26 08:41
cobrasgo: 叫新鮮人當FAE的九成五是爛公司 05/26 20:30