高階電子工程師一般分為高階硬體工程師和高階軟體工程師。硬體與軟體是不可分離的,硬體需要軟體來執行其程式實現具體功能。軟體需要硬體做載體。
高階硬體工程師需要具備的知識和技能:
1.技能概要:
設計、開發、除錯、維護、管理符合功能、效能要求的硬體產品。
2.高階硬體工程師需要具備的技能:
按照計劃完成符合功能效能要求和質量標準的硬體產品;
根據產品詳細設計報告,完成符合功能和效能要求的邏輯設計;
根據邏輯設計說明書,設計詳細的原理圖和PCB圖;
編寫除錯程式,測試或協助測試開發的硬體裝置,確保其按設計要求正常執行;
編寫專案文件、質量記錄以及其他有關文件;
維護管理或協助管理所開發的硬體。
3.高階硬體工程師具備知識
通訊、電子工程、自動化、計算機及其相關專業,本科以上學歷。
4年以上相關工作經驗,
2年以上硬體技術開發工作經驗。
精通硬體開發技能,掌握所屬行業的相關專業知識和業務流程;
熟悉硬體開發常用工具軟體;
有良好程式設計風格、文件習慣;
有良好的英語閱讀能力,能夠閱讀英文測試資料。
高階軟體工程師需要具備的知識和技能:
1.高階軟體工程師具備知識
三年以上的軟體開發經驗;
具備紮實的計算機軟體基礎,熟悉組合語言和資料結構,並對軟體工程有較好的理解;
熟悉.NET/Java/C++/VB/Delphi等常用開發語言中任意一種;有Oracle、SQL-SERVER或DB2等資料庫上的開發經驗,熟悉SQL語言;
具備良好的溝通能力,較強的分析、解決問題、領悟、歸納和邏輯推理能力和撰寫開發文件;
具有良好的計劃性,團隊精神,能承受工作壓力並充滿熱情。
2.高階軟體工程師具備的技能
在目前很多國內軟體企業中,如果你是“高階軟體工程師”,那麼從需求分析,設計,開發,測試,甚至到客戶這一條龍都可能由一個人來負責。
(1)軟體開發與測試
首先,軟體開發是軟體工程師職責的基本組成部分,這點應該沒有問題。其次,此處的軟體測試可分為開發前的驅動測試,和開發過程中的白盒測試。驅動測試用於分析子系統/模組內部邏輯,用於在開發之前暴露開發過程中可能遇到的大部分問題和對子系統/模組進行更進一步的劃分;白盒測試是保證在專案交接到測試團隊手中時,能滿足基本的專案要求,即能夠進行α測試。
(2)子系統/模組分析設計
在軟體架構師做完系統設計,專案經理進行專案分工後,專案就正式進入開發環節。這時候每個軟體工程師會拿到自己負責的子系統/模組,首先要做的就是進行分析設計,其次才是開發。開發前進行分析設計,便於從整體上對子系統進行把握,提前隔子系統中的變化點和問題,同時也可以對子系統進行更詳細的劃分,用於制定個人的工作計劃,與專案經理和軟體架構師進行具體的溝通。
(3)撰寫文件
在進行子系統和模組設計的同時,要撰寫子系統設計說明書;在開發過程中,要記錄技術要點和發現的問題,同時如有需要,要修改子系統設計說明書;在白盒測試時,要記錄每個Bug。
(4)定期主動溝通
在專案開發過程中,專案經理需要和團隊中的每一個人溝通任務進度,其主要職責是從整體上把握和控制專案的進度。那麼作為團隊一員的高階軟體工程師通常會負責專案中很重要的子系統/模組,這些子系統/模組往往能決定專案的成敗。因此定期主動與專案經理溝通解決遇到問題,與架構師和專家溝通解決技術難題就顯得非常重要了。另外,就對個人而言,定期主動溝通也往往表現為個人的主動積極性,對於個人長遠發展非常有益。
(5)持續學習
也許有人會覺得學習應該與職責無關,狹義看來確實如此。然而,不斷學習新知識,提高個人技能,於公司而言,能提升工作效率;於個人而言,益於職業發展。因此,工作之餘,不管你職位如何,持續學習就顯得非常重要且必要。
(6)帶新人
這點也許不是硬性要求,但國外有高手帶領新手這樣一種師徒習慣,也應該學習併發揚。通常情況下新人會與高階軟體工程師協同工作,因此帶新人一方面,帶領新人可以有重新審視自己知識的機會;另一方面能夠讓新人更快入手,降低學習成本和提高工作效率;同時也能保持良好的人際關係。
高階電子工程師一般分為高階硬體工程師和高階軟體工程師。硬體與軟體是不可分離的,硬體需要軟體來執行其程式實現具體功能。軟體需要硬體做載體。
高階硬體工程師需要具備的知識和技能:
1.技能概要:
設計、開發、除錯、維護、管理符合功能、效能要求的硬體產品。
2.高階硬體工程師需要具備的技能:
按照計劃完成符合功能效能要求和質量標準的硬體產品;
根據產品詳細設計報告,完成符合功能和效能要求的邏輯設計;
根據邏輯設計說明書,設計詳細的原理圖和PCB圖;
編寫除錯程式,測試或協助測試開發的硬體裝置,確保其按設計要求正常執行;
編寫專案文件、質量記錄以及其他有關文件;
維護管理或協助管理所開發的硬體。
3.高階硬體工程師具備知識
通訊、電子工程、自動化、計算機及其相關專業,本科以上學歷。
4年以上相關工作經驗,
2年以上硬體技術開發工作經驗。
精通硬體開發技能,掌握所屬行業的相關專業知識和業務流程;
熟悉硬體開發常用工具軟體;
有良好程式設計風格、文件習慣;
有良好的英語閱讀能力,能夠閱讀英文測試資料。
高階軟體工程師需要具備的知識和技能:
1.高階軟體工程師具備知識
三年以上的軟體開發經驗;
具備紮實的計算機軟體基礎,熟悉組合語言和資料結構,並對軟體工程有較好的理解;
熟悉.NET/Java/C++/VB/Delphi等常用開發語言中任意一種;有Oracle、SQL-SERVER或DB2等資料庫上的開發經驗,熟悉SQL語言;
具備良好的溝通能力,較強的分析、解決問題、領悟、歸納和邏輯推理能力和撰寫開發文件;
具有良好的計劃性,團隊精神,能承受工作壓力並充滿熱情。
2.高階軟體工程師具備的技能
在目前很多國內軟體企業中,如果你是“高階軟體工程師”,那麼從需求分析,設計,開發,測試,甚至到客戶這一條龍都可能由一個人來負責。
(1)軟體開發與測試
首先,軟體開發是軟體工程師職責的基本組成部分,這點應該沒有問題。其次,此處的軟體測試可分為開發前的驅動測試,和開發過程中的白盒測試。驅動測試用於分析子系統/模組內部邏輯,用於在開發之前暴露開發過程中可能遇到的大部分問題和對子系統/模組進行更進一步的劃分;白盒測試是保證在專案交接到測試團隊手中時,能滿足基本的專案要求,即能夠進行α測試。
(2)子系統/模組分析設計
在軟體架構師做完系統設計,專案經理進行專案分工後,專案就正式進入開發環節。這時候每個軟體工程師會拿到自己負責的子系統/模組,首先要做的就是進行分析設計,其次才是開發。開發前進行分析設計,便於從整體上對子系統進行把握,提前隔子系統中的變化點和問題,同時也可以對子系統進行更詳細的劃分,用於制定個人的工作計劃,與專案經理和軟體架構師進行具體的溝通。
(3)撰寫文件
在進行子系統和模組設計的同時,要撰寫子系統設計說明書;在開發過程中,要記錄技術要點和發現的問題,同時如有需要,要修改子系統設計說明書;在白盒測試時,要記錄每個Bug。
(4)定期主動溝通
在專案開發過程中,專案經理需要和團隊中的每一個人溝通任務進度,其主要職責是從整體上把握和控制專案的進度。那麼作為團隊一員的高階軟體工程師通常會負責專案中很重要的子系統/模組,這些子系統/模組往往能決定專案的成敗。因此定期主動與專案經理溝通解決遇到問題,與架構師和專家溝通解決技術難題就顯得非常重要了。另外,就對個人而言,定期主動溝通也往往表現為個人的主動積極性,對於個人長遠發展非常有益。
(5)持續學習
也許有人會覺得學習應該與職責無關,狹義看來確實如此。然而,不斷學習新知識,提高個人技能,於公司而言,能提升工作效率;於個人而言,益於職業發展。因此,工作之餘,不管你職位如何,持續學習就顯得非常重要且必要。
(6)帶新人
這點也許不是硬性要求,但國外有高手帶領新手這樣一種師徒習慣,也應該學習併發揚。通常情況下新人會與高階軟體工程師協同工作,因此帶新人一方面,帶領新人可以有重新審視自己知識的機會;另一方面能夠讓新人更快入手,降低學習成本和提高工作效率;同時也能保持良好的人際關係。