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