2018-11-19 14:05:25分類:硬件開發(fā)6915
軟件硬件開發(fā)工程師其實有非常多的相同的特質,尤其作為有著工程師這個標簽的人,共同點還是相當多的。這里就從這些共同點里面挑挑刺兒,看看這兩種類型的工程師里面有著什么樣的思維不同點,盡量不帶褒貶色彩。
軟件工程師:我今天要完成xx行代碼的重構
硬件工程師:這幾個器件能不改就不改,實在不行用獨家供貨
軟件的靈活性很高,可以根據需要進行修改,即使是微不足道的修改,只要能讓代碼看起來比較“爽”,都可以隨時進行調整。況且現在代碼的版本控制工具比較成熟,實在不行可以用時光機返回所有的修改。
硬件不一樣,有時候動一根線,或者layout的時候動了一點位置都可能導致信號產生比較大的噪聲或者異常。每一個器件的修改也是慎之又慎,需要一系列替代測試和可靠性測試,即使是在風險可控的條件下,也要考慮投入產出比。相關文章:《硬件開發(fā)平臺開發(fā)一款智能鎖app需要多少錢?》
軟件工程師:有一個新的需求,我們要考慮一下實現方案
硬件工程師:有一個新的需求,我們看能不能在原來的方案上改一改
軟件行業(yè)日新月異,有各種各樣的語言、框架和實現方式,程序員的經驗可以讓他們更快的學習,但因為時常要面對新的東西,隨著年齡的增長會顯得力不從心,于是就有了程序員是青春飯的說法。同時,由于軟件的靈活性,需求往往是變化多端的,即使是在同樣的框架下,面對各種各樣的需求也有可能遇到很多坑。
相對軟件行業(yè),硬件的變化算是比較小的,雖然性能可能在不斷提高,但更新的速度和更新的范圍往往是較小的。經常是用著100年前的原理,加上20年前的技術,改一改實現新的需求。因此有了硬件人員的經驗論,當他對需要的一些器件了如指掌的時候,制定方案或者定位問題都是完全可控的,而這些器件在他有生之年可能都不會有突飛猛進的變革了,依靠之前積累的經驗就可以讓他游刃有余。
軟件工程師:It works!! 好吧,就這樣搞定吧。
硬件工程師:換了一個電容就可以了,不科學阿,我得找下是什么原因
遇到問題的時候,硬件工程師比較傾向于“根因分析”,所有現象必須要有個解釋,這樣的話可以減小問題重犯的概率。如果問題不徹底解決,往往代價是很高的。軟件工程師往往覺得問題解決了就是OK的,后面還有一堆的需求和變化需要處理,有時間再去分析一下。這里不一定是責任心的問題,一個原因是因為再次遇到問題的代價不一樣,另外有時候是因為需要管理的復雜度。
硬件面對的復雜度從某種程度上說是有限的,也就這么幾個器件,遇到問題順藤摸瓜就行了,大不了還有定位的必殺技——“替代法”,每個器件換一遍,大概就能找到問題所在了。軟件面對的復雜度相對較大,如果涉及到操作系統(tǒng)甚至還需要hack操作系統(tǒng),如果幾個模塊是由多個工程師開發(fā)的,模塊之間的耦合度又較高,定位問題顯得心有余而力不足。
軟件工程師:我的代碼是一顆樹,我要每天去耕耘
硬件工程師:我的方案是一個平臺,以后的需求就在這個平臺上面改一下就好了
“平臺化”對雙方來說看起來都是非常不錯的,面對新的需求只要在上面修改一下就好了,領導尤其喜歡這種理想狀態(tài),可以作為管理績效的體現。根據上面說明的復雜度和需求變化的程度而言,軟件的平臺化往往只是個開始,就像是栽下了一顆樹苗,后面的路還很長。這其中發(fā)揮比較重要作用的往往是軟件工程師本身,而不是硬盤里面的那些可能不成熟的代碼。
軟件工程師:項目節(jié)點要到了,實在不行我先發(fā)布一個beta版本
硬件工程師:項目節(jié)點要到了,實在不行只能延期了,爭取后面不再修改
iPhone 每一個機型的升級需要一兩年的時間,而IOS卻似乎每個月都在更新。對于互聯網行業(yè)的軟件尤其如此,似乎每時每刻都在升級,像google的很多產品一直處在beta的版本,有的甚至生命周期都結束了,都還掛著beta的標簽。升級成本和開發(fā)周期的不一樣,使得雙方面對項目時間點的態(tài)度會有所不同。
不管SWE和HWE有多少差異,他們都在通過自己努力在一點一點改變著這個世界。也希望自己能在若干年之后,還能自豪的稱自己為程序員,一個略懂硬件的碼農。
啟動一個硬件開發(fā)項目,原始的推動力會來自于很多方面,比如市場的需要,基于整個系統(tǒng)架構的需要,應用軟件部門的功能實現需要,提高系統(tǒng)某方面能力的需要等等,所以作為一個硬件系統(tǒng)的設計者,要主動的去了解各個方面的需求,并且綜合起來,提出最合適的硬件解決方案。
2019-03-12
智能硬件是繼智能手機之后的一個科技概念,通過軟硬件結合的方式,對傳統(tǒng)設備進行改造,進而讓其擁有智能化的功能。而智能硬件移動應用則是軟件,通過應用連接智能硬件,操作簡單,開發(fā)簡便,各式應用層出不窮。智能硬件開發(fā)包括智能家居、智能手機、智能電視開發(fā)等領域。所以智能硬件開發(fā)嚴格上屬于物聯網行業(yè)的研發(fā)。
2019-03-04
單片機是一種集成電路芯片,是采用超大規(guī)模集成電路技術把具有數據處理能力的中央處理器CPU、多種I/O口和中斷系統(tǒng)等功能集成到一塊硅片上構成的一個小而完善的微型計算機系統(tǒng)。單片機硬件開發(fā)包含:1、系統(tǒng)擴展,即單片機內部的功能單元不能滿足應用系統(tǒng)的要求時,須在片外進行擴展,選擇適當的芯片,設計相應的電路;系統(tǒng)的配置,即按照系統(tǒng)功能要求配置外圍設備,要設計合適的接口電路。
2019-03-04