摘要:從一名資深的軟件工程師到圖書作者,再到百問科技締造者,韋東山這一路走來,也有自己的辛酸感悟;但不論何時,他從未忘記學習,用他的話說:“悅己之作,方能悅人”。
【編者按】韋東山,深圳百問網科技有限公司技術創始人,畢業于中國科學技術大學,電子、軟件專業雙學位,擅長ARM/MIPS等架構的Linux開發,10余年嵌入式開發經驗。多家知名培訓機構特邀講師,著有《嵌入式Linux應用開發完全手冊》一書。同時,他還是CSDN學院知名講師([視頻](http://edu.csdn.net/course/detail/207)),成功錄制了50+嵌入式Linux教學視頻,好評率100%。?用他的話說:“悅己之作,方能悅人”。
近日,韋東山老師接受了CSDN的專訪,文中他分享了學習嵌入式Linux方面的技術經驗,并給開發者指明了一道通向未來的燈塔。

? ? ? ? ??用東山老師的話說:“悅己之作,方能悅人”。
CSDN:請先簡單下自己(技術背景、工作經歷、學習經歷)。
**韋東山:**我2003年畢業于中國科技技術大學,電子和計算機雙學位。畢業后在深圳一家小公司從事51單片機的軟件硬件開發工作,在?工作中預料嵌入式操作系統將會興起,于是辭職自學Linux半年;2005年8月份開始進入中興通訊從事Linux系統開發;?2007年辭職寫書,2012年開始建立百問網公司,發布Linux培訓視頻。
**興趣跟工作相吻合**
**CSDN:你是如何與Linux結緣的?是什么讓你對 嵌入式Linux始終抱有熱情的?**
**韋東山:**在從事51單片機開發過程中碰到過一些技術問題,公司老板請來他的朋友做指導。他提及Win CE(Windows Embedded Compact)和Linux,那時的Win CE只能支持幾款處理器,而Linux的普適性更強,于是開始學習Linux。?嵌入式Linux跟硬件緊密結合,而我又喜歡搗鼓些小玩意,這即符合技術潮流又能滿足我的興趣,所以一開始就很有激情。?激情不能長久,我很幸運在自學半年后能找到一份做Linux的工作,興趣跟工作吻合,這太幸福了。
在工作過程中也會厭倦,但是工作的壓力促使我去做更深地專研,慢慢地Linux已經成為我人生的一部分。?現在做Linux培訓視頻,學生們憑借所學知識找到好工作,還有些人會特意上門拜訪;工程師們學習后提升了技術能力漲了工資,這讓我感覺很好,這也是我不斷錄制視頻的原因。
**CSDN:在嵌入式開發方面有著近十年的開發經驗,你是通過哪些方式來提升自己的 開發技能的呢?對嵌入式Linux開發方面有什么特別的喜好嗎?**
**韋東山:碰到問題,全心去解決問題,這就是提升技能的唯一方法,它勝過看100本書,勝過看100套視頻。**書和視頻只能帶你入門,要提升技能必須碰到難題并嘗試去解決它,在解決過程中你會猜想各種原因,把完全無關的技術融會貫通。?以前我只做Linux驅動,現在傾向于做完整的系統,這也是一步一步提升的過程。所謂系統就是“整套產品”,它涉及硬件,操作系統、驅動程序、?上層應用,甚至還有后臺的服務器。
在做系統的同時,我還喜歡“玩”,做一些功能單一的小產品,比如座機來電閃、小孩一靠近電視就花屏的小設備,有人喜歡網絡游戲有人喜歡逛街,?而這就是我的“電子游戲”。
**寫書難忘的經歷:足不出戶,邊學邊寫**?
**CSDN:你所編寫的《嵌入式Linux應用開發完全手冊》一書頗受開發者好評,在出書過程中有什么難忘的回憶嗎?**
**韋東山:**老實說,這書也只是適逢其時,它的很多內容都可以在網絡上搜到,只是2008年那時還沒有人把它整理出來。比如對于UBoot,你可以找到很多修改方法,但是沒人告訴你修改的理由,也沒有人從整體去分析它。?寫書的過程很痛苦,工作時只要求你“會”——可以解決問題就行;而寫書則要求你“從根源上會”,還要“會講”。
我在腦中反復模擬講解,寫書時反復修改句子,2007年寫書這一年,讓我對Linux技術的理解更深了。確實很難忘這段經歷:在深圳白石洲的民房里,墻上貼著章節的進度,足不出戶,邊學邊寫。
**CSDN:?Linux 4.1版本中宣稱將引入大量匯編代碼變更,很多人都說引入大量代碼變更是有風險的,對此,你怎么看?**
**韋東山:**我不會去使用最新的代碼。
- 對于培訓而言,Linux2.6跟Linux4.1沒有本質差別,我常常這樣建議學生:你可以用2.6學習,然后再自己嘗試移植到高版本內核;
- 對于做產品,我也不會輕易更換內核,前期工作不能說扔就扔,并且更換有風險,需謹慎。
CSDN:曾有一段時間你是自由職業者,是什么原因讓你走上創業道路的?
**韋東山:**想自由,不想上班,不想聽鬧鐘起床,這就是做自由職業者的原因。后來發現這是一個坑,單身時沒任何問題,但是結婚后生活壓力還是會促使你早早起床干活,自由職業者反而不自由。?于是還是開公司吧,為了給小弟們樹立榜樣,現在的我比在中興上班時起床更早。
**CSDN:為何取名叫“百問”?這是一家什么樣類型的公司?**
**韋東山:**寫書時,就想到要給學生們答疑,他們會有成百上千的問題,我希望自己都能解答。所以,起名為?[百問](http://www.100ask.net/)。現在我們主要是做嵌入式Linux培訓視頻,致力于給學生、工程師提供培訓。
- 對于學生,如果你還在玩單片機,那么可以嘗試進入Linux。?我們會先把ARM板子作為單片機使用GUN工具鏈開發,這能讓你更深刻理解單片機技術,因為IAR、KEIL等工具封裝得太好了,讓你看不見技術細節。
- 有志于開發智能硬件、可穿戴設備、物聯網、智能家居等的人,只要這些硬件涉及比較復雜的功能,都可以從我們的視頻得到幫助。
**最大的感悟:累**
**CSDN:從一名資深的軟件工程師到圖書作者,再到百問科技締造者,這期間給你最大的感悟是什么?**
**韋東山:**以前工作很單純,現在工作很繁雜;以前只想著技術,現在還要想著利潤;以前只需要自己高興,現在還要想想能給同事帶來什么。?最大的感悟就是:累,回不到過去了,也不想回去了。
**CSDN:你認為要成為一名優秀的嵌入式Linux開發工程師應該會哪些技術,具備哪些職業素養?**
**韋東山:**我認為,優秀的工程師要具備全系統的技術能力,應了解公司業務、應用程序,底層系統,甚至還要了解下硬件;不能只滿足于單點技術,如果你只會寫驅動程序的話,那么,飯碗也是不牢靠的。
在素養上:要有自學能力,碰到問題時要能全心去解決它。
**CSDN:你最喜愛的開發工具有哪些?在日常工作中會用到哪些?**
**韋東山:**Souce Insight,它是我看代碼、寫代碼必不可少的工具,也是因為它我才沒有拋棄Windows;UltraEdit比記事本好用;?vmware,我還在Windows下工作,所以用vmware虛擬機裝Linux很必要。
**CSDN:嵌入式開發一直是非常火爆的技術領域,你怎么看當前嵌入式的發展和應用?另外,當下移動互聯網和云計算大行其道,你覺得嵌入式開發未來都有哪些發展機遇?**
**韋東山:**現在興起的硬件熱潮,對于嵌入式Linux是一個很大的推動,比如智能硬件、可穿戴設備、物聯網、智能家居等。比較簡單的功能可以用單片機實現,但是一旦涉及WiFi、視頻、圖像等,就要用Linux了。?移動互聯網和云計算,它們跟嵌入式并不是互相競爭的關系,因為它們總得有一個硬件來承載,而這個硬件基本上就要運行Linux。
**程序員,應時刻不忘學習**
**CSDN:對嵌入式Linux開發領域的開發者有哪些建議?分享下心得和體會。**
**韋東山:**在國內有一個殘酷的現實問題,很多公司傾向于招更年輕的、剛畢業的人,作為一個程序員,我們必須提升自己的能力,時刻學習。
10年前很多單片機玩得很好的工程師,現在的擇業范圍真的開始變窄。系統!系統!!你必須掌握整個系統,業務邏輯到底層實現、從上到下的整套技術。?我們要常常想,如果我現在換個公司,能做什么?能力可以滿足嗎?懷著跳槽心盡早學習。
很多人會問道“是選擇學習Android、?iOS還是嵌入式Linux?
”“在滿足現實需求的同時,盡量憑興趣,這是我不變地回答。”東山老師如是說。
在文章結尾說一下:本人力挺韋大大,有他的視頻你入門更快,剩下的就是自己專研了。