嵌入式從業(yè)之路,我該怎么走?
本刊編輯部
想進入嵌入式行業(yè)的人不在少數(shù),不過,有些感覺無從下手,有些則擔心其未來發(fā)展前景。而不少已經(jīng)踏進嵌入式圈子的從業(yè)者,常常在羨慕其他行業(yè)高薪的同時,對于如何規(guī)劃自己的職業(yè)之路一籌莫展,只好揣著種種困惑隨波逐流,四處跟風。為此,我們特地邀請到一些業(yè)內(nèi)人士各抒己見,希望能對處在迷茫中的嵌入式愛好者和從業(yè)者有所啟發(fā)。
理論與實踐并重,從業(yè)之路方能暢通無阻!太原理工大學曉明研究室掌門人 常曉明教授
1.嵌入式學習,理論和實踐缺一不可
嵌入式要學的東西很多,該注重理論還是實踐?的確,嵌入式系統(tǒng)的實踐性是很強的,但是它需要足夠的理論基礎做支撐。因此,我認為,理論和實踐這兩個方面,不能割裂開,偏重于哪一方面都會出問題。如果理論基礎不扎實,只是注重實踐,那么你充其量只是個安裝和操作工,或者調(diào)試工。對于嵌入式系統(tǒng)開發(fā),要想做到一定水平,必然是理論和實踐兩個方面都要下足功夫,并且有機地結合起來。
也許大家會感覺到這個難度太大,事實上,確實會有相當?shù)碾y度。不過,如果你只偏重理論,而不去實踐的話,那么學的理論知識可能很快就會忘掉,或者永遠停留在紙上談兵。反之,如果基礎理論比較好的話,再去動手實踐,上手就會比較容易。因此,我一直主張在具備一定理論的基礎上,立即進行實踐,去消化這些理論,在實踐當中深刻地理解這些理論。比如說我們學了晶體管放大電路,那么你最好是立即就搭建一個電路,看一看它是不是理論上分析的情況,如果不是,那你就要再繼續(xù)學習和研究,看看問題出在哪里。只有這樣,才能夠把你所學到的理論知識扎扎實實地印刻在自己的腦海里。
因此,理論和實踐這兩個方面,本身就是一個不可分割的整體,不能把它們割裂開來看。
2.多動手實踐,加深對知識的理解
在大學里一般都是一門課程講完之后,有機會到實驗室去做一些實驗。不過,在許多大學里,所做的實驗都是比較容易的,通常是基于實驗箱這類設備。當然,有這樣的實驗環(huán)境總比沒有要好,但從另一方面來看,此類設備僅僅讓學生看著實驗指導書去插幾個插孔,在一定程度上不能很好地鍛煉學生的動手能力。因此我覺得,除了這類實驗之外,自己如果能夠買一些裸元件,搭建一些電路親自焊接,可能你會對模電、數(shù)電的理解更加深刻一些。
3.多參與項目,練就真功夫
有不少同學糾結于這樣一個問題:大學期間,是跟著導師好呢?還是應該多出去走走,爭取更多的實習機會呢?依我看,跟著導師做一些實驗或做一些項目,可以提高自己的動手實踐能力;而出去到企業(yè)看一看,也許能夠更具體地了解企業(yè)在做什么、需要什么。其實,關鍵問題不在于是跟著導師還是走進企業(yè),而在于你的導師是否具有工程經(jīng)驗。
目前,大學里有一些老師做理論教學比較多一些,在工程經(jīng)驗方面比較欠缺,真正完整地做過工程項目或者是產(chǎn)品開發(fā)的可能就更少之又少了。因此,是否跟著導師,取決于導師有多少實際嵌入式系統(tǒng)開發(fā)的經(jīng)驗,而不僅僅是教學當中的幾個案例。如果導師承擔著企業(yè)的項目,具有豐富的實踐經(jīng)驗(比如說項目開發(fā)、產(chǎn)品開發(fā)等),或者這個導師本身就是來自于企業(yè),那么跟著導師在實驗室做項目,就等于在企業(yè)實習,或許比在企業(yè)還要好。
另一方面,即便是企業(yè),如果是在那些屬于生產(chǎn)裝配型的企業(yè)實習,實際上意義也不大。而如果是在開發(fā)型的企業(yè)實習,實際上你也不好介入,為什么呢?企業(yè)真正的項目、真正的技術開發(fā),一般是不會讓一個大學生去介入的,恐怕外人也不能介入,除非是他們企業(yè)的核心技術人員。所以說,要到企業(yè)去,或許就是去參觀了解一下,不太容易介入到企業(yè)的項目研發(fā)中。
有些學生在這個問題上不知道如何是好,我覺得,如果你有去企業(yè)的條件,那么就去看一看;如果有條件能深入實習,當然更好。比如說,有些985高校的學生有機會到Intel、IBM,這當然是很好的事情。不過,大部分學生可能是沒有這個環(huán)境的,這種情況下,最好就是跟著有經(jīng)驗的老師多做項目,哪怕是一些簡單的東西!
千萬不要奢望一開始就要做多么復雜的工作,不要奢望在幾個月內(nèi)你就能有多么豐富的經(jīng)驗。在嵌入式系統(tǒng)開發(fā)方面的成長,絕非一朝一夕的事情,要下功夫,長期磨練,才能成為一名優(yōu)秀的嵌入式工程師。
堅持不懈,自會有屬于你的一片藍天!北京大學軟件與微電子學院03級碩士畢業(yè)生,深圳四博智聯(lián)總經(jīng)理 李洪剛
2003年時,嵌入式Linux與ARM處理器發(fā)展得如火如荼,風頭幾乎蓋過了互聯(lián)網(wǎng)相關的應用開發(fā)。但接下來的十幾年,互聯(lián)網(wǎng)、移動應用開發(fā)、H5熱潮、微信小程序,一個又一個的新概念不斷涌現(xiàn),但似乎與嵌入式關系都不大。自然,“學嵌入式不如學計算機編程有前途”,“嵌入式底層面窄,不如做上層應用機會多”等一系列問題開始困擾嵌入式學習者。
我結合自己的親身體會談談對這些問題的看法,其中一些經(jīng)驗看似與嵌入式本身關系不大,但對于我,卻是對近些年認識的一些人、發(fā)生的一些事的零星總結,拿來與大家分享,希望對你們有所啟發(fā)。
1.打下堅實基礎很重要
我在學習嵌入式的時候,重點做了兩件事情:一是把ARM的體系結構學習得比較透徹;二是對Linux源碼進行了系統(tǒng)性分析?,F(xiàn)在回想起來,越發(fā)感到這兩件事情對我后來的發(fā)展幫助很大。2006年,我跟隨其他人進行了第一次創(chuàng)業(yè),當時做的是移動的云存儲,涉及的技術主要是后臺服務器開發(fā)和手機應用軟件開發(fā),當時手機主要還是以Symbian為主。
這兩部分在學習嵌入式的時候都沒有接觸過,而創(chuàng)業(yè)型小公司要求技術負責人是個全才,什么都要會,其壓力可想而知。但做了一段時間之后,我發(fā)現(xiàn)這些其實很簡單,只要熟悉Linux的進程間通信、網(wǎng)絡模型,寫的代碼就比單純從應用學習Linux 下C開發(fā)的人要好得多。正是因為有了一些嵌入式操作系統(tǒng)的基礎,研究代碼就能夠很清晰地知道整個程序是怎么運行起來的,這無疑給了我很大的信心。
在經(jīng)歷了第一創(chuàng)業(yè)后,2009年我到中科院讀博士,再次進入學生生涯。這個時候正趕上Android、iOS移動開發(fā)興起,業(yè)余時間我就帶領幾個碩士研究生開始做APP開發(fā),APP下載量能夠達到過億級別。整個后臺系統(tǒng)基本都是在我指導下完成的,而這些全是依靠嵌入式學習過程中打下的編程基礎。而我當年讀碩士時一起學習嵌入式的同學中,許多就職于BAT之類的互聯(lián)網(wǎng)公司,并且發(fā)展得很好。
總而言之,無論以后是不是從事嵌入式行業(yè)的工作,在學習嵌入式的過程中,學好理論知識,打下堅實基礎,都是至關重要的。嵌入式作為一門軟件和硬件緊密結合的學科,非常有利于提升計算機編程的水平。
2.嵌入式產(chǎn)業(yè)發(fā)展勢頭正猛
《世界是平的》一書中,托馬斯·弗里德曼描述了當代世界發(fā)生的重大變化??萍己屯ㄐ蓬I域如閃電般迅速的進步,使全世界的人們可以空前地彼此接近,只要有足夠的能力和想象力,世界上的所有資源都可以為你所用;世界變小了,從小型變成微型,光纜把全世界都連結起來。這個時代,雖然有諸多不平等和個體的不如意,但比歷史上任何一個時代都更加合理。具體到計算機技術領域,軟件和硬件的界線已經(jīng)越來越模糊,軟件硬件化、硬件軟件化越來越明顯,許多AI算法要在芯片級去實現(xiàn)。這些需要軟件硬件相結合的領域,正是嵌入式從業(yè)者大展拳腳之地。
目前,硬件復興、創(chuàng)客創(chuàng)業(yè),智能硬件處處都要用到嵌入式技術,所以說,這么多年來嵌入式的領域是在不斷擴展的。至于現(xiàn)在迅猛發(fā)展的物聯(lián)網(wǎng),承載著信息采集的終端和傳輸?shù)哪K更是嵌入式的典型應用,這些應用相對于手機更加小型化。當下AI技術的飛速發(fā)展,也必將引起新一輪的智能硬件興起,從而更加促進嵌入式產(chǎn)業(yè)的繁榮發(fā)展。
3.一線城市嵌入式就業(yè)機會更多
生活中,不缺乏各式各樣的聰明人,他們事事算盡,卻平庸一生。我們不做聰明人,要做充滿智慧的人——智者。何為智者?洞察萬物之道,遵循事物客觀規(guī)律的人。智者和聰明人最大的差異是胸襟、格局、看問題的方法和角度。
目前,我們正處在大變革的前夜,政府主導和工業(yè)化主導的城鎮(zhèn)擴張時代正在向服務業(yè)主導、市場化主導的都市自我收縮時代轉變——城市向少數(shù)超級大城市集中。超級大都市內(nèi)部也在加速集中和分化,只有極少數(shù)地方在迅速隆起,人們山呼海嘯般由農(nóng)村、中小城市向大城市高密度集中。少數(shù)中心城市以歷史上從未有過的形式和速度,像珠穆朗瑪峰一樣高高隆起而形成大的都市,大部分人口將集中在這些少數(shù)的大都市工作和生活。
在“世界既平且陡”的潮流中,一線城市自然是更好的選擇,這里,嵌入式產(chǎn)業(yè)所需要的配套資源更加齊全,更加有利于創(chuàng)業(yè)。在這里,眼界更寬,就業(yè)機會更多,會給我們帶來思想和財富的收獲,甚至讓我們實現(xiàn)人生的逆襲。
4.成功,源于堅持不懈的努力
吳曉波在《時間讓人與眾不同》一文中曾講到:1902年,27歲的詩人里爾克應聘去給62歲的畫家、雕塑大師羅丹當助理。在初出茅廬的詩人的猜想中,名滿天下的羅丹一定過著十分浪漫、瘋狂、與眾不同的生活。然而,他看到的真實景象與想象中的大相徑庭,羅丹竟是一個整天孤獨地埋頭于畫室的老人。里爾克問他:“如何能夠?qū)ふ业揭粋€要素,足以表達自己的一切?”羅丹沉默片刻,然后極其嚴肅地說:“應當工作,只要工作,還要有耐心?!?/p>
是什么讓某些人變得與眾不同?那就是:工作,以及足夠的耐心。在與眾不同的背后,往往是一些不足與外人道的辛苦,其實任何成就都是以無比寂寞的勤奮為前提的,要么是血,要么是汗,要么是大把的曼妙青春好時光。
長遠來看,資深嵌入式工程師更有前途!曉明研究室08級研發(fā)生,清華大學核系統(tǒng)控制與應用實驗室 任朋飛
不少人說,學嵌入式不如學計算機編程有前途。長遠來看,資深嵌入式工程師當真不如一名程序員么?據(jù)統(tǒng)計,在工作同等年限的情況下,計算機編程開發(fā)人員的待遇普遍會比嵌入式開發(fā)待遇要高。既然如此,那么大學生是否應該選擇嵌入式為自己的發(fā)展方向呢?我結合自身高校工作以及社會創(chuàng)業(yè)的經(jīng)歷,跟大家分享一下個人的見解。
先從我在高校工作的經(jīng)歷說起。學習難度方面,嵌入式要高于計算機編程,具體來說,嵌入式不僅要學習模電、數(shù)電等相關硬件基礎知識,而且還要學習匯編語言、單片機編程等軟件入門知識;計算機編程則需要學習相關開發(fā)語言、數(shù)據(jù)結構等知識。簡而言之,計算機編程可以較快入門,而嵌入式則需要多年工作經(jīng)驗的積累。從更新迭代速度來看,計算機編程要遠遠快于嵌入式行業(yè)。
再談一下我創(chuàng)業(yè)的一些經(jīng)歷。從創(chuàng)業(yè)切入點來說,純互聯(lián)網(wǎng)的創(chuàng)業(yè)時代已成為過去,反之智能硬件、AI、智能家居、AR/VR等創(chuàng)業(yè)公司越來越多,特別是AI、機器人可能是未來幾年的創(chuàng)業(yè)主導方向。從工作機會來講,計算機編程的需求量越來越小;反之,嵌入式的需求量則越來越大。從長遠發(fā)展來看,隨著工作經(jīng)驗的逐年積累,嵌入式工程師的價值越來越高;反之,由于計算機編程更新速度較快,隨著年齡的不斷增長,計算機編程人員的接受程度和抗壓能力會越來越差,如后期繼續(xù)從事開發(fā)工作,則前途并不明朗。
綜上所述,嵌入式工程師,起始工資待遇或許不是很高,但隨著年限增長,薪資待遇以及個人價值將越來越高;而計算機編程人員雖然起始待遇較高,但隨著年限增長,后續(xù)大多需要考慮轉型做管理及相關崗位。因此,希望當下的大學生朋友能夠抵住誘惑,沉下心來,放長線釣大魚。
面對嵌入式學習,不少人都存在著這樣或那樣的迷茫,比如是該注重理論,還是多做實踐?是該跟著導師悶頭苦干,還是走進企業(yè)開開眼界?
面對未來的擇業(yè),很多人都存在著這樣或那樣的困惑,諸如學計算機編程是不是待遇更好、更有前途?做嵌入式底層是不是不如做上層應用機會多、收入高?究竟該如何選擇才最明智呢?
在這樣一個快節(jié)奏的時代,每個人都想用最短的時間贏取最大的收獲,然后憑借這些資本為自己贏得一個好前程;在這樣一個機遇與挑戰(zhàn)并存的時代,每個人都希望有個完美的職業(yè)規(guī)劃,然后一帆風順逐一實現(xiàn)。但事實上,缺乏用心的研讀、不懈的努力,很難將知識學以致用;缺少不斷的磨礪、長期的積累,也很難在某個行業(yè)站穩(wěn)腳跟。
物聯(lián)網(wǎng)時代,在醫(yī)療、交通、教育等眾多細分領域,很多個性化需求亟待滿足,很多嚴峻挑戰(zhàn)亟待攻克,嵌入式從業(yè)者的機遇越來越多,嵌入式技術的作用也越來越大。