【導(dǎo)讀】還在大學(xué)的你,不知道未來何去何從?都說迷茫是大事做不了,小事不想做。還在做程序袁的你,是不是也想創(chuàng)業(yè)?程序袁好創(chuàng)業(yè)嗎?Linux好學(xué)嗎? 學(xué)會(huì)了這個(gè)能找到咋樣的工作?下面就跟著小編的采訪揭開上述迷霧吧!
1、大家都比較想了解您個(gè)人學(xué)習(xí)的歷程與感想,可否與大家分享一下?
韋東山:
我從2003年開始工作,那時(shí)候的技術(shù)真是差勁啊:直到2005年,在硬件方面我只會(huì)設(shè)計(jì)兩層板,在軟件方面我用的一直是51單片機(jī)。有一次老板的朋友來做技術(shù)指導(dǎo),聊起ARM、wince、Linux、操作系統(tǒng),讓人真是大開眼界。
操作系統(tǒng)才是未來!必須改變!
在硬件方面沒人指導(dǎo)很難有長(zhǎng)進(jìn),但是軟件方面我可以自學(xué)啊。于是我開始買各種ARM的書,買周立功的2104板和書,用它來學(xué)習(xí)過UCOS,感覺他們還在延續(xù)著單片機(jī)的思路。這不行??!得上操作系統(tǒng)!學(xué)WINCE?還是學(xué)LINUX?WINCE可是要錢的,咱學(xué)個(gè)免費(fèi)的LINUX吧。買個(gè) S3C2440開發(fā)板,就這樣開始了LINUX的自學(xué)之路。
多謝友善之臂的老板楊斌,我買的是個(gè)二手的2440開發(fā)板,他還是認(rèn)真的提供技術(shù)支持,那時(shí)我沒少請(qǐng)教他問題。他應(yīng)該發(fā)達(dá)!
2005年那會(huì),嵌入式LINUX方面的書是沒有的,所以我的學(xué)習(xí)過程完全依賴網(wǎng)絡(luò)、論壇,現(xiàn)在回首那個(gè)時(shí)候的提問,可以發(fā)現(xiàn)很多幼稚問題(特意去試了下,我才發(fā)現(xiàn)那個(gè)網(wǎng)站已經(jīng)關(guān)閉了,世事難料?。?/div>
工作后再難有在校時(shí)的心態(tài)與大段時(shí)間……,直到公司倒閉……,我于是回老家閉門學(xué)習(xí)半年。在外租房,有家不回;沒日沒夜,不是在電腦前就是在床上,要不就是去吃飯的路上;自學(xué)、翻書、發(fā)貼、編程試驗(yàn)、問題解決不了時(shí)苦悶得想砸電腦;現(xiàn)在回想起來感覺也挺勵(lì)志的。就這樣,用了半年終于入了門,bootloader完全掌握,基本的Linux驅(qū)動(dòng)會(huì)寫了,錢也用完了,要出來工作了(想想也挺郁悶,大學(xué)4年工作2年,竟然技術(shù)不過關(guān)要回爐重造)。
我沒有Linux工作經(jīng)驗(yàn)啊,怎么辦?那就自己寫個(gè)操作系統(tǒng)混經(jīng)驗(yàn)值吧,仿照UCOS、LINUX,寫一個(gè)簡(jiǎn)單的操作系統(tǒng):基于MMU的操作系統(tǒng) (MOS)。就用它作為敲門磚,寫到簡(jiǎn)歷上去顯得有點(diǎn)料。去面試了三家公司,華為惠通、UT斯達(dá)康、中興,全中!因?yàn)殄X沒了,而中興的通知來得最早,就去它吧。
說實(shí)話,那時(shí)我的Linux水平只是剛?cè)腴T,好在2006年那會(huì)中興也剛從vxwork轉(zhuǎn)為L(zhǎng)inux,大家都不懂都在學(xué)習(xí),我倒也不顯得丟人。在中興里,又是沒日沒夜地工作、學(xué)習(xí)了2年。期間碰到過無數(shù)的疑難問題,煅煉了能力。說真的,只有在解決問題的同時(shí),你才會(huì)東想西想,把有關(guān)、無關(guān)的技術(shù)都想清楚并掌握得扎實(shí)。
2007年從中興辭職開始寫書。不要笑我只有2年Linux工作經(jīng)驗(yàn)就敢寫書,自學(xué)半年工作兩年,是這輩子最用功的時(shí)刻,遠(yuǎn)比高考時(shí)努力。這2年半所學(xué)到的東西遠(yuǎn)超大學(xué)4年。工作和寫書對(duì)技術(shù)的要求完全不同,工作上你能寫出程序解決問題就可以,而寫書則要求你對(duì)知識(shí)理解透徹。書寫了1年,也可以認(rèn)為繼續(xù)學(xué)習(xí)了1年。2008年那會(huì)還沒有手把手教、從零搭系統(tǒng)開始學(xué)習(xí)嵌入式Linux的書,這本書《嵌入式Linux應(yīng)用開發(fā)完全手冊(cè)》又火了一把。
書出了,我也稍有點(diǎn)名氣,于是從2009年開始在幾個(gè)培訓(xùn)機(jī)構(gòu)講課,去過華清遠(yuǎn)見、尚觀,都是兼職,因?yàn)槲耶?dāng)時(shí)還想著自己創(chuàng)業(yè)呢。業(yè)沒創(chuàng)好錢又沒了,只能去兼職。這樣又持續(xù)了2年,這又是一個(gè)煅煉:怎么講,別人才容易學(xué)會(huì)。
這就是我的學(xué)習(xí)工作經(jīng)歷,生活推著我在Linux上歷煉了9年。如果你還是學(xué)生,勸你盡早找到自己的興趣,全力鉆研;如果你已經(jīng)進(jìn)入社會(huì),最好能找到相關(guān)的工作,白天上班也是煅煉,晚上繼續(xù)學(xué)習(xí)。
2、自從業(yè)以來,遇到最大的困難與挑戰(zhàn)是什么?能否給我們分享些您的經(jīng)驗(yàn)以及心路歷程?
韋東山:
轉(zhuǎn)行!轉(zhuǎn)行是最困難的,這意味著你前面積累的經(jīng)驗(yàn)幾乎沒用了,還需要學(xué)習(xí)全新的知識(shí)──這需要大量的時(shí)間。我的第1份工作是做硬件的,后來由于工作需要也寫一下單片機(jī)程序,但是軟件水平是很低的。決定轉(zhuǎn)行學(xué)習(xí)Linux時(shí),這需要有操作系統(tǒng)的概念知識(shí)、全新的ARM體系架構(gòu)知識(shí)、完全沒接觸過的軟件設(shè)計(jì)理念(寫單片機(jī)時(shí)就是一個(gè)while循環(huán),Linux里都是面向?qū)ο蟮乃枷耄?/div>
這千頭萬緒,要學(xué)習(xí)的知識(shí)很多,從哪里入手,從哪里抽出時(shí)間,這就是2個(gè)最大的困難。
· 對(duì)于時(shí)間,我是暫停工作閉門自學(xué)了半年;
· 對(duì)于從哪里學(xué)習(xí),我是先學(xué)習(xí)了趙炯的《LINUX內(nèi)核完全注釋》,這讓我對(duì)操作系統(tǒng)有比較深的認(rèn)識(shí);接著把 ARM開發(fā)板當(dāng)作單片機(jī)學(xué)習(xí)裸板,把bootloader涉及的硬件操作單獨(dú)寫程序試驗(yàn);最后開始學(xué)習(xí)驅(qū)動(dòng)程序的編寫。從裸板程序開始,直到Linux驅(qū)動(dòng),這就是我的主要學(xué)習(xí)方法,這也是《嵌入式Linux應(yīng)用開發(fā)完全手冊(cè)》的章節(jié)順序。
3、IP Camera帶音頻視頻功能、可以聯(lián)網(wǎng)互動(dòng),因此可能會(huì)被惡意入侵、隱私泄密,工程師如何做到保護(hù)?
韋東山:
IP Camera的使用涉及3個(gè)部件:用來錄像錄音的IP Camera、提供數(shù)據(jù)傳輸或存儲(chǔ)的服務(wù)器、觀看音視頻的客戶端(PC或手機(jī)等)。
我們會(huì)根據(jù)IP Camera的使用場(chǎng)景,為每一個(gè)階段提供數(shù)據(jù)保護(hù),比如:
a. 客戶拿到IP Camera時(shí),要登錄服務(wù)器注冊(cè)帳號(hào),并綁定設(shè)備。在服務(wù)器上的WEB服務(wù)就要注意隱私保護(hù),必要時(shí)引入手機(jī)驗(yàn)證。
b. 客戶端向服務(wù)器提出請(qǐng)求時(shí),要輸入用戶名和密碼,這可以參考Linux的遠(yuǎn)程登錄密碼驗(yàn)證功能。比如使用ssh協(xié)議登錄Linux服務(wù)器時(shí),會(huì)提示你輸入用戶名和密碼。相信這一套機(jī)制非常可靠,我們可以直接引用。
c. 三者之間傳輸數(shù)據(jù)時(shí),數(shù)據(jù)要先加密再傳輸??梢允褂霉妹荑€等加密方式。
d. 在服務(wù)器上存儲(chǔ)的數(shù)據(jù),如果你對(duì)安全保護(hù)不在行,可以使用大公司提供的云服務(wù)。
我只是給出一個(gè)思路,經(jīng)驗(yàn)不豐富。歡迎探討。
4、IP Camera運(yùn)動(dòng)控制部分可以實(shí)現(xiàn)拍攝角度的調(diào)節(jié),能否通過自動(dòng)控制攝像頭的角度實(shí)現(xiàn)人臉、頭部信息的鎖定、實(shí)時(shí)運(yùn)動(dòng)捕捉,大概怎么實(shí)現(xiàn)的,能否介紹一下?
韋東山:
術(shù)業(yè)有專攻,圖像處理不是我們的專長(zhǎng)。但是要做這一塊,我們會(huì)這樣做:先使用開源軟件比如OpenCV,如果它達(dá)不到要求,再求助于專業(yè)人士。
[page]
5、傳統(tǒng)的Linux驅(qū)動(dòng)開發(fā)和Android驅(qū)動(dòng)開發(fā)有何區(qū)別?現(xiàn)在android那么火,它跟LINUX是什么關(guān)系?學(xué)好了你們的視頻,對(duì)學(xué)習(xí)android有何幫助?你們后續(xù)有無錄制android視頻的計(jì)劃?
韋東山:
簡(jiǎn)單地說,Android驅(qū)動(dòng)=Linux驅(qū)動(dòng)+封裝。 Android應(yīng)用程序是使用java編寫的,Linux內(nèi)核和驅(qū)動(dòng)程序是使用C語言編寫的,java APP要訪問驅(qū)動(dòng)程序,這中間需要插入一個(gè)封裝接口。核心還是底下的Linux驅(qū)動(dòng)程序;對(duì)于封裝,你只要了解了封裝規(guī)則,基本就可以一通百通了。所以,如果你的目標(biāo)是掌握Android驅(qū)動(dòng),那么我們的視頻很適合你。我們后面也會(huì)講講Android驅(qū)動(dòng)的封裝,它不會(huì)太難。
對(duì)于Android應(yīng)用程序,可以認(rèn)為它跟Linux的關(guān)系不大。即使你沒有Linux知識(shí),也可以在1個(gè)月內(nèi)入門Android應(yīng)用開發(fā)──我只是說,你會(huì)開發(fā)簡(jiǎn)單的界面。程序的核心永遠(yuǎn)是在界面之后,所以不要沾沾自得。比如手機(jī)游戲,背后的圖像處理算法、游戲的邏輯,這才是重點(diǎn)。如果你的目標(biāo)是掌握Android應(yīng)用,我反而覺得你應(yīng)該跳出“Android”來學(xué)習(xí)。應(yīng)用程序的領(lǐng)域?qū)嵲谔?,有網(wǎng)絡(luò)、圖像處理、安全、搜索等等,由你的興趣來選擇方向吧。Android應(yīng)用只是一個(gè)人機(jī)界面,把背后的復(fù)雜系統(tǒng)展示給客戶來使用,如果你只滿足于“寫界面”,好吧,1個(gè)月速成,再花幾個(gè)月深入理解 Android的框架。容易上手的,就容易掉價(jià)。前幾年Android應(yīng)用開發(fā)由于會(huì)的人還不多,工資挺高;這兩年就開始往下掉了;要保住你的薪資水平,除了界面你還需要掌握“核心技能”:界面背后的支撐。
我沒有打擊Android應(yīng)用的意思,對(duì)于急于找到工作的人,我反而建議去學(xué)習(xí)Android應(yīng)用。你應(yīng)聘到工作后,公司自然會(huì)壓著你去了解產(chǎn)品的相關(guān)知識(shí),否則你也寫不出界面啊。
6、工程師一般時(shí)間都是比較緊張的,您是在什么情況下寫的《嵌入式LINUX應(yīng)用開發(fā)完全手冊(cè)》這本書呢?這本書是想給大家分享些什么呢?
韋東山:
辭職寫的。我2005年自學(xué)Linux時(shí)在網(wǎng)上發(fā)布了“S3C2410完全開發(fā)流程”的學(xué)習(xí)筆記,被出版社的編輯看到。他們?cè)?006年聯(lián)系我寫書,那時(shí)我在中興上班。在公司上班期間,根本沒有時(shí)間寫書:工作累個(gè)半死,回來哪有精力寫。于是決定2007年辭職專門寫書。
我學(xué)習(xí)時(shí),大部分的知識(shí)都是從網(wǎng)上搜索得來,這需要耗費(fèi)巨大的精力去尋找,并且不系統(tǒng)。作為初學(xué)者,不知道去搜什么來入門,也不知道搜什么來深入。所以,我想出一套“完全教程”,讓零基礎(chǔ)的入只看這本書,就可以入門并掌握比較深的、工作中可以使用的知識(shí)。
好吧,其實(shí)也是被編輯以名利相誘,然后催我寫寫寫!
7、“電子從業(yè)人員的發(fā)展方向”大概分為兩類:軟件工程師、硬件工程師,軟件工程師一般又可以分為:底層系統(tǒng)、上層應(yīng)用。您如何看待這三種方向的職業(yè)發(fā)展呢?
韋東山:
我剛工作時(shí)也曾是個(gè)硬件工程師,但是發(fā)現(xiàn)沒人帶的話很難有進(jìn)步,于是轉(zhuǎn)行做軟件了。對(duì)于他的職業(yè)發(fā)展,我也只能簡(jiǎn)單說說。
不少人問我,到底是學(xué)驅(qū)動(dòng)還是學(xué)應(yīng)用?
我只能說憑興趣,并且驅(qū)動(dòng)和應(yīng)用并不是截然分開的
a. 我們說的驅(qū)動(dòng),其實(shí)并不局限于硬件的操作,還有操作系統(tǒng)的原理、進(jìn)程的休眠喚醒調(diào)度等概念。想寫出一個(gè)好的應(yīng)用,想比較好的解決應(yīng)用碰到的問題,這些知識(shí)你應(yīng)該懂
b. 做應(yīng)用門檻低,特別是現(xiàn)在的ANDROID,純JAVA。做應(yīng)用的發(fā)展路徑個(gè)人認(rèn)為有兩個(gè)方向:一是業(yè)務(wù)純熟,二是成為某個(gè)專業(yè)領(lǐng)域的專家。比如在通信行業(yè)、IPTV行業(yè)、手機(jī)行業(yè),你了解行業(yè)的業(yè)務(wù)需求。所以,當(dāng)領(lǐng)導(dǎo)的人,多是做業(yè)務(wù)應(yīng)用的。另一個(gè)方面就是在網(wǎng)絡(luò)傳輸、圖像處理、人工智能等等領(lǐng)域的鉆研,這更多的時(shí)候像是在研究學(xué)術(shù)問題,而不僅僅是寫程序。
c. 做驅(qū)動(dòng),其實(shí)我不想稱為“做驅(qū)動(dòng)”,而是想稱為“做底層系統(tǒng)”,做好了這是通殺各行業(yè)。我工作幾年,做過手機(jī)、IPTV、會(huì)議電視,但是這些產(chǎn)品對(duì)我毫無差別,因?yàn)槲抑蛔龅讓?。他們的業(yè)務(wù)跟我沒關(guān)系。
當(dāng)應(yīng)用出現(xiàn)問題,他們解決不了時(shí),我就會(huì)從內(nèi)核角度給他們出主意,給他們提供工具。
在實(shí)際工作中,寫驅(qū)動(dòng)的活反而不多,更多的是從系統(tǒng)的角度解決難題。底層涉及的絕不僅僅是驅(qū)動(dòng),更多在于“系統(tǒng)”:它上接應(yīng)用,下接硬件。很多疑難問題只能由底層的人解決。做底層的發(fā)展方向,個(gè)人認(rèn)為是著眼于整個(gè)系統(tǒng)的技術(shù)專家。
d. 其實(shí),做底層還是做應(yīng)用,之間并沒有一個(gè)界線,有底層經(jīng)驗(yàn),再去做應(yīng)用,你會(huì)感覺很踏實(shí)。有了業(yè)務(wù)經(jīng)驗(yàn)或是掌握某項(xiàng)核心技術(shù),你再了解一下底層,很快就可以組成一個(gè)團(tuán)隊(duì)。
e. 我建議你上下兼通,做應(yīng)用讓你視野更廣闊,做底層讓你技術(shù)扎實(shí)。
f. 就職位而言,永遠(yuǎn)是應(yīng)用的職位多于底層的職位。所以,如果你找不到底層的工作,完全可以先做應(yīng)用。在工作中把底層的本領(lǐng)也學(xué)會(huì)。在公司中,那些被稱為“系統(tǒng)工程師”的人絕對(duì)是上下兼通的
8、工程師經(jīng)常在談如何找一個(gè)好的平臺(tái),您是如何看待這個(gè)問題的?
韋東山:
找平臺(tái),這是個(gè)技術(shù)活,或是個(gè)運(yùn)氣活。我有同學(xué)一直在騰迅做游戲,估計(jì)身家豐厚;也有朋友在公司分股票之前離職。就我個(gè)人經(jīng)驗(yàn)來說,我先是在小公司上班,后來到大公司,各有利蔽:
· 對(duì)于技術(shù)能力:在小公司里你會(huì)成為多面手,軟件硬件生產(chǎn)調(diào)試你都會(huì)插上一腳,如果能潛心學(xué)習(xí),對(duì)往后發(fā)展有好處。我在小公司里設(shè)計(jì)過硬件,到中興做驅(qū)動(dòng)時(shí),可以跟硬件工程師一起研究原理圖。現(xiàn)在創(chuàng)業(yè)了,還可以自己設(shè)計(jì)產(chǎn)品。在大公司里,每人專門負(fù)責(zé)一小塊,你可以學(xué)得深入,并且有各種設(shè)計(jì)規(guī)范。
· 對(duì)于人際關(guān)系:在大公司里,你會(huì)認(rèn)識(shí)更多的人,認(rèn)識(shí)各個(gè)部門的人,這對(duì)今后發(fā)展也有幫助。我辭職后接到的獵頭電話,都是中興的同事推薦的。現(xiàn)在缺乏哪方面的技能,也可以向原來的同事請(qǐng)教。
· 對(duì)于收入:呵呵,看運(yùn)氣吧。有人被微軟拒絕后成為了億萬富翁,有人則終身在微軟里寫代碼;有人創(chuàng)業(yè)失敗,有人單憑公司年終獎(jiǎng)就資產(chǎn)豐厚。
根據(jù)你的需求,能承擔(dān)風(fēng)險(xiǎn)的能力,來選擇平臺(tái)──這似乎是廢話,確實(shí)是。
特別推薦
- 兆易創(chuàng)新GD32F30x STL軟件測(cè)試庫獲得德國萊茵TüV IEC 61508功能安全認(rèn)證
- 芯科科技第三代無線開發(fā)平臺(tái)引領(lǐng)物聯(lián)網(wǎng)發(fā)展
- MSO 4B 示波器為工程師帶來更多臺(tái)式功率分析工具
- 艾為電子推出新一代高線性度GNSS低噪聲放大器——AW15745DNR
- 瑞薩發(fā)布四通道主站IC和傳感器信號(hào)調(diào)節(jié)器, 以推動(dòng)不斷增長(zhǎng)的IO-Link市場(chǎng)
- e絡(luò)盟現(xiàn)貨供應(yīng) Abracon 新推出的 AOTA 系列微型鑄型電感器
- 加賀富儀艾電子推出支持Wi-Fi 6和藍(lán)牙的無線局域網(wǎng)/藍(lán)牙組合模塊
技術(shù)文章更多>>
- 一文掌握UV LED在空凈消殺領(lǐng)域的主要應(yīng)用
- 聚焦汽車智能化與電動(dòng)化︱AUTO TECH 2025 華南展11月,已全面啟動(dòng),邀您共精彩!
- 【“源”察秋毫系列】 Keithley在碳納米管森林涂層纖維復(fù)合材料的應(yīng)用
- 數(shù)字驅(qū)動(dòng)工業(yè),智能賦能制造 AMTS & AHTE SOUTH CHINA 2024同期會(huì)議全公開!
- 團(tuán)體觀展招募!104CEF開啟組團(tuán)觀眾通道,解鎖更多禮遇
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
車載以太網(wǎng)
車載娛樂
充電
充電電池
充電器
充電樁
觸控屏
觸控顯示
觸摸開關(guān)
傳感技術(shù)
傳感器
傳感器模塊
船型開關(guān)
串聯(lián)電阻公式
創(chuàng)智成
磁傳感器
磁環(huán)電感
磁敏三極管
磁性存儲(chǔ)器
磁性元件
磁珠電感
存儲(chǔ)器
大功率管
單向可控硅
刀開關(guān)
等離子顯示屏
低頻電感
低通濾波器
低音炮電路
滌綸電容