工作職責(zé):
1、負(fù)責(zé)公司硬件產(chǎn)品(如:數(shù)據(jù)采集卡、工業(yè)控制器、特定功能設(shè)備等)相關(guān)的軟件功能開發(fā)、調(diào)試與維護(hù)工作。
2、設(shè)計(jì)與實(shí)現(xiàn)跨平臺(tái)(麒麟、Linux、Windows)的C++核心代碼庫,確保一套代碼在不同系統(tǒng)下的兼容性、穩(wěn)定性和高性能。
3、編寫與硬件設(shè)備通信的驅(qū)動(dòng)程序、接口庫(如使用PCIe、USB、串口等),并提供清晰的API供上層應(yīng)用調(diào)用。
4、配合實(shí)施人員進(jìn)行軟硬件聯(lián)調(diào),定位并解決開發(fā)中遇到的硬件兼容性問題及技術(shù)難題。
5、編寫相關(guān)的技術(shù)文檔,包括設(shè)計(jì)文檔、接口文檔、用戶手冊(cè)及測(cè)試用例等。
6、參與代碼審查、性能優(yōu)化以及部分現(xiàn)有模塊的重構(gòu)工作,保障代碼質(zhì)量。
任職要求:
1、學(xué)歷與經(jīng)驗(yàn):計(jì)算機(jī)、電子工程、通信、自動(dòng)化等相關(guān)專業(yè)本科及以上學(xué)歷,具備3年及以上C++實(shí)際項(xiàng)目開發(fā)經(jīng)驗(yàn)
2、技術(shù)核心: 精通C++語言,熟悉面向?qū)ο缶幊?,具有良好的?shù)據(jù)結(jié)構(gòu)與算法基礎(chǔ)。
3、跨平臺(tái)能力: 有麒麟、Linux、Windows等至少兩種操作系統(tǒng)下的開發(fā)經(jīng)驗(yàn),了解其系統(tǒng)API及編譯調(diào)試環(huán)境的差異。有使用CMake等跨平臺(tái)編譯工具經(jīng)驗(yàn)者優(yōu)先。
4、硬件交互: 具備硬件交互開發(fā)經(jīng)驗(yàn),熟悉串口、USB、網(wǎng)絡(luò)Socket等至少一種通信協(xié)議,有PCIe驅(qū)動(dòng)開發(fā)經(jīng)驗(yàn)者將是極大的加分項(xiàng)。
5、問題解決: 具備較強(qiáng)的邏輯分析和獨(dú)立解決問題的能力,能熟練進(jìn)行軟硬件聯(lián)調(diào),并使用相關(guān)工具(如Wireshark、邏輯分析儀等)排查問題。
6、代碼規(guī)范: 熟悉Git等版本控制工具,具有良好的編碼習(xí)慣和文檔編寫能力。
7、加分項(xiàng): 有Qt等GUI框架開發(fā)經(jīng)驗(yàn)者優(yōu)先;了解多線程編程、進(jìn)程間通信(IPC)者優(yōu)先。
8、個(gè)人素質(zhì): 具備良好的團(tuán)隊(duì)合作精神、溝通能力和責(zé)任心,對(duì)技術(shù)有熱情,有較強(qiáng)的學(xué)習(xí)能力。