大家好,我是專(zhuān)注分享職業(yè)規(guī)劃/技術(shù)科普/智能生活有關(guān)原創(chuàng)文章的allen康哥。
大家都知道現(xiàn)在很多硬科技類(lèi)公司的軟件工程師崗位是非常吃香的崗位,這些崗位涉及到硬件,也是也涉及到軟件,比如小米手機(jī),大疆無(wú)人機(jī),華為通信設(shè)備這種產(chǎn)品,那這些崗位算是嵌入式開(kāi)發(fā)工程師嗎,還是怎么定義?
這是很多同學(xué)給我留言的問(wèn)題,今天就根據(jù)我的理解幫大家分析下。在這些硬科技公司(如小米、大疆、華為)中,軟件工程師崗位是否屬于嵌入式開(kāi)發(fā),需要根據(jù)具體業(yè)務(wù)和崗位職責(zé)來(lái)判斷。這些公司的產(chǎn)品通常既有嵌入式開(kāi)發(fā),也有非嵌入式軟件開(kāi)發(fā),但兩者的界限往往模糊,因?yàn)橛布蛙浖疃葏f(xié)同是硬科技產(chǎn)品的核心特點(diǎn)。
以下是具體分析:
1??典型硬科技公司的軟件崗位分類(lèi)
(1) 嵌入式開(kāi)發(fā)崗位的定義
這些崗位直接與硬件交互,通常需要低層編程、硬件資源優(yōu)化和實(shí)時(shí)性處理,例如:
底層驅(qū)動(dòng)開(kāi)發(fā):小米手機(jī)中的攝像頭驅(qū)動(dòng)、觸摸屏驅(qū)動(dòng)、電源管理模塊開(kāi)發(fā)。大疆無(wú)人機(jī)飛控系統(tǒng)的電機(jī)控制、傳感器(陀螺儀、GPS)驅(qū)動(dòng)開(kāi)發(fā)。華為基站設(shè)備的射頻芯片驅(qū)動(dòng)、硬件加速器(如FPGA)接口開(kāi)發(fā)。
實(shí)時(shí)系統(tǒng)開(kāi)發(fā):無(wú)人機(jī)飛控系統(tǒng)的實(shí)時(shí)操作系統(tǒng)(如FreeRTOS、VxWorks)任務(wù)調(diào)度。工業(yè)機(jī)器人控制器的實(shí)時(shí)通信協(xié)議(如CAN總線(xiàn)、EtherCAT)實(shí)現(xiàn)。
資源受限環(huán)境開(kāi)發(fā):為低功耗IoT設(shè)備(如智能手環(huán))優(yōu)化藍(lán)牙協(xié)議棧,減少內(nèi)存占用。在嵌入式Linux系統(tǒng)中裁剪內(nèi)核,適配華為路由器的硬件平臺(tái)。
技術(shù)特點(diǎn):編程語(yǔ)言:C/C++、匯編(部分場(chǎng)景)。工具鏈:交叉編譯、JTAG調(diào)試、示波器/邏輯分析儀。核心技能:硬件寄存器操作、中斷處理、功耗優(yōu)化。
(2) 不屬于嵌入式開(kāi)發(fā)的崗位
這些崗位主要面向通用計(jì)算平臺(tái)或高層應(yīng)用,例如:
上層應(yīng)用開(kāi)發(fā):小米手機(jī)MIUI系統(tǒng)的Android應(yīng)用開(kāi)發(fā)(Java/Kotlin)。大疆無(wú)人機(jī)配套手機(jī)App的圖形界面和云服務(wù)功能開(kāi)發(fā)。
云端與分布式系統(tǒng):華為云計(jì)算平臺(tái)的通信中間件開(kāi)發(fā)(如Kubernetes網(wǎng)絡(luò)插件)。大疆無(wú)人機(jī)數(shù)據(jù)同步服務(wù)的后端開(kāi)發(fā)(如分布式存儲(chǔ)、高并發(fā)通信)。
算法與數(shù)據(jù)處理:無(wú)人機(jī)視覺(jué)SLAM算法的實(shí)現(xiàn)(Python/C++,運(yùn)行在機(jī)載高性能芯片上)。華為5G基站的信號(hào)處理算法優(yōu)化(可能基于通用服務(wù)器或DSP)。
技術(shù)特點(diǎn):編程語(yǔ)言:Python/Java/Go等高級(jí)語(yǔ)言。技術(shù)棧:分布式框架(如gRPC、Kafka)、算法優(yōu)化。目標(biāo)平臺(tái):Linux服務(wù)器、手機(jī)/PC應(yīng)用、云計(jì)算環(huán)境。
2??硬科技公司的特殊性:軟硬協(xié)同
硬科技公司的軟件工程師往往需要跨領(lǐng)域知識(shí),即使是非嵌入式崗位,也可能涉及硬件理解,例如:
系統(tǒng)級(jí)優(yōu)化:小米手機(jī)應(yīng)用開(kāi)發(fā)工程師可能需要了解屏幕刷新率、電池功耗特性,以?xún)?yōu)化用戶(hù)體驗(yàn)。大疆無(wú)人機(jī)算法工程師需要結(jié)合飛控硬件特性(如傳感器延遲)調(diào)整控制邏輯。
硬件加速:華為通信設(shè)備開(kāi)發(fā)中,軟件工程師可能調(diào)用硬件加速模塊(如NPU、FPGA)提升網(wǎng)絡(luò)吞吐量。
但這不等同于嵌入式開(kāi)發(fā),核心區(qū)別在于是否直接操作硬件底層。
3??如何判斷崗位是否屬于嵌入式開(kāi)發(fā)?
通過(guò)以下關(guān)鍵詞快速識(shí)別:
4??以具體公司為例
小米手機(jī):
-
-
- 嵌入式:攝像頭驅(qū)動(dòng)、電源管理、基帶芯片通信。非嵌入式:MIUI應(yīng)用生態(tài)開(kāi)發(fā)、云服務(wù)后端。
-
大疆無(wú)人機(jī):
-
-
- 嵌入式:飛控系統(tǒng)、電機(jī)驅(qū)動(dòng)、圖傳協(xié)議棧。非嵌入式:計(jì)算機(jī)視覺(jué)算法、移動(dòng)端App開(kāi)發(fā)。
-
華為通信設(shè)備:
-
- 嵌入式:基站射頻模塊控制、嵌入式Linux內(nèi)核裁剪。非嵌入式:5G核心網(wǎng)協(xié)議棧開(kāi)發(fā)(運(yùn)行在通用服務(wù)器)。
5??總結(jié)
屬于嵌入式開(kāi)發(fā):直接操作硬件底層、資源優(yōu)化、實(shí)時(shí)性要求高的崗位。
不屬于嵌入式開(kāi)發(fā):面向通用平臺(tái)、高層應(yīng)用或算法的崗位。
跨界場(chǎng)景:硬科技公司中,許多崗位需要軟硬協(xié)同知識(shí),但只有涉及硬件底層編程的才屬于嵌入式開(kāi)發(fā)。
總結(jié):如果你目標(biāo)是嵌入式方向,可以重點(diǎn)關(guān)注驅(qū)動(dòng)開(kāi)發(fā)、RTOS、硬件接口等關(guān)鍵詞的崗位;若偏好高層軟件,則選擇應(yīng)用開(kāi)發(fā)、算法、分布式系統(tǒng)等領(lǐng)域。