了解最新公司動態及行業資訊
嵌入式行業需要什么樣的技術人才?
仔細觀察各種招聘的崗位要求,無外乎兩個方面。
(1)一般要求
比如什么學歷、多少年工作經驗、創新精神、抗壓能力強、吃苦耐勞、善于溝通、態度認真等等……
(2)專業要求
這確實很多,但也無非是各種精通。什么是精通控制理論,精通電路設計it技術工程師,精通各種硬件驅動開發,精通linux內核及剪裁,精通C/C++/Java語言,精通DSP,精通ARM,精通linux/ecos/ucos /wince/,精通嵌入式數據庫,精通多線程編程,精通各種網絡協議,精通各種總線協議,精通//IOS平臺應用開發,精通匯編,編譯器,二進制工具,精通各種媒體封裝格式,編解碼器,精通通訊技術,精通硬件原理圖,精通PCB設計,精通計算機結構,精通,精通... 我覺得只要是在這個行業,就一定要精通。(作者感覺掌握一門學科需要很長時間……)
看完這些,尤其是專業要求,你是不是頭大了?
那么,我們來分析一下上面的需求。各個公司的一般要求就像是互相復制粘貼,比如學歷(個人認為學歷顯然更重要),比如經驗(有n年的經驗,從n年前就有n年的經驗);還有個人氣質,我不知道每個公司在員工入職前是如何考察員工的。專業要求(其實精通其中的幾個是相當了不起的),乍一看讓人頭暈目眩,可能更容易理解嵌入式開發的結構。
在技??術實現上,嵌入式產品分為兩類:一類是簡單,沒有操作系統支持;另一個是復雜的,帶有操作系統。就目前的發展方向而言,后者是趨勢。前者從程序實現上可分為3層:硬件層、驅動層、應用層;后者分為4層:硬件層、驅動層、系統層、應用層。
因此,嵌入式開發一般需要自下而上的四類工程師:嵌入式硬件開發、嵌入式驅動開發、嵌入式系統開發、嵌入式軟件開發。
應該掌握哪些技能?
01 嵌入式硬件開發
這是由硬件工程師完成的,通常來自自動化、電子、通信和其他專業。要求熟悉電路等知識,非常熟悉各種常用元器件,掌握模擬電路和數字電路設計的開發能力,熟悉硬件開發模式和設計。模式,熟悉各種芯片及外圍設備,熟悉8位16位32位處理器嵌入式硬件平臺開發。
有些需要FPGA開發經驗,常用的硬件設計工具:/PADS()//OrCad。一般有4~8層高速PCB設計經驗。由于我不是硬件制造商,我對這塊不熟悉,所以我不敢做虛假陳述。
02 嵌入式驅動開發
這可以由硬件工程師或軟件工程師完成,具體取決于設備。目前驅動開發,除非是簡單的設備驅動,其實很多情況下都是移植的,所以更需要掌握目標平臺的硬件和系統特性。
因此,你至少要對操作系統、系統結構、計算機組成原理和數據結構有一定的了解。熟悉嵌入式ARM/MIPS/架構。具備單片機及1個或多個32位嵌入式處理器的移植開發能力,熟悉流程,硬件知識扎實,看懂硬件原理圖,能獨立完成相關硬件驅動調試,會編寫軟件驅動按照芯片手冊。
如果涉及到網絡設備,可能還需要掌握很多高級網絡協議的原理。就個人而言,雖然這首曲子的大部分內容并不難,但卻極為重要。當然,如果要在這個層次上為上層提供多線程支持,一些驅動也很難寫。
03 嵌入式系統開發
我從未聽說過有硬件工程師這樣做。為此,必須熟悉操作系統的原理,例如內存管理、線程調度、文件系統等;還精通處理器架構、指令集、尋址方式、調試、匯編和混合編程等方面;熟悉操作系統啟動過程。
對于Linux,你應該熟悉Linux配置文件的修改it技術工程師,掌握Linux系統的內核修整、內核移植、交叉編譯、內核調試、啟動程序編寫、根文件系統創建和集成部署的全過程。這篇文章如果真的寫出來,難度是相當恐怖的。幸運的是,其中大多數是移植的。很少聽說有公司要開發操作系統。他們沒有力量。
04 嵌入式軟件開發
好吧,如果沒有操作系統,程序一般不會特別復雜。如果有操作系統的支持,就非常接近一般的軟件開發,所以可以算是桌面開發。這個要求是熟悉系統的API,精通C語言的高級編程知識,包括函數和程序結構、指針、數組、常用算法、庫函數的使用等知識,數據的基本內容結構;掌握面向對象程序設計的基本思想,以及C++語言的基本內容;
精通嵌入式Linux下編程,精通嵌入式Linux開發環境,包括系統編程、文件I/O、多進程多線程、網絡編程、GUI圖形界面編程、數據庫;熟悉常用圖形庫的編程,如QT、GTK、fltk、nano-x等,掌握各種應用層網絡協議的使用,以及各種音視頻技術。
05 一般技能
此外,以上四類中還有一些有用的技能。
(1)基礎技能:從事嵌入式開發,有一些必備的基礎技能
(2)特殊技能:對于嵌入式開發的某些部分必不可少,但對其他部分可能沒有多大用處(如應用程序開發)
(3)擴展能力:可以使用這些
有時我會與同事討論當前的行業需求。說到公司總招不到人,程序員總說找不到工作,我有很多想法。是公司要求高還是程序員要求高?有時當我看到一些工作要求時,它總是打擊我的信心。我一一數著,好像我能做的很少,所以我必須讓自己更加努力。當然,我有時也覺得有些招聘不靠譜??匆?,我個人覺得,如果所有的要求都滿足的話,普通人還要努力十八年。那個薪水。
對于程序員來說,做技術真的很累很辛苦。上網一搜,到處都是抱怨和情緒的帖子,充分體現了這個職業的身心挑戰。如果你不怕困難,還想繼續研發技術,那就好好努力吧,說不定哪天你會拿起一個招聘帖,低頭一看:“媽的!就這個要求,我就虧本了!”,那你就是一頭真正的公牛!
現狀分析
近十年來,很多新人來到我們的研發。十年來,同一批人員中的一些人很快適應了環境,通過自己的努力和奉獻,在研發工作中獨樹一幟,成為某一方面的小能手;但通過指導和修正,逐漸進入了工作狀態,相信經過一段時間后,會逐漸承擔起研發工作的某一方面。
為什么他們在同一時期工作時,現在的能力和地位會有如此大的差異?
通過相處和分析,我發現凡是進步較快的同志,都有以下幾個特點:
相反,那些成長較慢或尚未融入研發工作的同志具有以下特點:
兩者對比,問題就很明顯了:研發是一項非常具有挑戰性的工作,需要努力,扎實的理論基礎和動手能力;在發展任務面前,頭腦清醒,思維敏捷,頭腦清醒,有條不紊;遇到困難不退縮,遇到挫折不氣餒;需要有團隊精神,需要有解決矛盾和困難的勇氣、智慧和決心,有很強的心理素質;因此,人員的素質和心理狀態是決定性的。有上進心、稍帶頭、成長很快的同志;不積極的同志工作困難,領導困難,情緒也受到影響。
為了提高研發效率,我們開發了管理軟件,制定了各種規章制度。但是,軟件和系統只能治標不治本。問題的根源在于人。
應該說,研發部目前的軟硬件條件和技術水平,可以讓一群想在電子技術嵌入式領域有所作為的年輕人取得不俗的成績。但是,我們不能對現實過于樂觀。研發部門還存在一些問題,尤其是人員素質。為此,我們在參加研發管理培訓時也咨詢了專業人士。他說了一句話:小草永遠長不出大樹。
所以請你想一想,你現在是一棵樹苗,還是一顆草籽?是一棵樹還是一棵草,取決于你是否有強烈的向上生長的欲望,取決于你是否有從土壤中吸取養分的勤奮,取決于你對生命價值的判斷,是否認為現有的土壤是值得的你堅定的決心。來吧,在這片土地上造一棵大樹。要想長成一棵大樹,就必須為他或她長成一棵大樹創造條件;如果注定是草種,我們無能為力,只能適者生存。
論德才兼備
(1)笨鳥先飛,早入林。對事物的認知與事物對大腦的刺激頻率和時間成正比。如果你經常做某事,經常思考,你就能對事物的理解深度是通過在實踐中不斷發現錯誤和修正來達到的而經驗永遠不能提高,能力的提高也談不上。然后是地位的提高,收入的提高,歸根結底是個人在社會上競爭力的提高。如果不提高自己的核心競爭力,你會整天沉迷其中。網絡里還有別的東西,是不是有點浪費錢?
(2)個人定位決定你的工作態度,思維決定習慣,習慣決定行為,行為影響你的核心競爭力。
(3)改變自己,而不是他人和環境。