為什麼這篇硬體工程師種類鄉民發文收入到精華區:因為在硬體工程師種類這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者aherchen (aaa)看板Tech_Job標題Re: [問題] 請問韌體工程師和軟體工程師...
以純開發AP而言,很多環境平台已經預設在一般PC或是目前熱門的隨身電腦產品
(PDA,SMARTPHONE,這部分的平台較多選擇與變化,
但是一樣有較完整的規格與標準開發平台),
通常所謂純軟體都表示已經預設好規格化的作業系統,制式化的開發工具
(你可以不用太了解透系統架構,就會寫出基本簡單的程式)
若以這樣的前提稱為軟體工程師,
你要建立自己的價值,那就要看看你的工作內容,
有無能力參與AP演算法的設計執行,
有無能力調校整各系統間的AP運作,讓你的AP不影響整各系統執行,
還是只是簡單的用高階程式語言寫寫基本的小AP(大多忽略系統與周圍的認知),
修改別人程式的一些簡單介面,或是拿一段範例依樣畫葫蘆,
(頂多增加幾個變數改改介面輸入輸出)
自己決定你要成為哪種境界的人!!
至於韌體工程師,需要在何種平台下何種環境下開發,
可能變化很多,一個大姆哥,一台列表機裡面都有微處理器,
需要寫程式去控制他,因為用硬體實現可能不符合成本,在效率與成本的斟酌下,
以軟體實現的效果最好,
這時的軟體設計工作常常被定位為韌體工程,
可是說實在的他還是一樣寫程式,
以前開發環境較少,都用組合語言實現(要累積學習的東西更多),
現在開發環境豐富,可以使用高階語言來實現(此時價值建立不也等同軟體工程),
只是軟體工程常常被忽略的事情(需要知道系統規格),
在韌體工程要多花這個執事的時間,現今這個程序說不定還可以省略,
因為分工合作的時代,在硬體人員或是其他系統人員已經將平台規劃完成,
你根本不太需要知道系統的架構,只要知道一些程式設計能力,
你甚至用C語言也可以依樣化葫蘆弄出一個版本的韌體出來,
至於需要知道系統規格,這件事情對韌體工程而言也算不上了不起的事情,
(因為身為純軟體工程師而言有藉口推辭,
韌體常常稱不上藉口推辭,這樣實在稱不上取代門檻)
上述的重點就是:能多吸收多學習就去做吧!!
多了解系統架構,不管你被定義韌體或是軟體工程師,
只要有興趣你可以多了解目前的一些系統架構,
處理器的種類與架構以及效能
各種週邊界面以及輸入輸出介面的規格
系統的整體契合程度以及效能的調整,
另外以軟體工程而言,演算法的改進,程式的效能,除錯的方式也是有很多東西學習
(軟體韌體皆是)
PC已經像電視機一樣普及了,
然而很多軟體工程師寫AP時,卻仍然對PC的架構一無所知,甚至有逃避心態,
你或許一樣可以寫出AP來,但是當你養成以系統角度思考,
了解每一個環節,這時候有可能你會發現你的程式效率不好的原因是演算法不好,
還是硬體效能限制,
同樣的身為韌體工程師也不該只是把硬體規格了解,然後一樣畫葫蘆的控制硬體就滿意了,
你要累積的東西很多,可不可以把韌體寫的更有效率,排除硬體的限制,
甚至避掉硬體無法重新設計所產生的錯誤,
如果只是看看規格然後會簡單的存取暫存器控制硬體元件運作,
那跟會寫寫簡單的單純AP一樣很容易被取代的!
所以再此陳述:軟體工程師或韌體工程師的價值,不在名稱上,而在於你自己累積的內容!!
啊!好像寫太雜亂了,有太多東西要累積學習了,與大家共勉之!!
※ 引述《kay2005 (小凱)》之銘言:
: 面試幾家之後 軟體主管和硬體主管說法不大相同
: 想請問前輩們 就賺錢和價值而言 哪一種比較不會被取代又賺得較多呢??
: 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.61.240.191