學(xué)歷的隱形法則:自考生也能進(jìn)入500強(qiáng),你還在猶豫什么
口述者檔案:
馬征,男,26歲,北京人,2009年畢業(yè)于北京聯(lián)合*商務(wù)計(jì)算機(jī)應(yīng)用(自考)專業(yè),2012年9月加入殼牌(*)有限公司,擔(dān)任客服專員。
我從未想過(guò)自己會(huì)成為自考生。這其中也有一部分運(yùn)氣的成分,運(yùn)氣不算太好。*時(shí),我過(guò)于貪玩,沒(méi)有認(rèn)真學(xué)習(xí),未能考上普通高中,只能上了職高。雖然職高畢業(yè)后也有機(jī)會(huì)參加高考,但那一年我們學(xué)校為了追求升學(xué)率,限制比較嚴(yán)格,只有成績(jī)名的學(xué)生才有資格參加高考。很不幸,我并不在其中。因此,職高畢業(yè)后,我便開始了自己的謀生之路。家人幫我找了一份工作,在一家報(bào)社做校對(duì),說(shuō)實(shí)話,我一點(diǎn)也不喜歡這份工作。
到了這個(gè)時(shí)候,我還沒(méi)有考慮過(guò)要參加自考。那時(shí)候年紀(jì)還小,有些迷茫。后來(lái)有一次,我的表哥來(lái)家里玩,他剛剛考上*。我們聊天時(shí),他說(shuō):“你知道嗎,像你們這種職高畢業(yè)的,幾乎和沒(méi)有專業(yè)一樣,一點(diǎn)用處都沒(méi)有?!彼f(shuō)話時(shí)流露出的那種優(yōu)越感,大大刺激了我。我這才下定決心要參加自考。
我相信所有有過(guò)自考經(jīng)歷的人都能深刻體會(huì)到這條道路的艱辛。我算是比較順利的,用了三年的時(shí)間,考完22門課程,拿到本科文憑。每次考試之前,我的作息時(shí)間基本是這樣的:下班回家后,洗個(gè)澡,立即上床睡覺(jué)。睡到夜里12點(diǎn),起來(lái)泡碗方便面吃,然后開始背書。一直背到早上6點(diǎn),再刷牙洗臉去上班。每次考試之前,由于緊張,我都會(huì)嚴(yán)重失眠。上班時(shí),困得睜不開眼睛,而校對(duì)又是一個(gè)需要集中注意力的工作。有時(shí)候?qū)嵲谔Я耍揖屯低蛋巫约焊觳采系暮姑?,讓自己清醒一?huì)兒。
那真的是一段非常艱難的過(guò)程,無(wú)數(shù)次想過(guò)放棄,身邊也有很多的自考生半途而廢,但讓我最終堅(jiān)持下去的動(dòng)力,來(lái)自于我在自考過(guò)程中處處感受到的不公平的對(duì)待。比如我們?nèi)ヂ?lián)大上培訓(xùn)課,聯(lián)大有停車處,給每個(gè)學(xué)生發(fā)一個(gè)停車牌,但發(fā)給我們的停車牌上會(huì)特別注明:“自考生”。我的有些同學(xué)就會(huì)覺(jué)得很沒(méi)面子,會(huì)把牌子翻過(guò)來(lái),讓別人看不見(jiàn)。我從來(lái)不這樣,有一種倔強(qiáng)吧,自考生怎么了?自考生難道見(jiàn)不得人么?還有一次,我和聯(lián)大的一位本科生聊天,聊到自考分部的時(shí)候,他馬上用一種撇清關(guān)系的口吻說(shuō):“喔,我和他們不熟?!蔽伊⒓凑f(shuō):“我就是自考生啊?!彼軐擂蔚臉幼?。經(jīng)歷的這一切,反倒激起我的好勝心,一定要堅(jiān)持到底。如果我半途而廢,那不更說(shuō)明自考生不怎么樣了么?!
至今我還記得自己拿到*一門考試成績(jī)的那一天,72分,巨大的喜悅,卻又不知如何表達(dá),只能沉默。我獨(dú)自走在街上,漫無(wú)目的,內(nèi)心激蕩,卻又停不下來(lái),似乎只有不停地行走才能幫助我平靜下來(lái)。
拿到文憑后不久,我就換工作了,在一家很小的英語(yǔ)培訓(xùn)機(jī)構(gòu)做市場(chǎng)部總監(jiān)助理。能夠獲得這份工作主要是因?yàn)閮蓚€(gè)原因,一個(gè)是因?yàn)樗麄兿胝幸晃荒猩?,另一個(gè)是他們想招一位沒(méi)有什么工作經(jīng)驗(yàn)的人——他們認(rèn)為這樣的人好管理吧。那是一段噩夢(mèng)一樣的工作經(jīng)歷,我一個(gè)人幾乎承擔(dān)了幾個(gè)人的工作,事無(wú)巨細(xì),包括給主管去交電話費(fèi)。平時(shí)早上8點(diǎn)就要到公司,經(jīng)常一個(gè)人扛著很重的展板走很遠(yuǎn)的路去辦展覽,一天要工作12到14個(gè)小時(shí)。上班的最初幾個(gè)月我的體重暴跌了十幾斤。所有的這些身體上的累我都可以承受,我總是覺(jué)得自己學(xué)歷上沒(méi)有優(yōu)勢(shì),工作閱歷上沒(méi)有優(yōu)勢(shì),苦些累些是應(yīng)該的。但是我不能忍受別人對(duì)我的不尊重,尤其是我的主管領(lǐng)導(dǎo),他是屬于那種名牌*畢業(yè)的人,言談舉止間總有一種優(yōu)越感。比如有時(shí)候中午休息的時(shí)候,我上上網(wǎng),他看見(jiàn)了就會(huì)說(shuō):“你應(yīng)該利用中午的時(shí)間多學(xué)點(diǎn)東西,你底子薄?!倍宜麆?dòng)輒就會(huì)將“我知道你的背景,所以對(duì)你要求不高,你總不能連這么一點(diǎn)要求都達(dá)不到吧”這樣的話掛在嘴上,這是讓我非常不能容忍的。
后來(lái)我就辭職了,去了一家很有名的美國(guó)公司,中文名叫“新聚思”,是做電子物流的,500強(qiáng)之一,同行業(yè)世界排名第三。說(shuō)實(shí)話,當(dāng)我的朋友告訴我這樣一個(gè)招聘信息的時(shí)候,我心里還是很忐忑的,總覺(jué)得是這么*的外企,我一個(gè)自考生能行么?可是現(xiàn)實(shí)卻順利得出乎我的意料,我不但很順利地得到了面試的機(jī)會(huì),而且關(guān)于我的學(xué)歷,人家只問(wèn)了我一句:“你為什么沒(méi)有去讀高中?”我如實(shí)做了回答。當(dāng)面試官得知我在不耽誤本職工作的情況下,用了兩年半的時(shí)間,考完22門課程的時(shí)候,他很由衷地說(shuō)了一句:“你很有毅力,學(xué)習(xí)能力也很強(qiáng)!”
我很順利地得到了這一份工作。我發(fā)現(xiàn)相對(duì)其他企業(yè),其實(shí)外企并不是很看重文憑的,我的同事里有很多北大清華的研究生什么的,但是誰(shuí)也沒(méi)認(rèn)為有一個(gè)很漂亮的學(xué)歷有什么了不起,我和他們相處愉快。可以說(shuō)我真正的自信就是在這份工作當(dāng)中建立起來(lái)的。而且我發(fā)現(xiàn)自己相對(duì)于那些科班出身的同事來(lái)說(shuō),還是有屬于自己的很多優(yōu)勢(shì)。我們公司的客戶很大一部分是在美國(guó),因?yàn)楹兔绹?guó)有時(shí)差的關(guān)系,所以我們很多時(shí)候都需要上晚班。晚班時(shí)人的精神不好,有時(shí)候難免要出錯(cuò)。記得有一次,一位同事將發(fā)貨單的地址填錯(cuò)了,導(dǎo)致客戶不能如期收到貨物,非常生氣,聲稱要投訴我們。當(dāng)時(shí)我的那位同事就慌了,一個(gè)勁地問(wèn)我該怎么辦。當(dāng)時(shí)如果按照正常的程序走,我們應(yīng)該將這件事匯報(bào)給領(lǐng)導(dǎo),但是當(dāng)時(shí)已是深夜,我認(rèn)為沒(méi)有必要興師動(dòng)眾。而且即使匯報(bào)給領(lǐng)導(dǎo),還不是一樣要解決問(wèn)題嗎?我表現(xiàn)得非常鎮(zhèn)靜,一邊安撫美國(guó)那邊的客戶,一邊迅速查找到貨物的下落,再讓美國(guó)那邊的快遞公司盡快將貨物送到顧客的手里,事情總算得到圓滿解決。第二天早晨領(lǐng)導(dǎo)來(lái)上班才得知這件事,夸我應(yīng)變能力強(qiáng),處理得很好。說(shuō)起來(lái)很可笑,其實(shí)我在公司里是年齡最小的一位,但是如果有什么突發(fā)狀況而領(lǐng)導(dǎo)又不在,大家都習(xí)慣要來(lái)問(wèn)問(wèn)我的意見(jiàn),因?yàn)椤榜R征社會(huì)經(jīng)驗(yàn)比我們豐富”。
后來(lái)我決定放棄這份工作是因?yàn)樯眢w方面的原因。因?yàn)榭偸且贤戆?,而我白天的睡眠很不好,長(zhǎng)此以往身體就有些吃不消了。我向領(lǐng)導(dǎo)提出辭職時(shí),他們都感到很惋惜,極力挽留。但我去意已決。
之后我就來(lái)到了現(xiàn)在所在的這家公司。能夠獲得這份工作和新聚思的名氣有關(guān),因?yàn)槲以跉づ扑鶑氖碌墓ぷ鲀?nèi)容和在新聚思從事的幾乎差不多。他們大概是看重我的工作經(jīng)驗(yàn)吧,所以面試的時(shí)候,內(nèi)容百分之八十都圍繞著我在新聚思的工作,對(duì)于學(xué)歷問(wèn)題,幾乎是一帶而過(guò)。
我在殼牌的工作表現(xiàn)一如既往地出色,和同事相處融洽。但是在內(nèi)心深處,我發(fā)現(xiàn)自己其實(shí)還是很在意自己的學(xué)歷的。我經(jīng)常會(huì)向以前的職高同學(xué)打聽當(dāng)年那10位有資格參加高考的同學(xué)的近況。如果知道他們有混得比我好的,我就有一種失落感;如果知道他們混得還不如我,就有些沾沾自喜。心理多少有些陰暗。還有每次電視上報(bào)道關(guān)于高考的新聞時(shí),我都會(huì)立即調(diào)臺(tái),因?yàn)槟遣糠值挠洃浭俏宜鶝](méi)有的,那樣的經(jīng)歷是我不在其中的。平時(shí)在和同事聊天時(shí),我從不敢輕易地涉及*、學(xué)歷之類的話題,我很怕別人問(wèn)我:“你是哪個(gè)學(xué)校畢業(yè)的?”每次我都不知道該怎么說(shuō),只能含含糊糊地一帶而過(guò)。弄到后來(lái)我都不愿意和同事有深入的私交了,就怕人家問(wèn)我這個(gè)問(wèn)題。這成了在很長(zhǎng)時(shí)間里最困擾我的事情,為此我甚至想過(guò)要去考一個(gè)研究生,那樣我就可以大大方方地告訴別人:“我是哪個(gè)學(xué)校畢業(yè)的?!?/p>
我認(rèn)為自己是個(gè)生性坦蕩的人,凡事不喜歡遮遮掩掩,所以這種對(duì)別人有所隱瞞的狀態(tài),讓我挺難受的。我一直想著有一天要能夠從容和別人談?wù)搶W(xué)歷、談?wù)撐业淖钥忌睿墒钦娴牡絼e人問(wèn)我的時(shí)候,我不知道自己是怎么回事就是說(shuō)不出口。這個(gè)在很長(zhǎng)時(shí)間里真的成了我生活中的一個(gè)難題。
(注:文中價(jià)格進(jìn)行上下浮動(dòng)10%的修改)
后來(lái),在一次同事聚會(huì)上,大家熱烈地談?wù)撝髯缘?生活。我緊張得有些不知所措,生怕觸及到自己的敏感話題。然而,命運(yùn)似乎在捉弄我,一位同事突然問(wèn)我:“馬征,你是哪個(gè)學(xué)校畢業(yè)的?”我內(nèi)心掙扎,本能地想要回避,但我知道,如果錯(cuò)過(guò)了這次機(jī)會(huì),我可能永遠(yuǎn)無(wú)法面對(duì)內(nèi)心的陰影。我鼓起勇氣,深吸一口氣,以輕松的語(yǔ)氣回答:“我啊,是通過(guò)自學(xué)考試取得的學(xué)歷,并沒(méi)有在學(xué)校正式學(xué)習(xí)過(guò)?!闭f(shuō)完,我感到一陣空白,臉頰泛起紅暈。我偷偷觀察同事們的反應(yīng),出乎意料的是,他們只是淡淡地“哦”了一聲,便繼續(xù)自己的話題。我甚至不確定他們是否真的聽到了我的回答。
那天晚上,我終于對(duì)自己作為自考生的事實(shí)感到釋然。那是我參加工作以來(lái)最開心的一天。我忽然明白,所有的煩惱其實(shí)都是自己制造的。如果自己不在意,別人又怎么會(huì)關(guān)心呢?一個(gè)人要想獲得別人的認(rèn)可,靠的絕不是虛幻的名頭,而是自己的實(shí)力和能力。
如今,我可以坦然地告訴任何人:“是的,我是一名自考生。”
我的求職經(jīng)驗(yàn)
在撰寫簡(jiǎn)歷時(shí),我會(huì)將工作經(jīng)驗(yàn)放在首位,學(xué)歷背景放在次之。因?yàn)槿肆Y源*在挑選簡(jiǎn)歷時(shí),最看重的是工作經(jīng)驗(yàn)。
我要讓面試官知道,自學(xué)考試難度很大,通過(guò)率僅有20%。通過(guò)自考,說(shuō)明我的學(xué)習(xí)能力很強(qiáng)。
面試時(shí),要突出自考生具備的優(yōu)勢(shì)。自考生通常踏實(shí)、能吃苦、有毅力,而且動(dòng)手能力和實(shí)踐能力通常比正規(guī)院校的本科生更強(qiáng)。
現(xiàn)實(shí)中,有些用人單位對(duì)自考生存在偏見(jiàn)。受這些偏見(jiàn)的影響,很多自考生在求職時(shí)無(wú)法克服內(nèi)心的心理弱勢(shì),導(dǎo)致在面試過(guò)程中表現(xiàn)不佳。自考生要注意調(diào)整心態(tài),敢于展示自我,主動(dòng)出擊,因?yàn)樽孕耪吒菀椎玫娇脊俚那嗖A。
自考生如果暫時(shí)還未拿到自考文憑,可以先考取相關(guān)資格證書,以彌補(bǔ)學(xué)歷不足的缺陷?,F(xiàn)在很多自考專業(yè)都開設(shè)了相應(yīng)的證書課程,既能拿到文憑,又能拿到資格證書,對(duì)就業(yè)有很大幫助。例如,英語(yǔ)專業(yè)的學(xué)生可以考取翻譯資格證,為找工作增加優(yōu)勢(shì)。
盡量不要去國(guó)有企業(yè),因?yàn)閲?guó)有企業(yè)對(duì)自考生存在嚴(yán)重歧視。相反,一些*外企更看重工作能力,能夠公正地對(duì)待自考生。
自考生也不要指望去做公務(wù)員,因?yàn)?機(jī)構(gòu)對(duì)自考生存在歧視。
像重視自考一樣重視招聘考試。
我給求職者的建議
如果你的年齡還小,沒(méi)有生活壓力,*不要選擇一邊工作一邊學(xué)習(xí),而是專心在家學(xué)習(xí),爭(zhēng)取一次性拿到文憑。
選擇自考專業(yè)時(shí),要結(jié)合自己的特長(zhǎng)和就業(yè)形勢(shì)。
要培養(yǎng)自學(xué)能力,盡量自己弄懂概念、知識(shí)點(diǎn),不要過(guò)分依賴輔導(dǎo)班或他人。
對(duì)待每一門課程都要認(rèn)真對(duì)待,尤其是英語(yǔ)、數(shù)學(xué)等公共課。對(duì)于學(xué)會(huì)計(jì)的,會(huì)計(jì)、財(cái)務(wù)管理等基礎(chǔ)課尤為重要;對(duì)于學(xué)法律的,法理、刑法、民法等;對(duì)于學(xué)計(jì)算機(jī)的,計(jì)算機(jī)基本原理和程序設(shè)計(jì)等。總之,對(duì)待*的基礎(chǔ)課要特別重視。
重視考前復(fù)習(xí)。雖然這不是一個(gè)好的學(xué)習(xí)方式,但對(duì)通過(guò)考試很有幫助。
有機(jī)會(huì)的話,可以去讀碩士研究生,而且要去名校,這是對(duì)你人生的一大投資。此外,要常年參加職業(yè)培訓(xùn)和學(xué)習(xí),包括職稱考試、資格考試、職業(yè)繼續(xù)教育,確保自己在專業(yè)領(lǐng)域不落后。
最重要的是,在考試階段,一定要下定決心,堅(jiān)持到底。因?yàn)榭催^(guò)太多身邊的自考生因?yàn)楦鞣N原因半途而廢,比如有位男生,一共要考17門,結(jié)果已經(jīng)考過(guò)了16門,還有一門他一直拖著,一拖就是好幾年,非??上?。
你好。我的情況和你差不多。不過(guò)我現(xiàn)在正忙于考研。關(guān)于嵌入式培訓(xùn),我給你一些建議。我本科專業(yè)是計(jì)算機(jī)科學(xué)與技術(shù)。專業(yè)課程學(xué)得還不錯(cuò)。培訓(xùn)就像考研的輔導(dǎo)班,有用但有時(shí)也未必有用。這時(shí)最忌諱的就是病急亂投醫(yī)。很多培訓(xùn)機(jī)構(gòu)的老師水平真的很差。至少我去過(guò)兩家培訓(xùn)機(jī)構(gòu),和那些老師交談過(guò),也問(wèn)了一些問(wèn)題。他們的答案我覺(jué)得很不專業(yè)。比如我問(wèn),在嵌入式開發(fā)中,最難把握的環(huán)節(jié)是哪個(gè)部位?這個(gè)問(wèn)題難倒了很多老師。正確答案是接口時(shí)序的安排。呵呵,你可以想象,你花了1萬(wàn)多塊錢遇到這樣的老師,還想高薪就業(yè),別想了。
我現(xiàn)在在EMULE上看到了有關(guān)ARM嵌入式開發(fā)的視頻,正在跟著學(xué)習(xí),感覺(jué)有些難度。(我個(gè)人認(rèn)為我不算菜鳥。我有LINUX內(nèi)核閱讀經(jīng)歷,RADHAT 9還算熟練,也寫過(guò)一些小SHELL,200行左右。)其實(shí)很多人參加培訓(xùn),主要是看中它所說(shuō)的推薦工作和以后的待遇。嵌入式有很多方向。還有一點(diǎn)我要提醒你,一定要根據(jù)興趣去學(xué)習(xí),不要因?yàn)閯e人說(shuō)這個(gè)吃香就去,那個(gè)有資料就去學(xué)。我強(qiáng)烈建議你在網(wǎng)上找一些嵌入式視頻看看,看看自己能不能行,有沒(méi)有興趣。就算你要去培訓(xùn),也當(dāng)是預(yù)習(xí)吧。我有個(gè)同學(xué)已經(jīng)在培訓(xùn)了,他告訴我,他的工作就是……風(fēng)吹書。還有,以下是一個(gè)高級(jí)工程師的成長(zhǎng)經(jīng)歷,你可以看看。對(duì)了,別忘了給我分哈哈哈。
本文將從技術(shù)和就業(yè)經(jīng)驗(yàn)等角度,為即將進(jìn)入嵌入式開發(fā)的程序員們?cè)敿?xì)講述嵌入的概念、嵌入式開發(fā)之間的異同以及如何做出選擇,希望對(duì)大家有所幫助。
一、嵌入式系統(tǒng)的概念
著重理解“嵌入”的概念,主要從以下三個(gè)方面來(lái)理解:
1. 從硬件上,將基于CPU的外圍器件整合到CPU芯片內(nèi)部。例如,早期基于X86體系結(jié)構(gòu)下的計(jì)算機(jī),CPU僅具有運(yùn)算器和累加器的功能,其他芯片需要通過(guò)外部橋路來(lái)擴(kuò)展實(shí)現(xiàn),如串口等都是通過(guò)外部的16C550/2串口控制器芯片實(shí)現(xiàn)。而目前的串口控制器芯片已經(jīng)集成到CPU內(nèi)部,PC機(jī)有顯卡,而多數(shù)嵌入式處理器都帶有LCD控制器,相當(dāng)于顯卡。高端的ARM類Intel Xscale架構(gòu)下的IXP網(wǎng)絡(luò)處理器CPU內(nèi)部集成PCI控制器(可配成支持4個(gè)PCI從設(shè)備或配成自身為CPI從設(shè)備);還集成3個(gè)NPE網(wǎng)絡(luò)處理器引擎,其中兩個(gè)對(duì)應(yīng)于兩個(gè)MAC地址,可用于網(wǎng)關(guān)交換,而另一個(gè)NPE網(wǎng)絡(luò)處理器引擎支持DSL,只需外面再加個(gè)PHY芯片即可實(shí)現(xiàn)DSL上網(wǎng)功能。IXP系列*主頻可達(dá)1.8G,支持2G內(nèi)存,1G×10或10G×1的以太網(wǎng)口或Febre channel的光通道。IXP系列應(yīng)該是基于ARM體系結(jié)構(gòu)下由Intel整合后成為Xscale內(nèi)核的*處理器了。
2、在軟件層面,實(shí)現(xiàn)應(yīng)用“嵌入”的方式是在定制操作系統(tǒng)內(nèi)核時(shí),將應(yīng)用軟件一同選擇并編譯,然后將編譯后的內(nèi)核下載至ROM。在定制操作系統(tǒng)內(nèi)核時(shí)選擇的應(yīng)用程序組件,即完成了軟件的“嵌入”過(guò)程。例如,WinCE在內(nèi)核定制時(shí),可以選擇wordpad、PDF、MediaPlay等應(yīng)用,若選擇了這些,在CE啟動(dòng)后,用戶可以在界面上找到它們,而在傳統(tǒng)的PC Windows操作系統(tǒng)中,許多功能則需要重新安裝。
3、將軟件內(nèi)核或應(yīng)用文件系統(tǒng)等寫入嵌入式系統(tǒng)硬件平臺(tái)的ROM中,便完成了真正的“嵌入”。
上述定義是我大約6、7年前對(duì)嵌入式系統(tǒng)所作的理解型定義。書中的定義也很多,但在這個(gè)領(lǐng)域內(nèi),沒(méi)有人敢斷言自己的定義是絕對(duì)準(zhǔn)確的,包括那些專家學(xué)者。因?yàn)榍度胧较到y(tǒng)是計(jì)算機(jī)科學(xué)范疇下的一門綜合性*。
二、嵌入式系統(tǒng)的分層與專業(yè)分類。
嵌入式系統(tǒng)分為四層:硬件層、驅(qū)動(dòng)層、操作系統(tǒng)層和應(yīng)用層。
1、硬件層,是整個(gè)嵌入式系統(tǒng)的基石。如果對(duì)單片機(jī)和接口技術(shù)非常熟悉,并能用C和匯編語(yǔ)言編程,那么在嵌入式系統(tǒng)的硬件層發(fā)展會(huì)比較順利。硬件層也是驅(qū)動(dòng)層的基礎(chǔ)。一個(gè)優(yōu)秀的驅(qū)動(dòng)工程師需要能夠理解硬件電路圖,并能獨(dú)立完成CPLD的邏輯設(shè)計(jì),同時(shí)還要對(duì)操作系統(tǒng)內(nèi)核及其調(diào)度性有深入了解。但硬件平臺(tái)是基礎(chǔ),增值還需依靠軟件。
硬件層適合于電子、通信、自動(dòng)化、機(jī)電一體和信息工程等專業(yè)的專業(yè)人士,需要掌握的專業(yè)基礎(chǔ)知識(shí)包括單片機(jī)原理及接口技術(shù)、微機(jī)原理及接口技術(shù)、C語(yǔ)言等。
2、驅(qū)動(dòng)層,這部分相對(duì)較難。驅(qū)動(dòng)工程師不僅要能讀懂電路圖,還要對(duì)操作系統(tǒng)內(nèi)核有深刻理解,以確保其編寫的驅(qū)動(dòng)程序在系統(tǒng)調(diào)用時(shí)不會(huì)獨(dú)占操作系統(tǒng)時(shí)間片,從而影響其他任務(wù)的執(zhí)行。不懂操作系統(tǒng)內(nèi)核架構(gòu)和實(shí)時(shí)調(diào)度性,沒(méi)有良好的驅(qū)動(dòng)編寫風(fēng)格,很難達(dá)到初級(jí)驅(qū)動(dòng)工程師的水平。這樣編寫的驅(qū)動(dòng)在應(yīng)用調(diào)用時(shí)可能會(huì)像Windows下打開程序一樣,要么中斷前一個(gè)程序,要么等待一會(huì)兒才能運(yùn)行后續(xù)程序。要想成為優(yōu)秀的驅(qū)動(dòng)人員,沒(méi)有三、四年功底,不深入研究操作系統(tǒng)內(nèi)核,不太可能成功,但其工資在嵌入式系統(tǒng)四層中是*的。
驅(qū)動(dòng)層適合于電子、通信、自動(dòng)化、機(jī)電一體和信息工程等專業(yè)的專業(yè)人士,尤其是計(jì)算機(jī)體系結(jié)構(gòu)方向的專業(yè)人士,除了硬件層所需要的基礎(chǔ)*外,還需要對(duì)數(shù)據(jù)結(jié)構(gòu)與算法、操作系統(tǒng)原理、編譯原理等有深入的了解。
3、操作系統(tǒng)層,目前可能只能說(shuō)是簡(jiǎn)單的移植,很少有人能自己編寫操作系統(tǒng),或者編寫出功能不完善的操作系統(tǒng)。這部分工作大多由驅(qū)動(dòng)工程師來(lái)完成。操作系統(tǒng)負(fù)責(zé)系統(tǒng)任務(wù)的調(diào)試、磁盤和文件管理,而嵌入式系統(tǒng)的實(shí)時(shí)性至關(guān)重要。據(jù)說(shuō),Windows XP操作系統(tǒng)是微軟投入300人用兩年時(shí)間才完成的,總工時(shí)為600人年,中科院軟件所的“女媧Hopen”操作系統(tǒng)估計(jì)也需要幾百人年才能完成。因此,這部分工作相對(duì)沒(méi)有太大意義。
4、應(yīng)用層,相對(duì)較容易。如果熟悉在Windows下進(jìn)行編程接口函數(shù)調(diào)用,那么在操作系統(tǒng)下只需進(jìn)行編譯和開發(fā)環(huán)境的變化即可。如果涉及Java編程也是如此。嵌入式系統(tǒng)中涉及算法的部分由專業(yè)算法人員處理,不必歸類到嵌入式系統(tǒng)范疇內(nèi)。但如果涉及嵌入式數(shù)據(jù)庫(kù)、基于嵌入式系統(tǒng)的網(wǎng)絡(luò)編程和基于某些應(yīng)用層面的協(xié)議應(yīng)用開發(fā)(如基于SIP、H.323、Astrisk)等方面,則較為復(fù)雜,并有難度。
三、目標(biāo)與定位
首先設(shè)定目標(biāo),然后進(jìn)行定位。
學(xué)習(xí)ARM,從硬件層面講,一方面是學(xué)習(xí)接口電路設(shè)計(jì),另一方面是學(xué)習(xí)匯編和C語(yǔ)言的板級(jí)編程。從軟件層面講,需要學(xué)習(xí)基于ARM處理器的操作系統(tǒng)層面的驅(qū)動(dòng)和移植。對(duì)于初學(xué)者來(lái)說(shuō),必須明確這一點(diǎn):要么從硬件入手開始學(xué)習(xí),要么從操作系統(tǒng)層面熟悉到應(yīng)用開始學(xué)習(xí)。但不管學(xué)什么,如果不是純操作系統(tǒng)級(jí)以上基于API的應(yīng)用層編程,硬件的寄存器類的東西還是要能看懂的,基于板級(jí)的匯編和C編程還是要會(huì)的。因此,針對(duì)嵌入式系統(tǒng)的硬件層和驅(qū)動(dòng)程序人員,ARM的接口電路設(shè)計(jì)、ARM的C語(yǔ)言和匯編語(yǔ)言編程及調(diào)試開發(fā)環(huán)境是需要掌握的。
因此,對(duì)于初學(xué)者來(lái)說(shuō),必須明確自己的方向,自己的目標(biāo)是什么,自己要在哪個(gè)層面上發(fā)展。然后再著手學(xué)習(xí)會(huì)更好。針對(duì)嵌入式系統(tǒng)的硬件層和驅(qū)動(dòng)層,不管學(xué)好了哪一層,都會(huì)有很好的前途。
如果想從嵌入式系統(tǒng)的應(yīng)用層面發(fā)展,可能需要與ARM及其他體系結(jié)構(gòu)有較大的距離,需要著重研究基于嵌入式操作系統(tǒng)的環(huán)境應(yīng)用與相應(yīng)開發(fā)工具鏈,比如WinCe操作系統(tǒng)下的EVC應(yīng)用開發(fā)(與Windows下的VC類似)。如果想要有更大的突破,可以研究某些音視頻類的協(xié)議,比如VOIP領(lǐng)域的基于SIP或H.323協(xié)議的應(yīng)用層開發(fā),或者基于嵌入式網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的開發(fā)等。
對(duì)于初學(xué)者來(lái)說(shuō),要量力而行,不要僅僅因?yàn)轵?qū)動(dòng)層的工資高就將其作為方向。要結(jié)合自身特點(diǎn),嵌入式系統(tǒng)四個(gè)層面都有高手存在,當(dāng)然高手對(duì)應(yīng)的是高工資。我從事硬件層工作,以前每月工資中個(gè)人所得稅要被扣近3000元,一方面扮演工程師的角色,另一方面扮演主管和領(lǐng)導(dǎo)的角色,兩個(gè)職位我一個(gè)人承擔(dān),但工作時(shí)間是有限的。在硬件方面可能與我競(jìng)爭(zhēng)的人很少,才讓我拿到那么高的工資。
四、開發(fā)系統(tǒng)選擇。
許多ARM初學(xué)者都希望擁有一套自己的開發(fā)系統(tǒng),但他們常常會(huì)陷入一個(gè)誤區(qū),認(rèn)為處理器版本越高、性能越強(qiáng)越好,就像很多人認(rèn)為ARM9比ARM7好。我想對(duì)于初學(xué)者來(lái)說(shuō),在這個(gè)方面入門時(shí)應(yīng)該保持理智,開發(fā)系統(tǒng)的選擇最終要看自己要向嵌入式系統(tǒng)的哪個(gè)方向發(fā)展,是做驅(qū)動(dòng)開發(fā)還是應(yīng)用,還是做嵌入式系統(tǒng)硬件層設(shè)計(jì)與板級(jí)測(cè)試。如果想從操作系統(tǒng)層面或應(yīng)用層面發(fā)展,不管是驅(qū)動(dòng)還是應(yīng)用,處理器性能越高越好,但自學(xué)這部分內(nèi)容難度非常大,不是幾個(gè)月、半年或一兩年就能搞定的。
在某種程度上,ARM7與ARM9的差別主要在于某些功能指令集的豐富和主頻的提高,就像286和386一樣。對(duì)于用戶來(lái)說(shuō),可能感覺(jué)不到太大的差別,只是感覺(jué)速度有些快而已。
ARM7比較適合那些想從硬件層面發(fā)展的人,因?yàn)锳RM7系列處理器內(nèi)部帶MMU的較少,且更容易控制,比如S3C44B0,可以很容易地關(guān)閉Cache,而且內(nèi)部接口寄存器很容易看懂,各種接口都可以通過(guò)硬件程序控制或AXD單步命令行指令控制,基于51單片機(jī)的思想很容易就能理解,可以將其視為一個(gè)32位的單片機(jī),從而解決很多51工程師想要轉(zhuǎn)為嵌入式系統(tǒng)硬件ARM開發(fā)工程師的困惑,從而不會(huì)被一些不真正懂嵌入式系統(tǒng)的爛公司帶到操作系統(tǒng)層面上去,讓他們望而卻步,讓業(yè)界更加缺少這方面的人才。
嵌入式系統(tǒng)在硬件設(shè)計(jì)或軟件驅(qū)動(dòng)方面都非常注重接口部分,選擇平臺(tái)時(shí)還要考察處理器的外部資源。你接觸的外部資源越多,越熟悉它們,你將來(lái)就業(yè)的成功率就越高,這就是招聘時(shí)所說(shuō)的“相關(guān)技能”。因?yàn)橐粋€(gè)人不可能在短短幾年內(nèi)接觸到所有的處理器,而招聘單位所使用的處理器可能是我們從未見(jiàn)過(guò)的。就拿臺(tái)灣數(shù)十家小公司(市值數(shù)千萬(wàn))生產(chǎn)的ARM類處理器來(lái)說(shuō),也很實(shí)用,但它們的通用性太差,使用這些處理器的公司只能招聘有相關(guān)工作經(jīng)驗(yàn)的人,那么什么是相關(guān)工作經(jīng)驗(yàn)?zāi)兀吭谟布?,是指外圍接口設(shè)計(jì)經(jīng)驗(yàn),在軟件上,是指操作系統(tǒng)方面相關(guān)接口驅(qū)動(dòng)及應(yīng)用開發(fā)經(jīng)驗(yàn)。我從事近十年,2000年ARM出現(xiàn),我從一開始做ARM7,然后直接過(guò)渡到Xscale(這個(gè)版本在ARM10-11之間),一做就是五年,面試了不下數(shù)百人,在這些方面還是有深刻體會(huì)的。
我個(gè)人認(rèn)為三星的S3C44B0對(duì)于初學(xué)者來(lái)說(shuō)比較合適,原因在于接口資源豐富,技術(shù)成熟,資料較多,非常適合初學(xué)者。有問(wèn)題可能很容易找到人幫忙解決,因?yàn)榇蠖鄶?shù)人都很熟悉,就像51類的單片機(jī)一樣,有N多位專家級(jí)的人物可以給你幫忙,相關(guān)問(wèn)題得以很快解答。盡管業(yè)界認(rèn)為這款A(yù)RM已經(jīng)過(guò)時(shí)了,但對(duì)于初學(xué)者來(lái)說(shuō),這卻是一件好事。
因此,開發(fā)系統(tǒng)的選擇,要看自己的未來(lái)目標(biāo)方向、要看開發(fā)板接口資源、還要看業(yè)界的通用性。
五、如何看待培訓(xùn)。
首先,讓我自報(bào)家門。我在嵌入式系統(tǒng)行業(yè)已耕耘近十年,與這個(gè)領(lǐng)域共同成長(zhǎng),始終走在行業(yè)的前沿。我設(shè)計(jì)過(guò)多款高端嵌入式系統(tǒng)平臺(tái)產(chǎn)品,并為多家公司提供了解決方案。在我離職前,我在一家美資公司擔(dān)任設(shè)計(jì)IP-PBX的職務(wù),歷任項(xiàng)目經(jīng)理、項(xiàng)目主管、技術(shù)總監(jiān)、*經(jīng)理等職位。我積累了豐富的人脈資源,結(jié)合多年的經(jīng)驗(yàn),鑒于學(xué)生就業(yè)與公司招聘之間的不匹配問(wèn)題,我創(chuàng)立了知天行科技有限公司,致力于嵌入式系統(tǒng)教育培訓(xùn)。
由于一線科研人員和教師之間缺乏交流,導(dǎo)致國(guó)內(nèi)嵌入式人才匱乏。國(guó)外高校的技術(shù)領(lǐng)先于業(yè)界公司,而國(guó)內(nèi)則是業(yè)界公司的嵌入式系統(tǒng)技術(shù)領(lǐng)先于高校。為了搭建業(yè)界與高校之間的橋梁,將先進(jìn)技能傳授給高校學(xué)子,為學(xué)生的就業(yè)競(jìng)爭(zhēng)打造優(yōu)勢(shì),也為業(yè)界工程師提供快速提升和創(chuàng)造機(jī)遇的平臺(tái),我毅然辭去了外企年薪超過(guò)20萬(wàn)的職位,投身于嵌入式系統(tǒng)培訓(xùn)行業(yè)。
對(duì)于培訓(xùn)來(lái)說(shuō),花錢買時(shí)間是明智之舉。許多工程師傾向于自學(xué),認(rèn)為培訓(xùn)并無(wú)價(jià)值。當(dāng)然,純粹以盈利為目的的培訓(xùn)確實(shí)價(jià)值不高。但對(duì)于實(shí)力型培訓(xùn),工程師可能會(huì)失去很多。以下是一筆賬,或許他們未曾計(jì)算過(guò):如果一個(gè)為期一周的培訓(xùn),能讓他們?cè)谧詫W(xué)兩年后才能掌握的知識(shí),在培訓(xùn)結(jié)束后用三個(gè)月到半年的時(shí)間消化,那么他們將節(jié)省至少一年半的時(shí)間來(lái)學(xué)習(xí)其他知識(shí)或站在更高的工作高度。這樣,他們最遲在一年后就能獲得與兩年后水平相當(dāng)?shù)墓べY,與同期人相比,工資水平提前了一年,每月按最少1000元計(jì)算,再減去培訓(xùn)費(fèi)用至少多1萬(wàn)元,同時(shí)也節(jié)省了一年時(shí)間。無(wú)論是休閑還是繼續(xù)提高,總之,他們已經(jīng)走到了隊(duì)伍的前面。
另一方面,對(duì)于新人的培訓(xùn)相當(dāng)于為他們提前購(gòu)買了一份失業(yè)保險(xiǎn)。有師傅帶領(lǐng)他們?nèi)胄?,我今年暑假班上最年輕的學(xué)生是大二的學(xué)生,今年才上大三,這學(xué)期剛開始學(xué)習(xí)單片機(jī),但現(xiàn)在已經(jīng)在ARM編程方面取得了顯著成績(jī)。再過(guò)一年多畢業(yè),他還會(huì)失業(yè)嗎?
再者,通過(guò)培訓(xùn),你可以了解到許多業(yè)界不為常人所知的事情,同時(shí)為自己找到了一位師傅。例如,兩個(gè)工程師分別用S3C2410和PXA255來(lái)做手持設(shè)備,兩人都工作了四年,出去找工作時(shí),工資可能最多相差一倍。為什么?這就是業(yè)界不為常人所知的規(guī)則。2410屬于民品,被業(yè)界用得爛了,做產(chǎn)品時(shí)成本特別敏感,當(dāng)然也對(duì)人才成本敏感。PXA255是英特爾的產(chǎn)品,一個(gè)255 CPU能買三個(gè)2410,一直被業(yè)界定義為貴族產(chǎn)品,用的公司都是大公司或?yàn)檐姺椒?wù)的公司,不會(huì)在乎成本,只要把東西做好,一切都好說(shuō)。但這方面做的人也少,因?yàn)殚_發(fā)系統(tǒng)成本高。
關(guān)于為自身找到一位好師傅,我想是這樣的:由于同級(jí)工程師之間存在著潛在的競(jìng)爭(zhēng)關(guān)系,很多人不愿意把自己的知識(shí)教給別人,因?yàn)檫@意味著他們將失業(yè)。所謂的“教會(huì)徒弟,餓死師傅”,但對(duì)于我們這些人來(lái)說(shuō),并不存在這樣的關(guān)系。我在嵌入式系統(tǒng)平臺(tái)設(shè)計(jì)上已經(jīng)取得了相當(dāng)?shù)某煽?jī),在國(guó)內(nèi)這個(gè)領(lǐng)域的技術(shù)上,我已經(jīng)很難再突破自己,因此,很多知識(shí)我都愿意與大家分享。例如,下面提到的關(guān)于接口設(shè)計(jì)中的時(shí)序接口知識(shí),如果不講,即使是高級(jí)硬件工程師,也只有大約10%的人能了解。
六、成為高級(jí)嵌入式系統(tǒng)硬件工程師所需的技能。
對(duì)于硬件來(lái)說(shuō),有幾個(gè)方向。從單純的信號(hào)角度來(lái)分,有數(shù)字和模擬。模擬電路比較復(fù)雜,需要長(zhǎng)時(shí)間的積累經(jīng)驗(yàn)。僅僅一個(gè)阻值或容值的精度不夠,就可能使信號(hào)偏差很大。因此,年輕人較少涉足這個(gè)領(lǐng)域。隨著技術(shù)的發(fā)展,模擬電路逐漸數(shù)字化,如手機(jī)的Modem射頻模塊,都采用成熟的套片。當(dāng)時(shí),國(guó)際上只有兩家公司擁有這項(xiàng)技術(shù)。自我感覺(jué)模擬功能不太強(qiáng)的人,可能不太適合從事這個(gè)領(lǐng)域。如果能夠搞定手機(jī)的射頻模塊,只要達(dá)到一般程度,月薪可能在15000元以上。
另一類是數(shù)字部分。在大方向上,可分為51/ARM單片機(jī)類、DSP類、FPGA類。國(guó)內(nèi)FPGA的工程師大多在IC設(shè)計(jì)公司從事IP核的前端驗(yàn)證,這部分工作如果不搞到門級(jí),前途不太明朗。即使做個(gè)IC前端驗(yàn)證工程師,也要搞上幾年才能勝任。DSP硬件接口比較定型,如果不向驅(qū)動(dòng)或算法靠攏,前途也不會(huì)太大。而ARM單片機(jī)類的內(nèi)容較多,業(yè)界產(chǎn)品占用量大,應(yīng)用人群廣泛,因此就業(yè)空間極大。而硬件設(shè)計(jì)最體現(xiàn)水平和水準(zhǔn)的就是接口設(shè)計(jì)這塊,這是各個(gè)高級(jí)硬件工程師相互競(jìng)爭(zhēng)、判斷水平高低的依據(jù)。而接口設(shè)計(jì)這塊最關(guān)鍵的是看時(shí)序,而不是簡(jiǎn)單的連接。例如,PXA255處理器I2C要求速度在100Kbps,如果把一個(gè)*還達(dá)不到100kbps的I2C外圍器件與之相連,必然會(huì)導(dǎo)致設(shè)計(jì)失敗。這樣的情況有很多,比如51單片機(jī)可以在總線上接LCD,但為什么這種LCD不能掛在ARM的總線上?還有,ARM7總線上可以外接Winbond的SD卡控制器,但為什么這種控制器接不到ARM9或Xscale處理器上?這些都是問(wèn)題。因此,接口并不是簡(jiǎn)單的連接,要看時(shí)序,要看參數(shù)。一個(gè)優(yōu)秀的硬件工程師應(yīng)該能夠在沒(méi)有參考方案的前提下設(shè)計(jì)出一個(gè)在成本和性能上更加優(yōu)秀的產(chǎn)品,同時(shí)也要對(duì)現(xiàn)有方案進(jìn)行適當(dāng)?shù)目尚行圆眉?,但不是胡亂地來(lái)。我遇到過(guò)一位工程師,把方案中的5V變1.8V的DC芯片直接更換成LDO,有時(shí)會(huì)導(dǎo)致CPU燒毀。前幾天,有人希望我?guī)兔?yōu)化他們以前基于PXA255平臺(tái)的手持GPS設(shè)備的程序。我了解到,地圖存儲(chǔ)在SD卡中,而SD卡與PXA255的MMC控制器之間采用SPI接口,導(dǎo)致地圖讀取速度非常慢。這種情況是設(shè)計(jì)中的嚴(yán)重缺陷,而不是程序問(wèn)題。因此,我提出了幾條建議,讓他們更新后再試試。因此,想成為一個(gè)優(yōu)秀的工程師,需要對(duì)系統(tǒng)整體性的把握和對(duì)已有電路的理解。換句話說(shuō),給你一套電路圖,你終究能看明白多少。如果看不明白80%以上的內(nèi)容,說(shuō)明你離優(yōu)秀的工程師還差得遠(yuǎn)。
其次是電路的調(diào)試能力和審圖能力,但最基本的能力還是原理圖設(shè)計(jì)、PCB繪制和邏輯設(shè)計(jì)。這是指硬件設(shè)計(jì)工程師。從上面的硬件設(shè)計(jì)工程師中,還可以分出ECAD工程師,即專業(yè)的PCB板繪制工程師,和EMC設(shè)計(jì)工程師,幫助他人解決EMC問(wèn)題。硬件工程師再往上就是板級(jí)測(cè)試工程師,即C語(yǔ)功底很好的硬件工程師,在電路板調(diào)試過(guò)程中能通過(guò)自己編寫的測(cè)試程序?qū)τ布δ苓M(jìn)行驗(yàn)證。然后再交給基于操作系統(tǒng)級(jí)的驅(qū)動(dòng)開發(fā)人員。
總之,硬件的內(nèi)容很多很雜,掌握了硬件方面的技能,都會(huì)成為一個(gè)高手。我時(shí)常為他人做方案評(píng)估,很多高級(jí)硬件工程師設(shè)計(jì)的東西,經(jīng)常被我一句話否定。因此,工程師做到我這種地步,也會(huì)得罪一些人,但硬件確實(shí)有很多不為人知的東西,讓許多高級(jí)硬件工程師也摸不到頭腦。
那么,高級(jí)硬件工程師需要具備哪些技術(shù)技能呢?首先,要掌握EDA設(shè)計(jì)的輔助工具,如Protel、ORCAD、PowerPCB、Maplux、2ISE、VDHL語(yǔ)言,能夠使用這些工具進(jìn)行畫圖、畫板和邏輯設(shè)計(jì)。其次,要有接口設(shè)計(jì)審圖能力和調(diào)試能力。如果能走到總體方案設(shè)計(jì)這塊,那就基本上快成為資深工程師了。
硬件需要靠經(jīng)驗(yàn)和積累,十年磨一劍,百年磨一針。