韋東山:悅己之作,方能悅?cè)?/h1>
摘要:
從一名資深的嵌入式Linux工程師到圖書作者,再到百問科技的創(chuàng)始人,韋東山一路走來,也有自己的辛酸感悟;但不論何時,他從未忘記初心,用他的話說:“悅己之作,方能悅?cè)恕薄?/h1>
【編者按】韋東山,深圳百問網(wǎng)科技有限公司創(chuàng)始人,畢業(yè)于中國科學(xué)技術(shù)大學(xué)電子、軟件專業(yè)雙學(xué)位,擅長ARM/MIPS等架構(gòu)的Linux開發(fā),10余年嵌入式開發(fā)經(jīng)驗。多家知名培訓(xùn)機(jī)構(gòu)特邀講師,著有《嵌入式Linux應(yīng)用開發(fā)完全手冊》。同時,他還是CSDN學(xué)院知名講師,成功錄制了1234期教學(xué)視頻,好評率100%。
近日,韋東山老師接受了CSDN的專訪,文中他分享了關(guān)于嵌入式Linux方面的技術(shù)經(jīng)驗。

CSDN:請先簡單下自己(技術(shù)背景、工作經(jīng)歷、學(xué)習(xí)經(jīng)歷)。
韋東山:我2003年畢業(yè)于中國科技技術(shù)大學(xué),電子和計算機(jī)雙學(xué)位。畢業(yè)后在深圳一家小公司從事51單片機(jī)的軟件硬件開發(fā)工作,在工作中預(yù)料嵌入式操作系統(tǒng)將會興起,于是辭職自學(xué)Linux半年;2005年8月份開始進(jìn)入中興通訊從事Linux系統(tǒng)開發(fā); 2007年辭職寫書,2012年開始建立百問網(wǎng)公司,發(fā)布Linux培訓(xùn)視頻。
興趣跟工作相吻合
CSDN:你是如何與Linux結(jié)緣的?是什么讓你對?嵌入式Linux始終抱有熱情的?
韋東山:在從事51單片機(jī)開發(fā)過程中碰到過一些技術(shù)問題,公司老板請來他的朋友做指導(dǎo)。他提及Win CE(Windows Embedded Compact)和Linux,那時的Win CE只能支持幾款處理器,而Linux的普適性更強(qiáng),于是開始學(xué)習(xí)Linux。 嵌入式Linux跟硬件緊密結(jié)合,而我又喜歡搗鼓些小玩意,這即符合技術(shù)潮流又能滿足我的興趣,所以一開始就很有激情。 激情不能長久,我很幸運在自學(xué)半年后能找到一份做Linux的工作,興趣跟工作吻合,這太幸福了。
在工作過程中也會厭倦,但是工作的壓力促使我去做更深地專研,慢慢地Linux已經(jīng)成為我人生的一部分。 現(xiàn)在做Linux培訓(xùn)視頻,學(xué)生們憑借所學(xué)知識找到好工作,還有些人會特意上門拜訪;工程師們學(xué)習(xí)后提升了技術(shù)能力漲了工資,這讓我感覺很好,這也是我不斷錄制視頻的原因。
CSDN:在嵌入式開發(fā)方面有著近十年的開發(fā)經(jīng)驗,你是通過哪些方式來提升自己的開發(fā)技能的呢?對嵌入式Linux開發(fā)方面有什么特別的喜好嗎?
韋東山:碰到問題,全心去解決問題,這就是提升技能的唯一方法,它勝過看100本書,勝過看100套視頻。書和視頻只能帶你入門,要提升技能必須碰到難題并嘗試去解決它,在解決過程中你會猜想各種原因,把完全無關(guān)的技術(shù)融會貫通。 以前我只做Linux驅(qū)動,現(xiàn)在傾向于做完整的系統(tǒng),這也是一步一步提升的過程。所謂系統(tǒng)就是“整套產(chǎn)品”,它涉及硬件,操作系統(tǒng)、驅(qū)動程序、 上層應(yīng)用,甚至還有后臺的服務(wù)器。
在做系統(tǒng)的同時,我還喜歡“玩”,做一些功能單一的小產(chǎn)品,比如座機(jī)來電閃、小孩一靠近電視就花屏的小設(shè)備,有人喜歡網(wǎng)絡(luò)游戲有人喜歡逛街, 而這就是我的“電子游戲”。

寫書難忘的經(jīng)歷:足不出戶,邊學(xué)邊寫
CSDN:你所編寫的《嵌入式Linux應(yīng)用開發(fā)完全手冊》一書頗受開發(fā)者好評,在出書過程中有什么難忘的回憶嗎?
韋東山:老實說,這書也只是適逢其時,它的很多內(nèi)容都可以在網(wǎng)絡(luò)上搜到,只是2008年那時還沒有人把它整理出來。比如對于UBoot,你可以找到很多修改方法,但是沒人告訴你修改的理由,也沒有人從整體去分析它。 寫書的過程很痛苦,工作時只要求你“會”——可以解決問題就行;而寫書則要求你“從根源上會”,還要“會講”。
我在腦中反復(fù)模擬講解,寫書時反復(fù)修改句子,2007年寫書這一年,讓我對Linux技術(shù)的理解更深了。確實很難忘這段經(jīng)歷:在深圳白石洲的民房里,墻上貼著章節(jié)的進(jìn)度,足不出戶,邊學(xué)邊寫。
CSDN: Linux4.1版本中宣稱將引入大量匯編代碼變更,很多人都說引入大量代碼變更是有風(fēng)險的,對此,你怎么看?
韋東山:我不會去使用最新的代碼。
對于培訓(xùn)而言,Linux2.6跟Linux4.1沒有本質(zhì)差別,我常常這樣建議學(xué)生:你可以用2.6學(xué)習(xí),然后再自己嘗試移植到高版本內(nèi)核;
對于做產(chǎn)品,我也不會輕易更換內(nèi)核,前期工作不能說扔就扔,并且更換有風(fēng)險,需謹(jǐn)慎。
CSDN:曾有一段時間你是自由職業(yè)者,是什么原因讓你走上創(chuàng)業(yè)道路的?
韋東山:想自由,不想上班,不想聽鬧鐘起床,這就是做自由職業(yè)者的原因。后來發(fā)現(xiàn)這是一個坑,單身時沒任何問題,但是結(jié)婚后生活壓力還是會促使你早早起床干活,自由職業(yè)者反而不自由。 于是還是開公司吧,為了給小弟們樹立榜樣,現(xiàn)在的我比在中興上班時起床更早。
CSDN:為何取名叫“百問”?這是一家什么樣類型的公司?
韋東山:寫書時,就想到要給學(xué)生們答疑,他們會有成百上千的問題,我希望自己都能解答。所以,起名為 百問。現(xiàn)在我們主要是做嵌入式Linux/Android培訓(xùn)視頻,致力于給學(xué)生、工程師提供培訓(xùn)。
對于學(xué)生,如果你還在玩單片機(jī),那么可以嘗試進(jìn)入Linux。 我們會先把ARM板子作為單片機(jī)使用GUN工具鏈開發(fā),這能讓你更深刻理解單片機(jī)技術(shù),因為IAR、KEIL等工具封裝得太好了,讓你看不見技術(shù)細(xì)節(jié)。
有志于開發(fā)智能硬件、可穿戴設(shè)備、物聯(lián)網(wǎng)、智能家居等的人,只要這些硬件涉及比較復(fù)雜的功能,都可以從我們的視頻得到幫助。

最大的感悟:累
CSDN:從一名資深的軟件工程師到圖書作者,再到百問科技締造者,這期間給你最大的感悟是什么?
韋東山:以前工作很單純,現(xiàn)在工作很繁雜;以前只想著技術(shù),現(xiàn)在還要想著利潤;以前只需要自己高興,現(xiàn)在還要想想能給同事帶來什么。 最大的感悟就是:累,回不到過去了,也不想回去了。
CSDN:你認(rèn)為要成為一名優(yōu)秀的嵌入式Linux開發(fā)工程師應(yīng)該會哪些技術(shù),具備哪些職業(yè)素養(yǎng)?
韋東山:我認(rèn)為,優(yōu)秀的工程師要具備全系統(tǒng)的技術(shù)能力,應(yīng)了解公司業(yè)務(wù)、應(yīng)用程序,底層系統(tǒng),甚至還要了解下硬件;不能只滿足于單點技術(shù),如果你只會寫驅(qū)動程序的話,那么,飯碗也是不牢靠的。
在素養(yǎng)上:要有自學(xué)能力,碰到問題時要能全心去解決它。
CSDN:你最喜愛的開發(fā)工具有哪些?在日常工作中會用到哪些?
韋東山:Souce Insight,它是我看代碼、寫代碼必不可少的工具,也是因為它我才沒有拋棄Windows;UltraEdit比記事本好用; vmware,我還在Windows下工作,所以用vmware虛擬機(jī)裝Linux很必要。
CSDN:嵌入式開發(fā)一直是非?;鸨募夹g(shù)領(lǐng)域,你怎么看當(dāng)前嵌入式的發(fā)展和應(yīng)用?另外,當(dāng)下移動互聯(lián)網(wǎng)和云計算大行其道,你覺得嵌入式開發(fā)未來都有哪些發(fā)展機(jī)遇?
韋東山:現(xiàn)在興起的硬件熱潮,對于嵌入式Linux是一個很大的推動,比如智能硬件、可穿戴設(shè)備、物聯(lián)網(wǎng)、智能家居等。比較簡單的功能可以用單片機(jī)實現(xiàn),但是一旦涉及WiFi、視頻、圖像等,就要用Linux了。 移動互聯(lián)網(wǎng)和云計算,它們跟嵌入式并不是互相競爭的關(guān)系,因為它們總得有一個硬件來承載,而這個硬件基本上就要運行Linux。

程序員,應(yīng)時刻不忘學(xué)習(xí)
CSDN:對嵌入式Linux開發(fā)領(lǐng)域的開發(fā)者有哪些建議?分享下心得和體會。
韋東山:在國內(nèi)有一個殘酷的現(xiàn)實問題,很多公司傾向于招更年輕的、剛畢業(yè)的人,作為一個程序員,我們必須提升自己的能力,時刻學(xué)習(xí)。
10年前很多單片機(jī)玩得很好的工程師,現(xiàn)在的擇業(yè)范圍真的開始變窄。系統(tǒng)!系統(tǒng)?。∧惚仨氄莆照麄€系統(tǒng),業(yè)務(wù)邏輯到底層實現(xiàn)、從上到下的整套技術(shù)。 我們要常常想,如果我現(xiàn)在換個公司,能做什么?能力可以滿足嗎?懷著跳槽心盡早學(xué)習(xí)。
很多人會問道“是選擇學(xué)習(xí)Android、 iOS還是嵌入式Linux?
”“在滿足現(xiàn)實需求的同時,盡量憑興趣,這是我不變地回答?!睎|山老師如是說